]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / ChangeLog
1 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4
5 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
6
7 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
8 giving it to GNU Mach.
9
10 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11
12 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13 GNU partition number to get internal GRUB partition number.
14
15 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16
17 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19
20 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21
22 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24 case.
25
26 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27
28 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29
30 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31
32 Fix build problem.
33
34 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
35 `-isystem=$(srcdir)/include'.
36
37 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
38
39 * util/i386/pc/grub-install.in: Remove hint that device.map should be
40 checked (grub-install doesn't currently rely on it).
41
42 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
43
44 Revert SVN r2660.
45
46 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
47 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
48 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
49 * conf/i386-ieee1275.rmk: Likewise.
50 * conf/i386-pc.rmk: Likewise.
51 * conf/powerpc-ieee1275.rmk: Likewise.
52 * conf/sparc64-ieee1275.rmk: Likewise.
53 * conf/x86_64-efi.rmk: Likewise.
54
55 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
56
57 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
58
59 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
60
61 * include/grub/misc.h: Stop checking for APPLE_CC.
62
63 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
64
65 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
66 doesn't cause an infinite call loop.
67
68 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
69
70 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
71 strings.
72
73 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
74
75 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
76 variable.
77 * Makefile.in: Likewise.
78
79 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
80
81 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
82
83 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
84
85 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
86
87 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
88
89 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
90
91 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
92
93 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
94 from here ...
95 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
96
97 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
98
99 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
100 in $(MAKEINFO) invocation. This makes it clear in output that
101 errors are being ignored.
102
103 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
104
105 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
106 from here ...
107 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
108 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
109 * conf/i386-ieee1275.rmk: Likewise.
110 * conf/i386-pc.rmk: Likewise.
111 * conf/powerpc-ieee1275.rmk: Likewise.
112 * conf/sparc64-ieee1275.rmk: Likewise.
113 * conf/x86_64-efi.rmk: Likewise.
114
115 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
116
117 * util/grub-editenv.c (main): If only a command is given, use
118 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
119 (usage): FILENAME is now optional and has a default.
120
121 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
122
123 Improve grub-mkconfig performance when there are several menu
124 entries on a single filesystem.
125
126 * util/grub.d/10_linux.in (linux_entry): Cache the output of
127 prepare_grub_to_access_device.
128 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
129 * util/grub.d/30_os-prober.in: Likewise.
130
131 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
132
133 * util/grub.d/10_freebsd.in: Remove.
134 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
135 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
136
137 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
138
139 * docs/grub.cfg: Fix example usage of *BSD loaders.
140
141 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
142
143 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
144 grub_util_error() call.
145
146 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
147
148 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
149 `reserved_first_sector' member.
150 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
151 `reserved_first_sector' to 1.
152 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
153 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
154 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
155 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
156 filesystems which begin at first sector.
157 (options): New option --skip-fs-probe.
158 (main): Handle --skip-fs-probe and pass it to setup().
159
160 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
161
162 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
163 (memset): Fix function prototype.
164
165 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
166 2009-10-25 Vasily Averin <vvs@parallels.com>
167
168 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
169 `dirent.direntlen == 0'.
170
171 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
172
173 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
174 `cpio'.
175 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
176
177 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
178
179 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
180 `__trampoline_setup' and `__ucmpdi2'.
181 * include/grub/powerpc/libgcc.h: Only export symbols for functions
182 that libgcc provides.
183
184 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
185
186 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
187 * include/grub/sparc64/libgcc.h (memset): Likewise.
188 * include/grub/misc.h (memset, memcmp): New function prototypes.
189
190 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
191
192 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
193 `cpio'.
194 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
195
196 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
197
198 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
199 * docs/grub.cfg: Compensate for recent change in multiboot
200 loader (since 2009-08-14 it won't pass filename to payload).
201 * util/grub.d/10_hurd.in: Likewise.
202
203 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
204
205 * config.guess: Update to latest version from config git
206 repository.
207 * config.sub: Likewise.
208
209 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
210
211 Fix build on sparc64.
212
213 * configure.ac: Perform checks for libgcc symbols before
214 adding `-nostdlib' to LDFLAGS.
215
216 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
217
218 Let user specify OpenBSD root device.
219
220 * loader/i386/bsd.c (openbsd_root): New variable.
221 (openbsd_opts): New option 'root'.
222 (OPENBSD_ROOT_ARG): New macro.
223 (grub_openbsd_boot): Use 'openbsd_root'.
224 (grub_cmd_openbsd): Fill 'openbsd_root'.
225
226 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
227
228 * NEWS: Misc adjustments.
229
230 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
233
234 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
235
236 * configure.ac: Bump version to 1.97.
237
238 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
239
240 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
241 -mno-3dnow on x86 architectures. Some toolchains enable these
242 features by default, but they rely on registers that aren't enabled
243 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
244
245 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
246
247 Make entry text a bit more readable.
248
249 * util/grub.d/10_linux.in: Add `with' before `Linux'.
250
251 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
254
255 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
258 operations.
259
260 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * configure.ac: Add missing dollar.
263
264 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
267
268 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
269 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
270 exports.
271 * include/grub/sparc64/libgcc.h: Likewise. Use
272 preprocessor conditionals.
273
274 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
275
276 * conf/common.rmk (grub-dumpbios): Remove rule.
277 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
278 * util/grub-dumpbios.in: Remove file.
279
280 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
281
282 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
283 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
284
285 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
286 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
287 users.
288
289 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
290 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
291 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
292 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
293 users.
294
295 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
296
297 * term/tparm.c: Switch to GPLv3.
298
299 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
300
301 * include/grub/i386/cpuid.h: Add header protection.
302
303 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
304
305 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
306
307 * include/grub/i386/cpuid.h: New file.
308 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
309 (has_longmode): Rename to ...
310 (grub_cpuid_has_longmode): ... this. Update all users. Remove
311 `static' attribute.
312 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
313 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
314 on a CPU that doesn't implement AMD64 instruction set.
315
316 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
317
318 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
319 that version.texi is rebuilt on version number changes.
320
321 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
322
323 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
324 Fixes bug #27602.
325
326 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
327
328 * util/i386/pc/grub-install.in: Source
329 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
330 that the --grub-probe option will work.
331 * util/sparc64/ieee1275/grub-install.in: Likewise.
332
333 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
334
335 * configure.ac: Bump version to 1.97~beta4.
336
337 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
338
339 Resync grub-mkdevicemap in x86_64-efi.
340
341 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
342 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
343 `util/devicemap.c'.
344
345 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
346
347 * util/grub-editenv.c (create_envblk_file): Write new block with a
348 .new suffix and then rename it into place, to ensure atomic
349 creation.
350
351 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
352
353 Do not automatically install headers.
354
355 * Makefile.in (include_DATA): Remove. Update all users.
356
357 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
358
359 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
360 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
361
362 * util/osdetect.lua: Remove.
363 * script/lua/lauxlib.c: Likewise.
364 * script/lua/ldebug.c: Likewise.
365 * script/lua/grub_main.c: Likewise.
366 * script/lua/lauxlib.h: Likewise.
367 * script/lua/ldebug.h: Likewise.
368 * script/lua/ltablib.c: Likewise.
369 * script/lua/liolib.c: Likewise.
370 * script/lua/lstrlib.c: Likewise.
371 * script/lua/lualib.h: Likewise.
372 * script/lua/ldo.c: Likewise.
373 * script/lua/ldump.c: Likewise.
374 * script/lua/ldo.h: Likewise.
375 * script/lua/loslib.c: Likewise.
376 * script/lua/lundump.c: Likewise.
377 * script/lua/grub_lib.c: Likewise.
378 * script/lua/ldblib.c: Likewise.
379 * script/lua/lundump.h: Likewise.
380 * script/lua/lmem.c: Likewise.
381 * script/lua/grub_lib.h: Likewise.
382 * script/lua/lmathlib.c: Likewise.
383 * script/lua/lstate.c: Likewise.
384 * script/lua/ltm.c: Likewise.
385 * script/lua/lvm.c: Likewise.
386 * script/lua/lmem.h: Likewise.
387 * script/lua/lstate.h: Likewise.
388 * script/lua/ltm.h: Likewise.
389 * script/lua/ltable.c: Likewise.
390 * script/lua/lvm.h: Likewise.
391 * script/lua/llex.c: Likewise.
392 * script/lua/lgc.c: Likewise.
393 * script/lua/grub_lua.h: Likewise.
394 * script/lua/loadlib.c: Likewise.
395 * script/lua/lfunc.c: Likewise.
396 * script/lua/lopcodes.c: Likewise.
397 * script/lua/lparser.c: Likewise.
398 * script/lua/ltable.h: Likewise.
399 * script/lua/llex.h: Likewise.
400 * script/lua/lgc.h: Likewise.
401 * script/lua/lfunc.h: Likewise.
402 * script/lua/lbaselib.c: Likewise.
403 * script/lua/lopcodes.h: Likewise.
404 * script/lua/lparser.h: Likewise.
405 * script/lua/lzio.c: Likewise.
406 * script/lua/linit.c: Likewise.
407 * script/lua/lobject.c: Likewise.
408 * script/lua/llimits.h: Likewise.
409 * script/lua/lstring.c: Likewise.
410 * script/lua/lzio.h: Likewise.
411 * script/lua/lapi.c: Likewise.
412 * script/lua/lcode.c: Likewise.
413 * script/lua/lua.h: Likewise.
414 * script/lua/lobject.h: Likewise.
415 * script/lua/lstring.h: Likewise.
416 * script/lua/lapi.h: Likewise.
417 * script/lua/lcode.h: Likewise.
418 * script/lua/luaconf.h: Likewise.
419
420 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
421
422 * docs/grub.texi (Command-line and menu entry commands): Document
423 date and echo commands.
424
425 2009-09-24 Pavel Roskin <proski@gnu.org>
426
427 * include/grub/kernel.h (struct grub_module_header): Remove
428 `grub_module_header_types'. Make `type' unsigned. Make `size'
429 32-bit on all platforms.
430 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
431 8-bit field. Use grub_host_to_target32() for `size'.
432 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
433 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
434 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
435
436 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
437
438 Fix "lost keypress" bug in at_keyboard.
439
440 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
441 Checks for readyness of input buffer (without flushing it).
442 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
443 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
444
445 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
446
447 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
448 size check within GRUB_MACHINE_PCBIOS section.
449
450 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
451
452 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
453 return value.
454 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
455 KEYBOARD_ISREADY check.
456 (grub_at_keyboard_checkkey): Rename to ...
457 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
458 Remove gratuitous cast.
459
460 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
461
462 * configure.ac: Call AC_PROG_MKDIR_P.
463 * Makefile.in (docs/stamp-vti): Create docs directory. Create
464 version.texi in $(builddir) rather than $(srcdir).
465 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
466 to makeinfo's @include search path.
467
468 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
469
470 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
471
472 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
473
474 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
475 for `*.dpkg-new'.
476
477 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
478
479 Build info documentation. Some code borrowed from Automake.
480
481 * configure.ac: Check for makeinfo.
482 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
483 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
484 docs/version.texi.
485 (MOSTLYCLEANFILES): Add vti.tmp.
486 (docs/version.texi, docs/stamp-vti): Update automatically.
487 (docs/grub.info): Build info documentation. Use --force and ignore
488 errors for now.
489 (all-local): Add $(INFOS).
490 (install-local): Install info files.
491 (uninstall): Uninstall info files.
492 * docs/version.texi: Remove from revision control. This file is
493 automatically generated on build now.
494 * gendistlist.sh: Add `*.info'.
495
496 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
497
498 * kern/term.c: Fix indentation.
499
500 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
501
502 * util/hostdisk.c: Fix a comment.
503
504 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
505
506 Fix regression introduced in r2539.
507
508 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
509 to 0xA1.
510
511 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
512
513 * util/grub.d/30_os-prober.in: Don't throw away stderr from
514 os-prober. Under normal operation, it does not print anything to
515 stderr; if it does, we need to debug it, and throwing away stderr
516 makes that excessively difficult.
517
518 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
521
522 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
523
524 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
525 AC_LANG_PROGRAM from autoconf.
526 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
527 prototypes (fixes warning).
528
529 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
530 `--disable-werror' was used.
531
532 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
533
534 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
535 uninitialized `lastaddr'.
536
537 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
540
541 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
542
543 * commands/test.c (get_fileinfo): Return immediately if
544 grub_fs_probe fails.
545
546 2009-09-14 José Martínez <xosemp@gmail.com>
547
548 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
549
550 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
551
552 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
553 output.
554
555 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
556
557 * configure.ac: Remove --enable-grub-pe2elf. Only build
558 grub-pe2elf when needed by the build system itself.
559 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
560
561 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
562
563 * configure.ac: Bump version to 1.97~beta3.
564 * docs/version.texi: Likewise.
565
566 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
567
568 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
569 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
570 from here ...
571 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
572 (grub_linux_setup_video): ... to here (with some adjustments).
573
574 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
575
576 Fix memory corruption issue (spotted by Colin Watson).
577
578 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
579 causing returned size to be stored in an incorrect memory location.
580 Fix use of uninitialized value when storing the returned size.
581
582 2009-09-12 Yves Blusseau <blusseau@zetam.org>
583
584 Change clean rules to properly remove files
585
586 * genmk.rb: add new clean rules
587 * Makefile.in (clean): add the new targets
588 (mostlyclean): likewise
589
590 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
591
592 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
593 to grub_uint64_t.
594 * fs/ntfs.c (init_file): Understand 64-bit sizes for
595 non-resident files.
596
597 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
598
599 * configure.ac: Don't look for help2man when cross-compiling. Fixes
600 part of bug #27349.
601
602 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
603
604 * util/grub-mkconfig.in: Make the created config mode 400 and
605 print a warning if it fails.
606
607 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
608
609 * util/grub.d/40_custom.in: Ask user to type custom entries below
610 comment, rather than below 'exec tail' line.
611
612 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
613
614 * util/grub.d/40_custom.in: Make sure that the explanatory text is
615 visible in grub.cfg.
616
617 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
618
619 * util/grub.d/40_custom.in: Make it a little clearer how to use this
620 file.
621
622 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
623
624 * docs/grub.cfg: Add an example menu entry for memtest86+.
625
626 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
627
628 * config.guess: Update to latest version from config git.
629 * config.sub: Likewise.
630
631 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
632
633 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
634 unknown-command case. Fixes bug #27320.
635
636 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
637
638 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
639 `help' if the command exists.
640
641 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
642
643 * INSTALL: Require GCC 4.1.3 or later.
644
645 2009-09-06 Yves Blusseau <blusseau@zetam.org>
646
647 * Makefile.in (RMKFILES): add i386-qemu.rmk
648 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
649 $(srcdir)/stamp-h.in
650
651 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
652
653 * util/grub-probe.c (probe): Comment out buggy codepath, which
654 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
655 should be re-enabled after 1.97.
656
657 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
658
659 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
660 find searches for.
661
662 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
665 unnecessary calls to grub_error.
666
667 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
668
669 * NEWS: Mention `keystatus' and Unicode fonts.
670
671 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
672
673 * configure.ac: Bump version to 1.97~beta2.
674 * docs/version.texi: Likewise.
675
676 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
677
678 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
679 containing unwind information in some cases where it previously did
680 not. Use -fno-dwarf2-cfi-asm if available to restore the old
681 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
682 discussion.
683
684 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
685
686 Embedding loadenv module into grub-emu
687
688 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
689 commands/loadenv.c
690 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
691 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
692 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
694 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
696
697 2009-09-03 Magnus Granberg <zorry@ume.nu>
698
699 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
700 include -fPIE in the default specs.
701 * configure.ac: Check if pie_possible is yes and add -fno-PIE
702 to TARGET_CFLAGS.
703
704 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
705
706 * INSTALL: Note that GNU Bison 2.3 or later is required.
707
708 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
709
710 * kern/i386/pc/startup.S: Fix typo.
711
712 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
715 according to GCS.
716
717 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
718
719 * docs/grub.texi (Naming convention): Describe one-based partition
720 numbering.
721 (Device syntax): Likewise.
722 (File name syntax): Likewise.
723 (Block list syntax): Likewise.
724 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
725 menu.lst.
726 (File name syntax): Likewise.
727 (Command-line and menu entry commands): Document acpi, blocklist,
728 crc, export, insmod, keystatus, ls, set, and unset commands.
729
730 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
731
732 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
733 to avoid implying that only one of --shift, --ctrl, or --alt may be
734 used.
735
736 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
737
738 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
739 rather than comparing against S_IFREG, which will almost never work.
740
741 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
744 (write_blocklists): Likewise.
745
746 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
747
748 * script/lua/grub_lua.h (fputs): Supply a format string as the first
749 argument to grub_printf.
750
751 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
752
753 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
754 non GNU test.
755
756 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * kern/file.c (grub_file_read): Spelling fix
759
760 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
763 loading of headers in some cases.
764
765 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
766
767 * configure.ac: Bump version to 1.97~beta1.
768 * docs/version.texi: Likewise.
769
770 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * include/grub/i386/xnu.h: Add license header.
773 include grub/err.h explicitly.
774
775 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
776
777 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
778 to `ufs' in the vfs.root.mountfrom kernel parameter.
779
780 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
781
782 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
783
784 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
785 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
786
787 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
788 `ARRAY_SIZE' macro.
789
790 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * kern/file.c (grub_file_read): Check offset.
793 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
794 * fs/jfs.c (grub_jfs_read_file): Likewise.
795 * fs/ntfs.c (grub_ntfs_read): Likewise.
796 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
797 * fs/minix.c (grub_minix_read_file): Correct offset check.
798 * fs/ufs.c (grub_ufs_read_file): Likewise.
799
800 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
801
802 * term/i386/pc/console.c (bios_data_area): Cast
803 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
804
805 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
806
807 1-bit optimised blitters.
808
809 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
810 prototype.
811 (grub_video_fbblit_replace_24bit_1bit): Likewise.
812 (grub_video_fbblit_replace_16bit_1bit): Likewise.
813 (grub_video_fbblit_replace_8bit_1bit): Likewise.
814 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
815 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
816 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
817 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
818 function.
819 (grub_video_fbblit_replace_24bit_1bit): Likewise.
820 (grub_video_fbblit_replace_16bit_1bit): Likewise.
821 (grub_video_fbblit_replace_8bit_1bit): Likewise.
822 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
823 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
824 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
825 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
826 when possible.
827 * video/video.c (grub_video_get_blit_format): Return
828 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
829
830 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
831
832 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
833 the first argument to grub_printf.
834
835 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
836 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
837
838 Add `getkeystatus' terminal method. Add a new `keystatus' command
839 to query it.
840
841 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
842 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
843 modifier key bitmasks.
844 (struct grub_term_input): Add `getkeystatus' member.
845 (grub_getkeystatus): Add prototype.
846 * kern/term.c (grub_getkeystatus): New function.
847
848 * include/grub/i386/pc/memory.h
849 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
850 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
851 Data Area layout.
852 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
853 (grub_console_term_input): Set `getkeystatus' member.
854 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
855 constants.
856 (grub_usb_keyboard_getreport): Likewise.
857 (grub_usb_keyboard_checkkey): Likewise.
858 (grub_usb_keyboard_getkeystatus): New function.
859 (grub_usb_keyboard_term): Set `getkeystatus' member.
860
861 * commands/keystatus.c: New file.
862 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
863 (keystatus_mod_SOURCES): New variable.
864 (keystatus_mod_CFLAGS): Likewise.
865 (keystatus_mod_LDFLAGS): Likewise.
866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
867 commands/keystatus.c.
868 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
872 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
873 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
874
875 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Split befs.mod and afs.mod into *_be.mod and *.mod
878
879 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
880 (grub_fstest_SOURCES): Likewise.
881 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
882 (afs_be_mod_SOURCES): New variable.
883 (afs_be_mod_CFLAGS): Likewise.
884 (afs_be_mod_LDFLAGS): Likewise.
885 (befs_be_mod_SOURCES): Likewise.
886 (befs_be_mod_CFLAGS): Likewise.
887 (befs_be_mod_LDFLAGS): Likewise.
888 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
889 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
890 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
891 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
892 (grub_emu_SOURCES): Likewise.
893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
894 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
895 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
896 * fs/afs_be.c: New file.
897 * fs/befs_be.c: New file.
898 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
899 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
900 (U16): Replaced with ...
901 (grub_afs_to_cpu16): ...this. All users updated.
902 (U32): Replaced with ...
903 (grub_afs_to_cpu32): ...this. All users updated.
904 (U64): Replaced with ...
905 (grub_afs_to_cpu64): ...this. All users updated.
906 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
907 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
908 (grub_afs_validate_sblock): Check only one endianness.
909 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
910 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
911 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
912 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
913 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
914 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
915 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
916 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
917
918 2009-08-26 Bean <bean123ch@gmail.com>
919
920 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
921 64-bit number.
922 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
923 (grub_xfs_inode_block): Change return type to grub_uint64_t.
924 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
925
926 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
927
928 NetBSD memory map support.
929
930 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
931 (grub_netbsd_btinfo_mmap_header): New structure.
932 (grub_netbsd_btinfo_mmap_entry): Likewise.
933 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
934
935 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Enable bsd.mod on coreboot.
938
939 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
940 (bsd_mod_SOURCES): New variable.
941 (bsd_mod_CFLAGS): Likewise.
942 (bsd_mod_LDFLAGS): Likewise.
943 (bsd_mod_ASFLAGS): Likewise.
944 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
945 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
946
947 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Cleanup NetBSD root support.
950
951 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
952 grub_bsd_get_device.
953 Fix typo.
954
955 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
956
957 * util/grub.d/00_header.in: Move check for the video backend of
958 gfxterm from here ...
959 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
960 a suitable video backend.
961
962 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Fix breakage in grub-setup.
965
966 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
967 "msdos_partition_map".
968
969 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Fix breakage in normal/auth.c.
972
973 * normal/auth.c (grub_iswordseparator): New function.
974
975 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
976
977 Authentication support.
978
979 * commands/password.c: New file.
980 * conf/common.rmk (pkglib_MODULES): Add password.mod.
981 (password_mod_SOURCES): New variable.
982 (password_mod_CFLAGS): Likewise.
983 (password_mod_LDFLAGS): Likewise.
984 (normal_mod_SOURCES): Add normal/auth.c.
985 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
986 normal/auth.c.
987 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
988 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
989 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
991 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
992 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
993 * include/grub/auth.h: New file.
994 * include/grub/err.h (grub_err_t): New enum value
995 GRUB_ERR_ACCESS_DENIED.
996 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
997 'users'.
998 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
999 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1000 users updated.
1001 * normal/auth.c: New file.
1002 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1003 (grub_cmdline_run): Don't allow to go to command line without
1004 authentication.
1005 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1006 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1007 menuentry without superuser rights.
1008 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1009 user isn't a superuser.
1010
1011 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Save space by inlining misc.c functions.
1014
1015 * kern/misc.c (grub_iswordseparator): Made static.
1016 * kern/misc.c (grub_strcat): Moved from here ...
1017 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1018 * kern/misc.c (grub_strncat): Moved from here ...
1019 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1020 * kern/misc.c (grub_strcasecmp): Moved from here ...
1021 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1022 * kern/misc.c (grub_strncasecmp): Moved from here ...
1023 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1024 * kern/misc.c (grub_isalpha): Moved from here ...
1025 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1026 * kern/misc.c (grub_isdigit): Moved from here ...
1027 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1028 * kern/misc.c (grub_isgraph): Moved from here ...
1029 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1030 * kern/misc.c (grub_tolower): Moved from here ...
1031 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1032
1033 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * script/sh/function.c (grub_script_function_find): Cut error message
1036 not to flood terminal.
1037 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1038 limit.
1039 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1040
1041 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
1042
1043 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1044 `report' grub_uint8_t *.
1045 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1046 Use a 50-millisecond timeout rather than just repeating
1047 grub_usb_keyboard_getreport 50 times.
1048 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1049
1050 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 Rename *_partition_map to part_*
1053
1054 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1055 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1056 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1057 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1058 All users updated.
1059 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1060 All users updated.
1061 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1062 * util/grub-probe.c (probe_partmap): Don't transform partition name
1063 to get module name.
1064
1065 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 Fix OpenBSD and NetBSD support.
1068
1069 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1070 memory address conflict.
1071 (OPENBSD_MMAP_ACPI): New definition.
1072 (OPENBSD_MMAP_NVS): Likewise.
1073 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
1074 and OPENBSD_MMAP_NVS.
1075 Add memory map terminator
1076 Explicit cast when calling grub_unix_real_boot.
1077 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
1078
1079 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Let user specify NetBSD root device.
1082
1083 * loader/i386/bsd.c (netbsd_root): New variable.
1084 (netbsd_opts): New option 'root'.
1085 (NETBSD_ROOT_ARG): New macro.
1086 (grub_netbsd_boot): Use 'netbsd_root'.
1087 (grub_bsd_unload): Free 'netbsd_root'.
1088 (grub_cmd_netbsd): Fill 'netbsd_root'.
1089
1090 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 Support for 64-bit NetBSD.
1093
1094 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
1095 point when booting non-FreeBSD.
1096
1097 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Support --no-smp and --no-acpi for NetBSD.
1100
1101 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
1102 (NETBSD_AB_NOACPI): Likewise.
1103 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
1104 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
1105
1106 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
1109 errors.
1110 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
1111 errors. Call grub_error when needed.
1112
1113 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * commands/search.c (search_fs): Try searching without autoload first.
1116 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1117 filesystem module explicitly for faster booting.
1118
1119 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
1120
1121 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
1122
1123 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
1124
1125 * util/grub.d/30_os-prober.in: Disable os-prober if
1126 `GRUB_DISABLE_OS_PROBER' was set to true.
1127
1128 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
1129
1130 * partmap/pc.c: Rename to ...
1131 * partmap/msdos.c: ... this. Update all users.
1132 (grub_pc_partition_map): Rename to ...
1133 (grub_msdos_partition_map): ... this. Update all users.
1134
1135 * parttool/pcpart.c: Rename to ...
1136 * parttool/msdospart.c: ... this. Update all users.
1137
1138 * include/grub/pc_partition.h: Rename to ...
1139 * include/grub/msdos_partition.h: ... this. Update all users.
1140 (grub_pc_partition_bsd_entry): Rename to ...
1141 (grub_msdos_partition_bsd_entry): ... this. Update all users.
1142 (grub_pc_partition_disk_label): Rename to ...
1143 (grub_msdos_partition_disk_label): ... this. Update all users.
1144 (grub_pc_partition_entry): Rename to ...
1145 (grub_msdos_partition_entry): ... this. Update all users.
1146 (grub_pc_partition_mbr): Rename to ...
1147 (grub_msdos_partition_mbr): ... this. Update all users.
1148 (grub_pc_partition): Rename to ...
1149 (grub_msdos_partition): ... this. Update all users.
1150 (grub_pc_partition_is_empty): Rename to ...
1151 (grub_msdos_partition_is_empty): ... this. Update all users.
1152 (grub_pc_partition_is_extended): Rename to ...
1153 (grub_msdos_partition_is_extended): ... this. Update all users.
1154 (grub_pc_partition_is_bsd): Rename to ...
1155 (grub_msdos_partition_is_bsd): ... this. Update all users.
1156
1157 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
1158 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
1159 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
1160 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
1161 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
1162 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
1163 (gpt_mod_LDFLAGS): Rename to ...
1164 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
1165 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
1166 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
1167 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
1168 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
1169 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
1170 (part_gpt_mod_LDFLAGS): ... this.
1171 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
1172 `pcpart.mod' to `msdospart.mod'.
1173 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
1174 to ...
1175 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
1176 (msdospart_mod_LDFLAGS): ... this.
1177
1178 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
1181 (openbsd_opts): Likewise.
1182 (netbsd_opts): Likewise.
1183 (freebsd_flags): Added 0 terminator.
1184 (openbsd_flags): Likewise.
1185 (netbsd_flags): Likewise.
1186 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
1187 (grub_cmd_freebsd): Transformed into extended command.
1188 (grub_cmd_openbsd): Likewise.
1189 (grub_cmd_netbsd): Likewise.
1190 (cmd_freebsd): Changed type to grub_extcmd_t.
1191 (cmd_openbsd): Likewise.
1192 (cmd_netbsd): Likewise.
1193 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
1194 grub_cmd_openbsd as extended commands.
1195 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
1196 cmd_netbsd and cmd_openbsd
1197
1198 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
1201
1202 2009-08-21 Pavel Roskin <proski@gnu.org>
1203
1204 * Makefile.in (install-local): When checking if a file is in the
1205 build directory, use "test -e" to detect symlinks.
1206
1207 * Makefile.in (install-local): Remove all files in
1208 $(DESTDIR)$(pkglibdir) before installing new files there.
1209
1210 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
1211
1212 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
1213 grub-mkelfimage.
1214
1215 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
1216
1217 * util/grub-mkconfig.in: Don't use gfxterm by default if not
1218 explicitly specified by the user.
1219
1220 2009-08-18 Pavel Roskin <proski@gnu.org>
1221
1222 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
1223 grub_uint8_t pointer for data.
1224 * include/grub/fbutil.h (struct grub_video_fbblit_info):
1225 Likewise.
1226 * video/fb/fbutil.c: Remove unnecessary casts.
1227
1228 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
1229
1230 VBE cleanup.
1231
1232 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
1233 (grub_vbe_set_video_mode): Save active mode info
1234 only after setting the mode.
1235 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
1236 second argument.
1237
1238 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
1239
1240 Rename variables for clarity.
1241
1242 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
1243 (active_vbe_mode_info): ... this. All users updated.
1244 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
1245 All users updated.
1246 (initial_mode): Rename to ...
1247 (initial_vbe_mode): ... this. All users updated.
1248 (mode_in_use): Rename to ..
1249 (vbe_mode_in_use): ... this. All users updated.
1250 (mode_list): Rename to ..
1251 (vbe_mode_list): ... this. All users updated.
1252 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
1253 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
1254 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
1255 'mode_list_size' to 'vbe_mode_list_size'.
1256 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
1257 'best_mode_info' to 'best_vbe_mode_info' and
1258 'best_mode' to 'best_vbe_mode'
1259
1260 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
1261
1262 Remove duplicate grub_video_fb_get_video_ptr.
1263
1264 * include/grub/fbutil.h (get_data_ptr): Rename to ...
1265 (grub_video_fb_get_video_ptr): ... this.
1266 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
1267 * video/fb/fbutil.c: Add comment about addressing.
1268 (get_data_ptr): Rename to ...
1269 (grub_video_fb_get_video_ptr): ... this. All users updated.
1270 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
1271
1272 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1273
1274 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
1275 grub_dprintf() that was just added.
1276
1277 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1278
1279 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
1280 (DEFAULT_VIDEO_MODE): Remove macros.
1281 (grub_linux_boot): Remove assumption that Linux has FB support,
1282 and use "text" as default video mode.
1283
1284 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
1287 grub_dprintf.
1288 * fs/fat.c (grub_fat_read_data): Likewise.
1289
1290 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
1293 payload.
1294 (grub_module): Likewise.
1295
1296 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
1299 mbi->cmdline but free playground.
1300
1301 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Handle group offset on UFS1.
1304
1305 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
1306 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
1307
1308 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 Split ufs.mod into ufs1.mod and ufs2.mod.
1311
1312 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
1313 (grub_fstest_SOURCES): Likewise.
1314 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
1315 (ufs_mod_SOURCES): Remove.
1316 (ufs_mod_CFLAGS): Likewise.
1317 (ufs_mod_LDFLAGS): Likewise.
1318 (ufs1_mod_SOURCES): New variable.
1319 (ufs1_mod_CFLAGS): Likewise.
1320 (ufs1_mod_LDFLAGS): Likewise.
1321 (ufs2_mod_SOURCES): New variable.
1322 (ufs2_mod_CFLAGS): Likewise.
1323 (ufs2_mod_LDFLAGS): Likewise.
1324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
1325 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1326 Likewise.
1327 (grub_emu_SOURCES): Likewise.
1328 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1329 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1330 (grub_setup_SOURCES): Likewise.
1331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1332 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
1333 (grub_setup_SOURCES): Likewise.
1334 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1335 Likewise.
1336 * fs/ufs2.c: New file.
1337 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
1338
1339 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Framebuffer split.
1342
1343 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
1344 subsystem at the end.
1345 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
1346 (video_fb_mod_SOURCES): New variable.
1347 (video_fb_mod_CFLAGS): Likewise.
1348 (video_fb_mod_LDFLAGS): Likewise.
1349 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
1350 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
1351 * video/i386/pc/vbeblit.c: Moved from here ...
1352 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
1353 * video/i386/pc/vbefill.c: Moved from here ...
1354 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
1355 * video/i386/pc/vbeutil.c: Moved from here ...
1356 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
1357 * include/grub/i386/pc/vbeblit.h: Moved from here ...
1358 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
1359 * include/grub/i386/pc/vbefill.h: Moved from here ...
1360 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
1361 * include/grub/i386/pc/vbeutil.h: Moved from here ...
1362 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
1363 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
1364 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
1365 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
1366 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
1367 (grub_video_adapter): Added 'get_info_and_fini'.
1368 (grub_video_get_info_and_fini): New prototype.
1369 (grub_video_set_mode): make modestring const char *.
1370 * loader/i386/linux.c (grub_linux_setup_video): Use
1371 grub_video_get_info_and_fini.
1372 (grub_linux_boot): Move modesetting just before booting.
1373 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
1374 grub_video_get_info_and_fini.
1375 * video/i386/pc/vbe.c: Moved framebuffer part ...
1376 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
1377 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
1378 grub_video_fbstd_colors and grub_video_fb_set_palette.
1379 (grub_video_vbe_init): Clear 'framebuffer' variable and use
1380 grub_video_fb_init.
1381 (grub_video_vbe_fini): Use grub_video_fb_fini.
1382 (grub_video_vbe_setup): Use framebuffer.render_target instead of
1383 render_target and use grub_video_fb_set_active_render_target and
1384 grub_video_fb_set_palette.
1385 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
1386 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
1387 (grub_video_vbe_adapter): Use framebuffer.
1388 * video/video.c (grub_video_get_info_and_fini): New function.
1389 (grub_video_set_mode): Make modestring const char *.
1390 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
1391 values are already initialised.
1392
1393 2009-08-14 Pavel Roskin <proski@gnu.org>
1394
1395 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
1396 ABS and APPLE_CC.
1397 * boot/i386/pc/diskboot.S: Likewise.
1398 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
1399 sectors allow compilation on MacOSX.
1400 * conf/i386-pc.rmk: Enable unconditional compilation of
1401 lnxboot.img.
1402
1403 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
1406 * util/grub.d/00_header.in: Enter interruptible sleep if
1407 GRUB_HIDDEN_TIMEOUT is set.
1408
1409 2009-08-13 Yves Blusseau <blusseau@zetam.org>
1410
1411 * include/grub/symbol.h: Add the LOCAL macro.
1412 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
1413 starting with "L_".
1414
1415 2009-08-13 Pavel Roskin <proski@gnu.org>
1416
1417 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
1418 any modern compilers we support.
1419
1420 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
1421 Use local labels starting with "L_" so that Apple assembler
1422 knows they are local.
1423
1424 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
1425
1426 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
1427 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
1428 (bsd_kernel_types): ... this enum.
1429
1430 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
1431 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
1432 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
1433
1434 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
1435 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
1436 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
1437 messages.
1438
1439 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1440
1441 * util/grub-dumpdevtree: Moved from here ...
1442 * util/i386/efi/grub-dumpdevtree: ... to here.
1443 (hexify): New function. Converts a string to its hex version.
1444 Generate hex versions of "efi" and "device-properties" by calling
1445 hexify() on the ASCII strings rather than by hardcoding numbers.
1446
1447 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1448
1449 * fs/jfs.c: Update copyright year.
1450
1451 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
1452
1453 * util/grub.d/00_header.in: Fix a comment.
1454 * util/grub.d/10_linux.in: Likewise.
1455 * util/grub.d/10_windows.in: Likewise.
1456 * util/grub.d/10_hurd.in: Likewise.
1457
1458 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
1459
1460 * util/grub-mkconfig.in: Allow the user to specify the used font
1461 with GRUB_FONT.
1462
1463 2009-08-08 Pavel Roskin <proski@gnu.org>
1464
1465 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
1466 available, xfs.mod needs it now.
1467
1468 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
1469 the "g" modifier in sed when the intention is to strip something
1470 once. This fixes comparison of kernels with multiple dashes.
1471
1472 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
1473 on it. Add missing space before closing bracket. Fix
1474 misleading formatting.
1475
1476 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1477
1478 * docs/grub.texi: Major overhaul. Remove all sections that are
1479 specific to GRUB Legacy, or mostly composed of Legacy-specific
1480 information.
1481
1482 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1483
1484 * docs/version.texi: New file. Provides version information for
1485 grub.texi.
1486
1487 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1488
1489 * docs/grub.texi: Update CVS information to SVN.
1490 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
1491
1492 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
1493
1494 * util/grub-mkconfig.in: Remove a wrong `fi'.
1495
1496 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
1497
1498 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
1499 (grub_jfs_uuid): New function.
1500 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
1501
1502 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
1503
1504 * util/grub-mkconfig_lib.in (font_path): Move the functionality
1505 of it to ...
1506 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
1507 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
1508
1509 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1510
1511 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
1512 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
1513 Update all users.
1514
1515 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
1516 not just "vmlinu[zx]".
1517 Moved from here ...
1518 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
1519 all users.
1520
1521 * util/grub.d/10_linux.in (find_latest): Moved from here ...
1522 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
1523 all users.
1524
1525 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1526
1527 * util/grub.d/10_freebsd.in: Use an absolute device path for
1528 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
1529
1530 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
1531
1532 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1533 handling of multiple abstraction modules.
1534
1535 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
1536
1537 Fix a bug resulting in black screen when loading Linux using a
1538 packed video mode.
1539
1540 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
1541 function.
1542
1543 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
1544 (grub_vbe_bios_getset_dac_palette_width): New function.
1545 (grub_vbe_bios_get_dac_palette_width)
1546 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
1547 grub_vbe_bios_getset_dac_palette_width()).
1548
1549 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
1550 check for return status.
1551 (grub_vbe_get_video_mode_info): When getting information for a packed
1552 mode (<= 8 bpp), obtain DAC palette width using
1553 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
1554 {red,green,blue}_mark_size.
1555
1556 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
1557
1558 * commands/search.c (options): Fix help output to match actual code.
1559
1560 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
1563 of homegrown code.
1564
1565 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
1568 on XFS or ReiserFS.
1569
1570 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Support Apple partition map with sector size different from 512 bytes.
1573
1574 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
1575 (apple_partition_map_iterate): Respect 'aheader.blocksize'
1576 and 'apart.partmap_size'.
1577
1578 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1579 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
1580
1581 Fix cpuid command.
1582
1583 * commands/i386/cpuid.c (options): New variable.
1584 (grub_cmd_cpuid): Return real error.
1585 (GRUB_MOD_INIT(cpuid)): Declare options.
1586
1587 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
1590 valid.
1591
1592 2009-07-31 Bean <bean123ch@gmail.com>
1593
1594 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
1595 log2_inode.
1596 (grub_fshelp_node): Move inode field to the end.
1597 (grub_xfs_data): Remove inode field.
1598 (grub_xfs_inode_block): Calculate inode size using sblock.
1599 (grub_xfs_inode_offset): Likewise.
1600 (grub_xfs_read_inode): Calculate inode size using sblock.
1601 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
1602 (grub_xfs_iterate_dir): Calculate inode size using sblock.
1603 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
1604 to match inode size.
1605 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
1606 not accessible when data is null.
1607 (grub_xfs_open): Likewise.
1608
1609 2009-07-31 Bean <bean123ch@gmail.com>
1610
1611 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
1612 Don't change pv->disk if it's already set.
1613
1614 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
1615 (grub_raid_register): ... here.
1616 (grub_raid_rescan): Removed.
1617
1618 * include/grub/raid.h (grub_raid_rescan): Removed.
1619
1620 * util/grub-fstest.c: Remove include file <grub/raid.h>.
1621 (fstest): Replace grub_raid_rescan with module fini function followed
1622 by init function.
1623
1624 * util/grub-probe.c: Add include file <grub/raid.h>.
1625 (probe_raid_level): New function.
1626 (probe): Detect abstraction by walking the disk device, support two
1627 level of abstraction (LVM on RAID) when detecting partition map.
1628
1629 2009-07-31 Pavel Roskin <proski@gnu.org>
1630
1631 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
1632 to grub_zalloc(), it was erroneous.
1633 Reported by Bean <bean123ch@gmail.com>
1634
1635 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
1638 embedding zone, not only the first one.
1639
1640 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
1641
1642 * term/gfxterm.c (clear_char): New function.
1643 (grub_virtual_screen_setup): Use clear_char.
1644 (scroll_up): Likewise.
1645 (grub_virtual_screen_cls): Likewise.
1646
1647 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
1648
1649 * util/deviceiter.c (get_acceleraid_disk_name): New static
1650 function.
1651 (grub_util_iterate_devices): Handle Accelraid devices.
1652 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
1653
1654 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
1655
1656 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
1657 separator for the suggested gfxpayload string (';' collides with the
1658 parser and needs escaping).
1659
1660 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
1663 Clear direction flag before jumping to OS.
1664 (grub_multiboot2_real_boot): Likewise.
1665
1666 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
1667
1668 * util/i386/pc/grub-install: Fix parsing of --disk-module
1669 option.
1670
1671 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
1672
1673 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
1674 when embedding.
1675
1676 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
1677
1678 * util/grub-mkconfig.in (package_version): New variable.
1679 Use it do display the version.
1680
1681 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
1682
1683 * kern/file.c (grub_file_open): Revert to previous check with
1684 grub_errno.
1685
1686 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
1689 from help line. It's out of sync with code.
1690
1691 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
1694 entries on failed boot.
1695
1696 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
1697
1698 * kern/file.c (grub_file_open): Fix an error check.
1699
1700 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
1703 partition map couldn't be identified.
1704
1705 2009-07-23 Pavel Roskin <proski@gnu.org>
1706
1707 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
1708 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
1709 case of little endian words becomes just an optimization.
1710 Respect const modifier.
1711 (md5_final): Use code that doesn't depend on endianness.
1712
1713 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
1714 to avoid loss of upper bits if align is unsigned and shorter
1715 than addr.
1716
1717 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 UUID support for UFS
1720
1721 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
1722 (grub_ufs_uuid): New function.
1723 (grub_ufs_fs): add .uuid
1724
1725 2009-07-21 Pavel Roskin <proski@gnu.org>
1726
1727 * kern/dl.c (grub_dl_check_header): Make static.
1728
1729 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
1730
1731 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
1732 add drivemap for Vista. It breaks Windows 7.
1733
1734 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
1737 128 bytes
1738
1739 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 Add BFS support
1742
1743 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
1744 (grub_fstest_SOURCES): Likewise.
1745 (pkglib_MODULES): Add befs.mod.
1746 (befs_mod_SOURCES): New variable.
1747 (befs_mod_CFLAGS): Likewise.
1748 (befs_mod_LDFLAGS): Likewise.
1749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
1750 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1752 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1753 (grub_setup_SOURCES): Likewise.
1754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1755 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1756 (grub_setup_SOURCES): Likewise.
1757 * fs/befs.c: New file.
1758 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
1759 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
1760 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
1761 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
1762 (B_KEY_INDEX_ALIGN): New declaration.
1763 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
1764 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
1765 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
1766 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
1767 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
1768 (grub_afs_mount) [MODE_BFS]: Likewise.
1769 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
1770 (grub_afs_fs): Use GRUB_AFS_FSNAME
1771 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
1772 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
1773 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
1774 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
1775
1776 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
1777
1778 * util/getroot.c (find_root_device): Add support for MacOSX.
1779 * util/hostdisk.c: Likewise.
1780
1781 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * font/font.c (find_glyph): Check whether a font is present to avoid
1784 segmentation fault.
1785
1786 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
1787
1788 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
1789
1790 2009-07-20 Pavel Roskin <proski@gnu.org>
1791
1792 * configure.ac: Trim excessively wordy excuses.
1793
1794 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 Add symlink, mtime and label support to AtheFS.
1797
1798 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
1799 (grub_afs_iterate_dir): Handle symlinks.
1800 (grub_afs_open): Use grub_afs_read_symlink.
1801 (grub_afs_dir): Likewise.
1802 Pass mtime.
1803 (grub_afs_label): New function.
1804 (grub_afs_fs): Add grub_afs_label.
1805 (grub_afs_read_symlink): New function.
1806
1807 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 Fix AtheFS support.
1810
1811 * fs/afs.c: Fix comments style.
1812 (grub_afs_blockrun): Declare as packed.
1813 (grub_afs_datastream): Likewise.
1814 (grub_afs_bnode): Likewise.
1815 (grub_afs_btree): Likewise.
1816 (grub_afs_sblock): Likewise.
1817 Declare `name' as char.
1818 (grub_afs_inode): Declare as packed.
1819 Change void *vnode to grub_uint32_t unused.
1820 (grub_afs_iterate_dir): Check that key_size is positive.
1821 (grub_afs_mount): Don't read superblock twice.
1822 (grub_afs_dir): Don't free node in case of error,
1823 grub_fshelp_find_file already handles this.
1824 (grub_afs_open): Likewise.
1825
1826 2009-07-19 Pavel Roskin <proski@gnu.org>
1827
1828 * Makefile.in: Remove LIBLZO and enable_lzo.
1829 * conf/i386-pc.rmk: Remove lzo support.
1830 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
1831 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
1832 support.
1833 * kern/i386/pc/lzo1x.S: Remove.
1834 * kern/i386/pc/startup.S: Remove lzo support.
1835 * util/i386/pc/grub-mkimage.c: Likewise.
1836
1837 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
1840 * fs/xfs.c (grub_xfs_dir): Likewise.
1841 * fs/afs.c (grub_afs_dir): Likewise.
1842 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1843 (grub_iso9660_open): Likewise.
1844 * fs/jfs.c (grub_jfs_open): Likewise.
1845 * fs/ext2.c (grub_ext2_dir): Likewise.
1846 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
1847 * script/sh/lexer.c (grub_script_yylex): Likewise.
1848
1849 2009-07-16 Pavel Roskin <proski@gnu.org>
1850
1851 * configure.ac: Never add "-c" to CFLAGS.
1852
1853 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
1854
1855 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
1856 grub_cv_cc_efiemu should be used.
1857
1858 * configure.ac: Typo fixes.
1859
1860 * kern/mm.c (grub_zalloc): New function.
1861 (grub_debug_zalloc): Likewise.
1862 * include/grub/mm.h: Declare grub_zalloc() and
1863 grub_debug_zalloc().
1864 * util/misc.c (grub_zalloc): New function.
1865 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
1866 instead of grub_malloc(), remove unneeded initializations.
1867 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
1868 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
1869 * commands/parttool.c (grub_cmd_parttool): Likewise.
1870 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1871 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
1872 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
1873 * disk/usbms.c (grub_usbms_finddevs): Likewise.
1874 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
1875 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
1876 (grub_cmd_efiemu_pnvram): Likewise.
1877 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
1878 * fs/iso9660.c (grub_iso9660_mount): Likewise.
1879 (grub_iso9660_iterate_dir): Likewise.
1880 * fs/jfs.c (grub_jfs_opendir): Likewise.
1881 * fs/ntfs.c (list_file): Likewise.
1882 (grub_ntfs_mount): Likewise.
1883 * kern/disk.c (grub_disk_open): Likewise.
1884 * kern/dl.c (grub_dl_load_core): Likewise.
1885 * kern/elf.c (grub_elf_file): Likewise.
1886 * kern/env.c (grub_env_context_open): Likewise.
1887 (grub_env_set): Likewise.
1888 (grub_env_set_data_slot): Likewise.
1889 * kern/file.c (grub_file_open): Likewise.
1890 * kern/fs.c (grub_fs_blocklist_open): Likewise.
1891 * loader/i386/multiboot.c (grub_module): Likewise.
1892 * loader/xnu.c (grub_xnu_create_key): Likewise.
1893 (grub_xnu_create_value): Likewise.
1894 * normal/main.c (grub_normal_add_menu_entry): Likewise.
1895 (read_config_file): Likewise.
1896 * normal/menu_entry.c (make_screen): Likewise.
1897 * partmap/sun.c (sun_partition_map_iterate): Likewise.
1898 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
1899 * script/sh/script.c (grub_script_parse): Likewise.
1900 * video/bitmap.c (grub_video_bitmap_create): Likewise.
1901 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1902 * video/readers/png.c (grub_png_output_byte): Likewise.
1903 (grub_video_reader_png): Likewise.
1904
1905 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Enable all targets that can be built by default
1908
1909 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
1910 grub-mkfont and grub-fstest if they can be built
1911
1912 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 Fix hang and segmentation fault in grub-emu-usb
1915
1916 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
1917 * util/usb.c (grub_libusb_devices): likewise
1918 (grub_libusb_init): rename to ...
1919 (GRUB_MOD_INIT (libusb)):...this
1920 (grub_libusb_fini): rename to ..
1921 (GRUB_MOD_FINI (libusb)):...this
1922 * disk/usbms.c (grub_usbms_transfer): fix retry logic
1923 * include/grub/disk.h (grub_raid_init): removed, it's useless
1924 (grub_raid_fini): likewise
1925 (grub_lvm_init): likewise
1926 (grub_lvm_fini): likewise
1927 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
1928 by grub_init_all
1929
1930 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Fix libusb
1933
1934 * Makefile.in (LIBUSB): new macro
1935 * genmk.rb (Utility/print_tail): new method
1936 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
1937 (top level): call util.print_tail at the end.
1938
1939 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 Make FreeBSD accept zpool.cache
1942
1943 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
1944 type is /boot/zfs/zpool.cache
1945
1946 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Fix 64-bit efiemu
1949
1950 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
1951 correct wrong typedef
1952 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
1953
1954 2009-07-15 Pavel Roskin <proski@gnu.org>
1955
1956 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
1957 * kern/disk.c (struct grub_disk_cache): Likewise.
1958
1959 * commands/probe.c (options): Typo fix.
1960
1961 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
1962 Increase to 0x5a to accommodate FAT32. Adjust other offsets
1963 accordingly.
1964 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
1965
1966 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
1967 the end of "Error" to make the message more readable.
1968
1969 * boot/i386/pc/boot.S (kernel_segment): Remove.
1970 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
1971 for destination.
1972
1973 * boot/i386/pc/boot.S (boot_version): Remove.
1974 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1975 Remove.
1976
1977 * include/grub/i386/pc/boot.h: Sort all offsets.
1978 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
1979 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
1980 * boot/i386/pc/boot.S: Assert location of every offset listed in
1981 include/grub/i386/pc/boot.h.
1982
1983 2009-07-13 Pavel Roskin <proski@gnu.org>
1984
1985 * include/grub/i386/coreboot/machine.h: Rename
1986 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
1987 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
1988 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
1989
1990 * kern/dl.c: Force native word size to suppress warnings when
1991 compiling grub-emu.
1992
1993 * kern/device.c (grub_device_iterate): Change struct part_ent to
1994 hold the name, not a pointer to it. Use one grub_malloc() per
1995 partition, not two. Free partition_name if grub_malloc() fails.
1996 Set ents to NULL only before grub_partition_iterate() is called.
1997
1998 2009-07-11 Bean <bean123ch@gmail.com>
1999
2000 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2001 childname.
2002
2003 2009-07-10 Bean <bean123ch@gmail.com>
2004 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2005
2006 * kern/ieee1275/openfw.c (grub_children_iterate)
2007 (grub_devalias_iterate): Fix size evaluation for property or path
2008 strings, which was broken since r2132.
2009
2010 2009-07-07 Pavel Roskin <proski@gnu.org>
2011
2012 * commands/search.c (search_file): Merge into ...
2013 (search_fs): ... this. Accept search type as argument.
2014 (grub_cmd_search): Pass search type to search_fs().
2015
2016 * include/grub/util/console.h: New file.
2017 * util/console.c: Use it instead of grub/machine/console.h.
2018 * util/grub-emu.c: Likewise.
2019
2020 * lib/arg.c (find_long_option): Remove.
2021 (find_long): Add `len' argument, make `s' const char *.
2022 (grub_arg_parse): Parse long options in place, not in a
2023 temporary buffer.
2024
2025 2009-07-06 Pavel Roskin <proski@gnu.org>
2026
2027 * commands/search.c (search_fs): Fix potential NULL pointer
2028 dereference.
2029
2030 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2031 function pointer.
2032
2033 2009-07-06 Daniel Mierswa <impulze@impulze.org>
2034
2035 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2036 comparison.
2037
2038 2009-07-05 Pavel Roskin <proski@gnu.org>
2039
2040 * include/grub/i386/linux.h (struct linux_kernel_params):
2041 Restore padding3, it's still needed.
2042
2043 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2044 FreeBSD.
2045 * util/osdetect.lua: Likewise.
2046
2047 2009-07-05 Bean <bean123ch@gmail.com>
2048
2049 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2050
2051 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2052 (grub_lua_getenv): Likewise.
2053 (grub_lua_setenv): Likewise.
2054 (save_errno): New function.
2055 (push_result): Likewise.
2056 (grub_lua_enum_device): Likewise.
2057 (grub_lua_enum_file): Likewise.
2058 (grub_lua_file_open): Likewise.
2059 (grub_lua_file_close): Likewise.
2060 (grub_lua_file_seek): Likewise.
2061 (grub_lua_file_read): Likewise.
2062 (grub_lua_file_getline): Likewise.
2063 (grub_lua_file_getsize): Likewise.
2064 (grub_lua_file_getpos): Likewise.
2065 (grub_lua_file_eof): Likewise.
2066 (grub_lua_file_exist): Likewise.
2067 (grub_lua_add_menu): Likewise.
2068
2069 * script/lua/grub_lua.h (isupper): New inline function.
2070 (islower): Likewise.
2071 (ispunct): Likewise.
2072 (isxdigit): Likewise.
2073 (strcspn): Change to normal function.
2074 (strpbkr): New function declaration.
2075 (memchr): Likewise.
2076
2077 * script/lua/grub_main.c (scan_str): New function.
2078 (strcspn): Likewise.
2079 (strpbrk): Likewise.
2080 (memchr): Likewise.
2081
2082 * script/lua/linit.c (lualibs): Enable the string library.
2083
2084 * util/osdetect.lua: New file.
2085
2086 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
2087
2088 * include/grub/i386/linux.h (struct linux_kernel_params): Add
2089 `capabilities' member.
2090
2091 2009-07-02 Pavel Roskin <proski@gnu.org>
2092
2093 * genparttoollist.sh: Add missing newline at the end.
2094
2095 2009-07-01 Pavel Roskin <proski@gnu.org>
2096
2097 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2098
2099 * util/hostdisk.c (open_device): Remove `const' from
2100 `sysctl_size', as sysctlbyname() can change it (in this case it
2101 doesn't actually happen).
2102
2103 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
2104 using signed long int constants.
2105
2106 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
2107 constant to avoid a warning on FreeBSD.
2108
2109 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
2110 where it's needed.
2111
2112 * Makefile.in: Install include/grub/machine symlink.
2113
2114 * Makefile.in: When installing symlinks, use "cp -fR", which
2115 works on FreeBSD and MacOSX.
2116 From Yves Blusseau <cl7m42e02@sneakemail.com>
2117
2118 * kern/dl.c (grub_dl_resolve_symbol): Make static.
2119 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
2120
2121 * util/misc.c: Move grub_reboot() and grub_halt() ...
2122 * util/grub-emu.c: ... here. Make main_env static.
2123 * include/grub/util/misc.h: Remove main_env.
2124
2125 * kern/mm.c: Use correct format to print size_t.
2126
2127 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
2128 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
2129 * kern/powerpc/dl.c: Likewise.
2130 * kern/sparc64/dl.c: Likewise.
2131 * kern/x86_64/dl.c: Likewise.
2132
2133 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2134
2135 Fix grub-emu build on sparc64-ieee1275.
2136
2137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
2138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2139
2140 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2141
2142 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
2143 (grub_reboot, grub_halt): New functions.
2144
2145 * util/i386/pc/misc.c: Delete. Update all users.
2146 * util/sparc64/ieee1275/misc.c: Likewise.
2147 * util/powerpc/ieee1275/misc.c: Likewise.
2148
2149 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2150
2151 * conf/i386.rmk (setjmp_mod_SOURCES)
2152 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
2153 * conf/common.rmk (setjmp_mod_SOURCES)
2154 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
2155 to use $(target_cpu).
2156 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
2157 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
2158 * conf/powerpc-ieee1275.rmk: Likewise.
2159 * conf/sparc64-ieee1275.rmk: Likewise.
2160
2161 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
2162 $(target_cpu) for kern/$(target_cpu)/dl.c.
2163 * conf/i386-efi.rmk: Likewise.
2164 * conf/i386-ieee1275.rmk: Likewise.
2165 * conf/x86_64-efi.rmk: Likewise.
2166 * conf/i386-coreboot.rmk: Likewise.
2167 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
2168 $(target_cpu) for kern/$(target_cpu)/dl.c and for
2169 kern/$(target_cpu)/cache.S.
2170 * conf/sparc64-ieee1275.rmk: Likewise.
2171
2172 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2173
2174 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
2175 type to `grub_uint8_t', and adjust `padding9' accordingly.
2176
2177 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2178
2179 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
2180
2181 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
2182 assembly in final jump, using register constraints.
2183
2184 (grub_linux_boot): For text mode, initialize `have_vga' using
2185 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
2186
2187 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
2188 right before the final jump.
2189
2190 Set `video_mode' to 0x3.
2191
2192 Document initialization of `video_page', `video_mode' and
2193 `video_ega_bx'.
2194
2195 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2196
2197 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
2198 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
2199 and set GRUB_LINUX_FLAG_QUIET appropriately.
2200
2201 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2202
2203 Fix build on Debian / sparc.
2204
2205 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2206
2207 2009-06-28 Pavel Roskin <proski@gnu.org>
2208
2209 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
2210 fix a warning.
2211
2212 * util/grub.d/10_linux.in: Match SUSE style initrd names.
2213
2214 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2215
2216 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
2217 `err'.
2218
2219 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2220
2221 Revert r2338.
2222
2223 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
2224 file can't be opened. grub_file_open() is already supposed to set
2225 grub_errno / grub_errmsg appropriately.
2226 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2227
2228 2009-06-27 Pavel Roskin <proski@gnu.org>
2229 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2230
2231 * include/grub/dl.h: Include grub/elf.h.
2232 (struct grub_dl): Add symtab field.
2233 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
2234 GRUB_MODULES_MACHINE_READONLY.
2235 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
2236 of the header for read-only modules.
2237 (grub_dl_unload): Free mod->symtab for read-only modules.
2238 * kern/i386/dl.c: Use mod->symtab.
2239 * kern/powerpc/dl.c: Likewise.
2240 * kern/sparc64/dl.c: Likewise.
2241 * kern/x86_64/dl.c: Likewise.
2242
2243 * conf/i386-qemu.rmk: New file.
2244 * kern/i386/qemu/startup.S: Likewise.
2245 * kern/i386/qemu/mmap.c: Likewise.
2246 * boot/i386/qemu/boot.S: Likewise.
2247 * include/grub/i386/qemu/time.h: Likewise.
2248 * include/grub/i386/qemu/serial.h: Likewise.
2249 * include/grub/i386/qemu/kernel.h: Likewise.
2250 * include/grub/i386/qemu/console.h: Likewise.
2251 * include/grub/i386/qemu/boot.h: Likewise.
2252 * include/grub/i386/qemu/init.h: Likewise.
2253 * include/grub/i386/qemu/machine.h: Likewise.
2254 * include/grub/i386/qemu/loader.h: Likewise.
2255 * include/grub/i386/qemu/memory.h: Likewise.
2256
2257 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
2258 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
2259 [qemu] (pkglib_IMAGES): Add `boot.img'.
2260 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
2261 [qemu] (boot_img_FORMAT): New variables.
2262 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
2263 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
2264 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
2265 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2266 [qemu] (kernel_img_FORMAT): New variables.
2267
2268 * configure.ac: Recognise `i386-qemu'.
2269
2270 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
2271 (for no compression).
2272 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
2273 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
2274 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
2275 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
2276 ifdefs).
2277
2278 2009-06-27 Pavel Roskin <proski@gnu.org>
2279
2280 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
2281 read.
2282 * efiemu/prepare32.c: Likewise.
2283 * efiemu/prepare64.c: Likewise.
2284
2285 2009-06-26 Pavel Roskin <proski@gnu.org>
2286
2287 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
2288 * include/grub/elf.h: Define symbols without "32" or "64" based
2289 on GRUB_TARGET_WORDSIZE.
2290 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
2291 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
2292 ELF definitions.
2293 * efiemu/loadcore64.c: Likewise.
2294 * loader/i386/bsd32.c: Likewise.
2295 * loader/i386/bsd64.c: Likewise.
2296 * kern/dl.c: Remove own ELF definitions.
2297 * util/i386/efi/grub-mkimage.c: Likewise.
2298
2299 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
2300
2301 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
2302 segment 0x0 unconditionally, because the reference generated by
2303 GAS is an absolute address.
2304
2305 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2306
2307 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
2308 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2309
2310 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2311
2312 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
2313 indexes. Check for -f explicitly.
2314 (search_file): Improve error message.
2315 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
2316
2317 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2318
2319 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
2320 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
2321
2322 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2323
2324 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
2325 * conf/i386-ieee1275.rmk: Likewise.
2326 * conf/i386-coreboot.rmk: Likewise.
2327
2328 * kern/i386/pc/startup.S (grub_stop): Remove function.
2329 * kern/i386/ieee1275/startup.S: Likewise.
2330 * kern/i386/coreboot/startup.S: Likewise.
2331 * kern/i386/misc.S (grub_stop): New function.
2332
2333 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2334
2335 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
2336 * kern/i386/realmode.S (real_to_prot): ... to here.
2337
2338 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2339
2340 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
2341 with `kernel.img'.
2342 (kernel_elf_SOURCES): Rename to ...
2343 (kernel_img_SOURCES): ... this.
2344 (kernel_elf_HEADERS): Rename to ...
2345 (kernel_img_HEADERS): ... this. Update all users.
2346 (kernel_elf_ASFLAGS): Rename to ...
2347 (kernel_img_ASFLAGS): ... this.
2348 (kernel_elf_CFLAGS): Rename to ...
2349 (kernel_img_CFLAGS): ... this.
2350 (kernel_elf_LDFLAGS): Rename to ...
2351 (kernel_img_LDFLAGS): ... this.
2352 * conf/i386-coreboot.rmk: Likewise.
2353 * conf/powerpc-ieee1275.rmk: Likewise.
2354
2355 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
2356 with "kernel.img".
2357
2358 2009-06-21 Pavel Roskin <proski@gnu.org>
2359
2360 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
2361 to match nested functions.
2362 * loader/sparc64/ieee1275/linux.c: Likewise.
2363
2364 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
2365
2366 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2367
2368 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
2369 all i386 platforms.
2370
2371 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2372
2373 Fix asm file handling on ELF, and remove workarounds.
2374
2375 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
2376 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
2377 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
2378 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
2379
2380 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Load BSD ELF modules
2383
2384 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
2385 and loader/i386/bsd64.c
2386 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
2387 (FREEBSD_MODTYPE_ELF_MODULE): New definition
2388 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
2389 (grub_freebsd_load_elfmodule32): New declaration
2390 (grub_freebsd_load_elfmoduleobj64): Likewise
2391 (grub_freebsd_load_elf_meta32): Likewise
2392 (grub_freebsd_load_elf_meta64): Likewise
2393 (grub_freebsd_add_meta): Likewise
2394 (grub_freebsd_add_meta_module): Likewise
2395 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
2396 (grub_freebsd_add_meta_module): Likewise and move module-specific
2397 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
2398 (grub_cmd_freebsd): Add elf-kernel specific parts
2399 based on grub_freebsd_add_meta_module
2400 (grub_cmd_freebsd_module): Add type parsing moved from
2401 grub_freebsd_add_meta_module
2402 (grub_cmd_freebsd_module_elf): New function
2403 (cmd_freebsd_module_elf): New variable
2404 (GRUB_MOD_INIT): Register freebsd_module_elf
2405 * loader/i386/bsd32.c: New file
2406 * loader/i386/bsd64.c: Likewise
2407 * loader/i386/bsdXX.c: Likewise
2408 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
2409 (grub_elf64_load): Likewise
2410 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
2411 All users updated
2412 (grub_elf64_load_hook_t): Likewise
2413
2414 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
2415
2416 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
2417 variable.
2418 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
2419 don't write a menu entry for recovery mode.
2420
2421 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2422
2423 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
2424 after it's no longer needed.
2425
2426 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2427
2428 * include/grub/i386/loader.h (grub_linux_prot_size)
2429 (grub_linux_tmp_addr, grub_linux_real_addr)
2430 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
2431 GRUB_MACHINE_PCBIOS.
2432 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
2433 common grub_util_info() call to ...
2434 (generate_image): ... here.
2435 Fix use of uninitialized memory, comparison of signed with
2436 unsigned integers and memory leak.
2437 Remove bogus module address message.
2438
2439 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
2442 grub_raid_register
2443 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2444
2445 2009-06-19 Pavel Roskin <proski@gnu.org>
2446
2447 * configure.ac: Remove stray AC_MSG_CHECKING.
2448
2449 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * disk/scsi.c (grub_scsi_open): use continue instead of big if
2452
2453 2009-06-18 Pavel Roskin <proski@gnu.org>
2454
2455 * conf/common.rmk: Add fs_file.mod.
2456 * disk/fs_file.c: New file.
2457 * include/grub/disk.h (enum grub_disk_dev_id): Add
2458 GRUB_DISK_DEVICE_FILE_ID.
2459
2460 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 Fix build with Apple's toolchain. Part 2
2463
2464 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
2465 a fake start
2466
2467 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Fix build with Apple's toolchain. Part 1
2470
2471 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
2472 for long calls
2473 * configure.ac: remove a leftover AC_MSG_RESULT
2474 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
2475 Apple's toolchain
2476
2477 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Fix warnings
2480
2481 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
2482 (decomp_block): initialize ch
2483 use grub_memcpy instead of memcpy
2484
2485 2009-06-17 Pavel Roskin <proski@gnu.org>
2486
2487 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
2488 version, use declarations needed to use vga_text as the startup
2489 console.
2490
2491 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
2492 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
2493 the kernel.
2494 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
2495 and grub_at_keyboard_fini(), it's done on module load and
2496 unload.
2497
2498 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
2499
2500 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
2501 file can't be found.
2502 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2503
2504 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 Fix newline handling
2507
2508 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
2509 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
2510 (grub_script_yylex): don't segfault on unterminated script
2511 newline terminates command and variable
2512
2513 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 avoid double grub_adjust_range call. Bug reported by David Simner
2516
2517 * kern/disk.c (grub_disk_write): change to raw disk access before
2518 calling disk_read
2519
2520 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
2521
2522 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
2523 spaces, for the benefit of help2man.
2524 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2525
2526 2009-06-16 Pavel Roskin <proski@gnu.org>
2527
2528 * kern/i386/halt.c: Include grub/machine/init.h.
2529 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
2530
2531 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
2532
2533 * util/grub.d/30_os-prober.in: Use ${root} in the generated
2534 drivemap menuentry.
2535
2536 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
2537
2538 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
2539 `echo' command.
2540
2541 2009-06-16 Pavel Roskin <proski@gnu.org>
2542
2543 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
2544 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
2545 save %dx, we only need %dl and we never change it.
2546 * boot/i386/pc/cdboot.S: Don't set the root drive.
2547 * boot/i386/pc/pxeboot.S: Likewise.
2548 * include/grub/i386/pc/boot.h: Remove
2549 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
2550 GRUB_BOOT_MACHINE_DRIVE_CHECK.
2551 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
2552 * kern/i386/pc/init.c (make_install_device): Remove references
2553 to grub_root_drive.
2554 * kern/i386/pc/startup.S: Likewise.
2555 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2556
2557 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 xnu_uuid command
2560
2561 * commands/xnu_uuid.c: new file
2562 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
2563 (xnu_uuid_mod_SOURCES): new variable
2564 (xnu_uuid_mod_CFLAGS): likewise
2565 (xnu_uuid_mod_LDFLAGS): likewise
2566 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2567 * conf/i386-ieee1275.rmk: likewise
2568 * conf/i386-pc.rmk: likewise
2569 * conf/powerpc-ieee1275.rmk: likewise
2570 * conf/sparc64-ieee1275.rmk: likewise
2571 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
2572
2573 2009-06-16 Pavel Roskin <proski@gnu.org>
2574
2575 * configure.ac: Avoid '==' in test command, it's not portable.
2576
2577 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 Probe command
2580
2581 * commands/probe.c: new file
2582 * conf/common.rmk (pkglib_MODULES): add probe.mod
2583 (probe_mod_SOURCES): new variable
2584 (probe_mod_CFLAGS): likewise
2585 (probe_mod_LDFLAGS): likewise
2586 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2587 * conf/i386-ieee1275.rmk: likewise
2588 * conf/i386-pc.rmk: likewise
2589 * conf/powerpc-ieee1275.rmk: likewise
2590 * conf/sparc64-ieee1275.rmk: likewise
2591
2592 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Fix handling of string like \"hello\" and "a
2595 b"
2596
2597 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
2598 (grub_script_yylex): fix parsing of quoting, escaping and newline
2599
2600 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
2603 handling
2604
2605 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
2606
2607 * util/grub-mkconfig.in: Fix parsing of --output option.
2608
2609 2009-06-12 Pavel Roskin <proski@gnu.org>
2610
2611 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
2612 genmk.rb don't need to be generated or installed.
2613
2614 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * commands/i386/pc/drivemap_int13h.S: add more comments
2617
2618 2009-06-11 Pavel Roskin <proski@gnu.org>
2619
2620 * Makefile.in (uninstall): Uninstall manuals.
2621
2622 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
2623 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
2624 and update-grub_lib in two places.
2625 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
2626
2627 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
2628 a compiler warning.
2629
2630 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
2631 `entry_lo' to fix variable shadowing.
2632
2633 2009-06-11 Christian Franke <franke@computer.org>
2634
2635 * kern/misc.c (__enable_execute_stack): Add missing return type
2636 to prevent gcc warning.
2637
2638 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
2639
2640 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
2641
2642 2009-06-11 Pavel Roskin <proski@gnu.org>
2643
2644 * Makefile.in: Don't rely on any scripts being executable.
2645 Always use $(SHELL) to run shell scripts.
2646
2647 * configure.ac: Always define ___main if using -nostdlib. This
2648 fixes tests on Cygwin.
2649
2650 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
2651
2652 UDF fix
2653
2654 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
2655 is in bytes and not in blocks
2656
2657 2009-06-11 Pavel Roskin <proski@gnu.org>
2658
2659 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
2660 warning.
2661
2662 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
2663
2664 * util/grub.d/30_os-prober.in: Fix a comment. Source
2665 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
2666 to set the root device. Place drivemap command in the generated
2667 chain entry.
2668
2669 2009-06-11 Pavel Roskin <proski@gnu.org>
2670
2671 * configure.ac: Remove host_m32. Issues with 64-bit utilities
2672 have long been resolved.
2673
2674 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
2675
2676 * util/grub.d/10_linux.in: Capitalise "Linux".
2677
2678 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
2679
2680 2009-06-11 Pavel Roskin <proski@gnu.org>
2681
2682 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
2683 fix a gcc warning and ensure that the function won't ever exit.
2684
2685 * kern/i386/ieee1275/init.c: Add missing prototype for
2686 grub_stop_floppy().
2687
2688 * loader/ieee1275/multiboot2.c [__i386__]: Include
2689 grub/cpu/multiboot.h.
2690
2691 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
2692 casts to short - they are not portable and cause warnings. Fix
2693 use of uninitialized values in input_buf. Use ARRAY_SIZE.
2694
2695 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 Drivemap fixes
2698
2699 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
2700 new function
2701 (grub_get_root_biosnumber_saved): new variable
2702 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
2703 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
2704 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
2705 %dx after the call if necessary
2706 * conf/common.rmk (pkglib_MODULES): remove boot.mod
2707 (boot_mod_SOURCES): remove
2708 (boot_mod_CFLAGS): remove
2709 (boot_mod_LDFLAGS): remove
2710 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
2711 (boot_mod_SOURCES): new variable
2712 (boot_mod_CFLAGS): likewise
2713 (boot_mod_LDFLAGS): likewise
2714 * conf/i386-efi.rmk: likewise
2715 * conf/i386-ieee1275.rmk: likewise
2716 * conf/i386-pc.rmk: likewise
2717 * conf/powerpc-ieee1275.rmk: likewise
2718 * conf/sparc64-ieee1275.rmk: likewise
2719 * conf/x86_64-efi.rmk: likewise
2720 * include/grub/i386/pc/biosnum.h: new file
2721 * lib/i386/pc/biosnum.c: likewise
2722 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
2723 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
2724 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
2725
2726 2009-06-10 Pavel Roskin <proski@gnu.org>
2727
2728 * io/gzio.c (test_header): Don't reuse one buffer for all data.
2729 Use separate variables. Read only the file size at the end, but
2730 not the checksum that we don't use.
2731
2732 * kern/file.c (grub_file_read): Use void pointer for the buffer.
2733 Adjust all callers.
2734
2735 * kern/ieee1275/openfw.c: Remove libc includes.
2736 * kern/ieee1275/cmain.c: Likewise.
2737 * include/grub/ieee1275/ieee1275.h: Likewise.
2738
2739 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
2740 compiler warnings.
2741
2742 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
2743
2744 * Makefile.in: Remove all trailing whitespace.
2745 * conf/i386-pc.rmk: Likewise.
2746 * conf/powerpc-ieee1275.rmk: Likewise.
2747 * conf/sparc64-ieee1275.rmk: Likewise.
2748 * docs/grub.texi: Likewise.
2749 * docs/texinfo.tex: Likewise.
2750 * disk/fs_uuid.c: Likewise.
2751 * disk/lvm.c: Likewise.
2752 * disk/scsi.c: Likewise.
2753 * disk/ata.c: Likewise.
2754 * disk/ieee1275/ofdisk.c: Likewise.
2755 * disk/i386/pc/biosdisk.c: Likewise.
2756 * disk/host.c: Likewise.
2757 * disk/raid.c: Likewise.
2758 * disk/efi/efidisk.c: Likewise.
2759 * disk/usbms.c: Likewise.
2760 * disk/memdisk.c: Likewise.
2761 * disk/loopback.c: Likewise.
2762 * kern/powerpc/dl.c: Likewise.
2763 * kern/device.c: Likewise.
2764 * kern/dl.c: Likewise.
2765 * kern/sparc64/dl.c: Likewise.
2766 * kern/ieee1275/ieee1275.c: Likewise.
2767 * kern/term.c: Likewise.
2768 * kern/fs.c: Likewise.
2769 * kern/i386/dl.c: Likewise.
2770 * kern/i386/pc/startup.S: Likewise.
2771 * kern/i386/pc/init.c: Likewise.
2772 * kern/i386/pc/mmap.c: Likewise.
2773 * kern/i386/pc/lzo1x.S: Likewise.
2774 * kern/i386/ieee1275/init.c: Likewise.
2775 * kern/i386/realmode.S: Likewise.
2776 * kern/i386/tsc.c: Likewise.
2777 * kern/partition.c: Likewise.
2778 * kern/corecmd.c: Likewise.
2779 * kern/file.c: Likewise.
2780 * kern/efi/efi.c: Likewise.
2781 * kern/efi/init.c: Likewise.
2782 * kern/efi/mm.c: Likewise.
2783 * kern/main.c: Likewise.
2784 * kern/err.c: Likewise.
2785 * kern/env.c: Likewise.
2786 * kern/disk.c: Likewise.
2787 * kern/generic/millisleep.c: Likewise.
2788 * kern/generic/rtc_get_time_ms.c: Likewise.
2789 * kern/misc.c: Likewise.
2790 * kern/parser.c: Likewise.
2791 * genmk.rb: Likewise.
2792 * configure.ac: Likewise.
2793 * boot/i386/pc/diskboot.S: Likewise.
2794 * boot/i386/pc/pxeboot.S: Likewise.
2795 * boot/i386/pc/boot.S: Likewise.
2796 * boot/i386/pc/lnxboot.S: Likewise.
2797 * boot/i386/pc/cdboot.S: Likewise.
2798 * parttool/pcpart.c: Likewise.
2799 * video/readers/tga.c: Likewise.
2800 * video/video.c: Likewise.
2801 * video/bitmap.c: Likewise.
2802 * lib/envblk.c: Likewise.
2803 * lib/i386/setjmp.S: Likewise.
2804 * fs/xfs.c: Likewise.
2805 * fs/afs.c: Likewise.
2806 * fs/fat.c: Likewise.
2807 * fs/ntfs.c: Likewise.
2808 * fs/udf.c: Likewise.
2809 * fs/affs.c: Likewise.
2810 * fs/iso9660.c: Likewise.
2811 * fs/hfs.c: Likewise.
2812 * fs/fshelp.c: Likewise.
2813 * fs/ext2.c: Likewise.
2814 * fs/jfs.c: Likewise.
2815 * fs/reiserfs.c: Likewise.
2816 * fs/hfsplus.c: Likewise.
2817 * fs/minix.c: Likewise.
2818 * fs/cpio.c: Likewise.
2819 * fs/sfs.c: Likewise.
2820 * fs/ufs.c: Likewise.
2821 * efiemu/prepare.c: Likewise.
2822 * efiemu/loadcore_common.c: Likewise.
2823 * efiemu/runtime/efiemu.sh: Likewise.
2824 * efiemu/runtime/efiemu.S: Likewise.
2825 * efiemu/runtime/efiemu.c: Likewise.
2826 * efiemu/pnvram.c: Likewise.
2827 * efiemu/main.c: Likewise.
2828 * efiemu/i386/pc/cfgtables.c: Likewise.
2829 * efiemu/i386/loadcore64.c: Likewise.
2830 * efiemu/i386/loadcore32.c: Likewise.
2831 * efiemu/loadcore.c: Likewise.
2832 * efiemu/symbols.c: Likewise.
2833 * efiemu/mm.c: Likewise.
2834 * include/grub/autoefi.h: Likewise.
2835 * include/grub/datetime.h: Likewise.
2836 * include/grub/term.h: Likewise.
2837 * include/grub/hfs.h: Likewise.
2838 * include/grub/lvm.h: Likewise.
2839 * include/grub/i386/tsc.h: Likewise.
2840 * include/grub/i386/linux.h: Likewise.
2841 * include/grub/i386/xnu.h: Likewise.
2842 * include/grub/i386/efiemu.h: Likewise.
2843 * include/grub/i386/pc/biosdisk.h: Likewise.
2844 * include/grub/i386/pc/memory.h: Likewise.
2845 * include/grub/i386/pc/vbe.h: Likewise.
2846 * include/grub/parttool.h: Likewise.
2847 * include/grub/video.h: Likewise.
2848 * include/grub/memory.h: Likewise.
2849 * include/grub/fs.h: Likewise.
2850 * include/grub/partition.h: Likewise.
2851 * include/grub/xnu.h: Likewise.
2852 * include/grub/efi/api.h: Likewise.
2853 * include/grub/efi/pe32.h: Likewise.
2854 * include/grub/efi/memory.h: Likewise.
2855 * include/grub/multiboot.h: Likewise.
2856 * include/grub/usbdesc.h: Likewise.
2857 * include/grub/multiboot2.h: Likewise.
2858 * include/grub/acpi.h: Likewise.
2859 * include/grub/efiemu/efiemu.h: Likewise.
2860 * include/grub/disk.h: Likewise.
2861 * include/grub/ieee1275/ieee1275.h: Likewise.
2862 * include/grub/net.h: Likewise.
2863 * include/grub/machoload.h: Likewise.
2864 * include/grub/macho.h: Likewise.
2865 * include/multiboot.h: Likewise.
2866 * genmoddep.awk: Likewise.
2867 * normal/main.c: Likewise.
2868 * normal/menu_entry.c: Likewise.
2869 * normal/menu_viewer.c: Likewise.
2870 * normal/completion.c: Likewise.
2871 * normal/cmdline.c: Likewise.
2872 * normal/misc.c: Likewise.
2873 * normal/datetime.c: Likewise.
2874 * bus/usb/usbtrans.c: Likewise.
2875 * bus/usb/ohci.c: Likewise.
2876 * bus/usb/uhci.c: Likewise.
2877 * bus/usb/usb.c: Likewise.
2878 * mmap/efi/mmap.c: Likewise.
2879 * mmap/i386/pc/mmap_helper.S: Likewise.
2880 * mmap/i386/pc/mmap.c: Likewise.
2881 * mmap/i386/mmap.c: Likewise.
2882 * mmap/i386/uppermem.c: Likewise.
2883 * mmap/mmap.c: Likewise.
2884 * commands/acpi.c: Likewise.
2885 * commands/echo.c: Likewise.
2886 * commands/blocklist.c: Likewise.
2887 * commands/loadenv.c: Likewise.
2888 * commands/usbtest.c: Likewise.
2889 * commands/boot.c: Likewise.
2890 * commands/parttool.c: Likewise.
2891 * commands/search.c: Likewise.
2892 * commands/cat.c: Likewise.
2893 * commands/i386/pc/play.c: Likewise.
2894 * commands/i386/pc/drivemap.c: Likewise.
2895 * commands/i386/pc/vbeinfo.c: Likewise.
2896 * commands/i386/pc/acpi.c: Likewise.
2897 * commands/i386/pc/vbetest.c: Likewise.
2898 * commands/ls.c: Likewise.
2899 * commands/cmp.c: Likewise.
2900 * commands/test.c: Likewise.
2901 * commands/efi/acpi.c: Likewise.
2902 * commands/gptsync.c: Likewise.
2903 * commands/help.c: Likewise.
2904 * partmap/amiga.c: Likewise.
2905 * partmap/apple.c: Likewise.
2906 * partmap/acorn.c: Likewise.
2907 * partmap/pc.c: Likewise.
2908 * partmap/sun.c: Likewise.
2909 * partmap/gpt.c: Likewise.
2910 * script/sh/lexer.c: Likewise.
2911 * script/sh/function.c: Likewise.
2912 * font/font.c: Likewise.
2913 * font/font_cmd.c: Likewise.
2914 * loader/powerpc/ieee1275/linux.c: Likewise.
2915 * loader/efi/chainloader.c: Likewise.
2916 * loader/multiboot_loader.c: Likewise.
2917 * loader/macho.c: Likewise.
2918 * loader/i386/multiboot.c: Likewise.
2919 * loader/i386/linux.c: Likewise.
2920 * loader/i386/pc/linux.c: Likewise.
2921 * loader/i386/pc/multiboot2.c: Likewise.
2922 * loader/i386/pc/chainloader.c: Likewise.
2923 * loader/i386/pc/xnu.c: Likewise.
2924 * loader/i386/bsd_trampoline.S: Likewise.
2925 * loader/i386/efi/linux.c: Likewise.
2926 * loader/i386/multiboot_elfxx.c: Likewise.
2927 * loader/i386/bsd_helper.S: Likewise.
2928 * loader/i386/bsd.c: Likewise.
2929 * loader/i386/linux_trampoline.S: Likewise.
2930 * loader/i386/xnu_helper.S: Likewise.
2931 * loader/i386/xnu.c: Likewise.
2932 * loader/i386/bsd_pagetable.c: Likewise.
2933 * loader/i386/multiboot_helper.S: Likewise.
2934 * loader/xnu.c: Likewise.
2935 * loader/xnu_resume.c: Likewise.
2936 * io/gzio.c: Likewise.
2937 * term/efi/console.c: Likewise.
2938 * term/terminfo.c: Likewise.
2939 * term/ieee1275/ofconsole.c: Likewise.
2940 * term/i386/pc/serial.c: Likewise.
2941 * term/i386/pc/vesafb.c: Likewise.
2942 * term/i386/pc/vga.c: Likewise.
2943 * term/usb_keyboard.c: Likewise.
2944 * term/gfxterm.c: Likewise.
2945 * aclocal.m4: Likewise.
2946 * util/lvm.c: Likewise.
2947 * util/grub.d/30_os-prober.in: Likewise.
2948 * util/grub.d/10_hurd.in: Likewise.
2949 * util/console.c: Likewise.
2950 * util/grub-macho2img.c: Likewise.
2951 * util/grub-probe.c: Likewise.
2952 * util/hostfs.c: Likewise.
2953 * util/i386/pc/grub-mkimage.c: Likewise.
2954 * util/i386/pc/grub-setup.c: Likewise.
2955 * util/i386/efi/grub-mkimage.c: Likewise.
2956 * util/grub-mkconfig.in: Likewise.
2957 * util/raid.c: Likewise.
2958 * util/resolve.c: Likewise.
2959 * util/grub-mkdevicemap.c: Likewise.
2960 * util/grub-emu.c: Likewise.
2961 * util/getroot.c: Likewise.
2962 * util/hostdisk.c: Likewise.
2963 * util/usb.c: Likewise.
2964 * util/grub-editenv.c: Likewise.
2965 * util/misc.c: Likewise.
2966
2967 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
2968
2969 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
2970 `genparttoollist.sh'.
2971 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
2972 Add `*.sh' to the list find searches for and change `mdate.sh'
2973 to `mdate-sh'.
2974
2975 2009-06-10 Pavel Roskin <proski@gnu.org>
2976
2977 * include/grub/multiboot2.h: Provide compatibility defines for
2978 multiboot2.h.
2979 * include/multiboot2.h: Include stdint.h only if needed, using
2980 angle brackets.
2981 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
2982 grub/multiboot2.h.
2983 * loader/ieee1275/multiboot2.c: Likewise.
2984 * loader/multiboot2.c: Likewise.
2985 * loader/multiboot_loader.c: Likewise.
2986
2987 * configure.ac: Use -nostdlib when probing for the target. It
2988 should not be required to have libc for the target.
2989
2990 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
2991 they fail without libc headers for the target.
2992 * include/grub/powerpc/libgcc.h: Use weak attribute for all
2993 exports.
2994 * include/grub/sparc64/libgcc.h: Likewise. Don't use
2995 preprocessor conditionals.
2996
2997 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
2998 build system doesn't need to be aware of the tar.c internals.
2999
3000 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
3001
3002 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
3003
3004 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3005
3006 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3007 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3008
3009 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
3010
3011 * util/i386/pc/grub-install.in: Change the error message if UUIDs
3012 aren't available if ata.mod gets used.
3013
3014 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
3015
3016 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
3017 initialising controller.
3018 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3019
3020 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
3021
3022 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3023 to choose between ata and biosdisk module on i386-pc.
3024
3025 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
3026
3027 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3028 Subclass and Programming Interface fields in terms of the 3 byte
3029 Class Code register.
3030 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3031
3032 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3033 interface is OHCI. Add grub_dprintf for symmetry with
3034 bus/usb/uhci.c.
3035 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3036 interface is UHCI. Add interf variable for programming
3037 interface. Print interface with class/subclass.
3038
3039 * bus/usb/ohci.c: Set interf with correct field.
3040
3041 * bus/usb/uhci.c: Remove unneeded doubled lines.
3042 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3043 Remove whitespace inside comment.
3044
3045 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3046
3047 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3048 as fallback an equivalent option without depth.
3049
3050 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Not fail if unable to retrieve C/H/S on LBA disks
3053
3054 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
3055 if unable to retrieve C/H/S on LBA disks
3056
3057 2009-06-08 Pavel Roskin <proski@gnu.org>
3058
3059 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3060 about aliasing.
3061
3062 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
3063
3064 * Makefile.in (uninstall): Remove all $lib_DATA files.
3065
3066 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 Bugfix: install on partitionless device
3069
3070 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
3071 is a whole disk
3072
3073 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
3074
3075 * Makefile.in (uninstall): Remove all $include_DATA files.
3076
3077 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
3078
3079 * commands/true.c: New file. Implement the true and false commands.
3080 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
3081 (true_mod_SOURCES): New variable.
3082 (true_mod_CFLAGS): Likewise.
3083 (true_mod_LDFLAGS): Likewise.
3084
3085 2009-06-05 Colin D Bennett <colin@gibibit.com>
3086
3087 Optimized font character lookup using binary search instead of linear
3088 search. Fonts now are required to have the character index ordered by
3089 code point.
3090
3091 * font/font.c (load_font_index): Verify that fonts have ordered
3092 character indices.
3093 (find_glyph): Use binary search instead of linear search to find a
3094 character in a font.
3095
3096 2009-06-05 Michael Scherer <misc@mandriva.org>
3097
3098 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
3099 uses case sensitive btree.
3100 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
3101 only for case insensitive filesystems.
3102
3103 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
3106 * conf/common.rmk (search_mod_CFLAGS): likewise
3107
3108 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
3111 compensate a compiler bug
3112
3113 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
3116 instead of '\b'
3117
3118 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 Definitions for creating asm symbols with Apple's CC
3121
3122 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
3123 [APPLE_CC] (VARIABLE): likewise
3124
3125 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Disable lnxboot.img when compiled
3128 with Apple's CC
3129
3130 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
3131 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
3132 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
3133 [! APPLE_CC] (CODE_LENG): skip
3134 [! APPLE_CC] (setup_sects): likewise
3135 [! APPLE_CC]: skip filling
3136
3137 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Address in trampolines based on 32-bit registers when compiled
3140 with Apple's CC
3141
3142 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
3143 for addresses
3144 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
3145
3146 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Avoid aliases when compiling with Apple's CC for PCBIOS machine
3149
3150 * kern/misc.c [APPLE_CC] (memcpy): new function
3151 [APPLE_CC] (memmove): likewise
3152 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
3153 (memcpy): define alias conditionally on !APPLE_CC
3154 (memset): likewise
3155 (abort): likewise
3156 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
3157 APPLE_CC are defined
3158 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
3159 (grub_assert_fail): make prototype conditional
3160
3161 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
3164
3165 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
3166 grub-macho2img
3167 (CLEANFILES): add grub-macho2img
3168 (grub_macho2img_SOURCES): new variable
3169 * kern/i386/pc/startup.S (bss_start): new variable
3170 (bss_end): likewise
3171 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
3172 * util/grub-macho2img.c: new file
3173
3174 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Use objconv when compiling with Apple's CC
3177
3178 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
3179 (efiemu64.o): likewise
3180 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
3181 when compiling with Apple's CC
3182 (efiemu64_s.o): likewise
3183 * configure.ac: check for objconv when compiling with Apple's CC
3184 * genmk.rb: use objconv for modules when compiled with Apple's CC
3185
3186 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Define segment as well as section when compiling with
3189 Apple's CC
3190
3191 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
3192 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
3193 (efiemu_convert_pointer): likewise
3194 (efiemu_set_virtual_address_map): likewise
3195 (efiemu_convert_pointer): likewise
3196 (efiemu_getcrc32): likewise
3197 (init_crc32_table): likewise
3198 (reflect): likewise
3199 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
3200 (GRUB_MOD_DEP): likewise
3201
3202 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 Allow a compilation without -mcmodel=large
3205
3206 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
3207 when compiled without -mcmodel=large
3208 (filter_memory_map): remove memory post 4 GiB when compiled
3209 without -mcmodel=large
3210 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
3211 TARGET_CFLAGS when -mcmodel=large isn't supported
3212
3213 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 Remove nested functions in efiemu core
3216
3217 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
3218
3219 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
3222
3223 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
3224 temporary storage
3225 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
3226 using Apple's CC
3227 (grub_cpu_is_tsc_supported): likewise
3228 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
3229
3230 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Absolute addressing through constant with Apple's cc
3233
3234 * kern/i386/pc/startup.S: Define necessary constants
3235 and address through it when using ABS with Apple's CC
3236 * boot/i386/pc/diskboot.S: likewise
3237 * boot/i386/pc/boot.S: likewise
3238 * boot/i386/pc/lnxboot.S: likewise
3239 * boot/i386/pc/cdboot.S: likewise
3240 * mmap/i386/pc/mmap_helper.S: likewise
3241 * commands/i386/pc/drivemap_int13h.S: likewise
3242
3243 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Check if compiler is apple cc
3246
3247 * Makefile.in (ASFLAGS): new variable
3248 (TARGET_ASFLAGS): likewise
3249 (TARGET_MODULE_FORMAT): likewise
3250 (TARGET_APPLE_CC): likewise
3251 (OBJCONV): likewise
3252 (TARGET_IMG_CFLAGS): likewise
3253 (TARGET_CPPFLAGS): add includedir
3254 * configure.ac: call grub_apple_cc and grub_apple_target_cc
3255 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
3256 Check for linker script only if compiler isn't Apple's CC
3257 (TARGET_MODULE_FORMAT): set
3258 (TARGET_APPLE_CC): likewise
3259 (TARGET_ASFLAGS): likewise
3260 (ASFLAGS): likewise
3261 Check for objcopy only if compiler isn't Apple's CC
3262 Check for BSS symbol only if compiler isn't Apple's CC
3263 * genmk.rb: adapt nm options if we use Apple's utils
3264 * aclocal.m4 (grub_apple_cc): new test
3265 (grub_apple_target_cc): likewise
3266
3267 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 Simplify sed expressions and improve awk
3270
3271 * Makefile.in (install-local): simplify sed expression
3272 * gencmdlist.sh: likewise
3273 * genmoddep.awk: avoid adding module as a dependency of itself
3274
3275 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Add missing start symbols
3278
3279 * boot/i386/pc/boot.S: add start
3280 * boot/i386/pc/pxeboot.S: likewise
3281
3282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 Fix wrong assumptions with grub-mkimage on EFI
3285
3286 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
3287 (relocate_addresses): consider both r_addend and value at offset
3288 (make_mods_section): zerofill modinfo and header
3289 (convert_elf): write prefix here
3290
3291 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Use .asciz instead of .string
3294
3295 * i386/pc/diskboot.S: use .asciz instead of .string
3296 * i386/pc/boot.S: likewise
3297 * include/grub/dl.h (GRUB_MOD_DEP): likewise
3298 (GRUB_MOD_NAME): likewise
3299
3300 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 gfxpayload support
3303
3304 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
3305 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
3306 (grub_video_setup): remove
3307 (grub_video_set_mode): new prototype
3308 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
3309 (vid_mode): remove
3310 (linux_vesafb_res): compile only on PCBIOS
3311 (grub_linux_boot): support gfxpayload
3312 * loader/i386/pc/xnu.c (video_hook): new function
3313 (grub_xnu_set_video): support gfxpayload
3314 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
3315 (DEFAULT_VIDEO_HEIGHT): likewise
3316 (DEFAULT_VIDEO_FLAGS): likewise
3317 (DEFAULT_VIDEO_MODE): new definition
3318 (video_hook): new function
3319 (grub_gfxterm_init): use grub_video_set_mode
3320 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3321 loading xnu
3322 * video/video.c (grub_video_setup): removed
3323 (grub_video_set_mode): new function based on grub_gfxterm_init and
3324 grub_video_setup
3325
3326 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Avoid calling biosdisk in drivemap
3329
3330 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
3331 (revparse_biosdisk): likewise
3332 (list_mappings): derive name from id directly
3333 (grub_cmd_drivemap): use tryparse_diskstring
3334
3335 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Script fixes
3338
3339 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
3340 (grub_lexer_param): add tokenonhold
3341 (grub_script_create_cmdline): remove cmdline. All callers updated
3342 (grub_script_function_create): make functionname
3343 grub_script_arg. All callers updated
3344 (grub_script_execute_argument_to_string): new prototype
3345 * kern/parser.c (state_transitions): reorder
3346 (grub_parser_cmdline_state): fix a bug and make more compact
3347 * script/sh/execute.c (grub_script_execute_argument_to_string):
3348 make global
3349 (grub_script_execute_cmdline): use new format
3350 * script/sh/function.c (grub_script_function_create): make functionname
3351 grub_script_arg. All callers updated
3352 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
3353 (grub_script_yylex): remove
3354 (grub_script_yylex2): renamed to ...
3355 (grub_script_yylex): ...renamed
3356 parse the expressions like a${b}c
3357 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
3358 (GRUB_PARSER_TOKEN_VAR): remove
3359 (GRUB_PARSER_TOKEN_NAME): likewise
3360 ("if"): declare as typeless
3361 ("while"): likewise
3362 ("function"): likewise
3363 ("else"): likewise
3364 ("then"): likewise
3365 ("fi"): likewise
3366 (text): remove
3367 (argument): likewise
3368 (script): accept empty scripts and make exit on error
3369 (arguments): use GRUB_PARSER_TOKEN_ARG
3370 (function): likewise
3371 (command): move error handling to script
3372 (menuentry): move grub_script_lexer_ref before
3373 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
3374 argument. All callers updated
3375
3376 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3377
3378 Prevent GRUB from probing floppies during boot.
3379
3380 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
3381 * commands/search.c (options): Add --no-floppy.
3382 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
3383 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
3384 --no-floppy when searching for UUIDs.
3385
3386 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3387
3388 Simplify the code duplication in commands/search.c.
3389
3390 * commands/search.c (search_label, search_fs_uuid): Merge into ...
3391 (search_fs): ... this. Update all users.
3392
3393 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
3394
3395 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
3396
3397 2009-05-28 Pavel Roskin <proski@gnu.org>
3398
3399 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
3400 Remove the original symlink explicitly.
3401
3402 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
3403 just one slash. That's how grub_fshelp_find_file() does it.
3404
3405 2009-05-26 Pavel Roskin <proski@gnu.org>
3406
3407 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
3408 to `str'.
3409
3410 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
3411 possibly unused.
3412
3413 2009-05-25 Christian Franke <franke@computer.org>
3414
3415 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
3416 register.
3417 (grub_atapi_identify): Add wait after drive select.
3418 (grub_ata_identify): Do more strict status register check before
3419 calling grub_atapi_identify (). Suppress error message if status
3420 register is 0x00 after command failure. Add status register
3421 check after PIO read to avoid bogus identify due to stuck DRQ.
3422 Thanks to Pavel Roskin for testing.
3423 (grub_device_initialize): Remove unsafe status register check.
3424 Thanks to 'phcoder' for problem report and patch.
3425 Prevent sign extension in debug message.
3426
3427 2009-05-23 Colin D Bennett <colin@gibibit.com>
3428
3429 Cleaned up `include/grub/normal.h'. Grouped prototypes by
3430 definition file, and functions defined in `normal/menu.c' have had
3431 their prototypes moved to `include/grub/menu.h' for consistency.
3432
3433 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
3434 from normal.h.
3435 (grub_menu_get_entry): Likewise.
3436 (grub_menu_get_timeout): Likewise.
3437 (grub_menu_set_timeout): Likewise.
3438 (grub_menu_execute_entry): Likewise.
3439 (grub_menu_execute_with_fallback): Likewise.
3440 (grub_menu_entry_run): Likewise.
3441
3442 * include/grub/normal.h: Re-ordered and grouped function
3443 prototypes by file that the function is defined in.
3444 (grub_menu_execute_callback): Removed; moved to menu.h.
3445 (grub_menu_get_entry): Likewise.
3446 (grub_menu_get_timeout): Likewise.
3447 (grub_menu_set_timeout): Likewise.
3448 (grub_menu_execute_entry): Likewise.
3449 (grub_menu_execute_with_fallback): Likewise.
3450 (grub_menu_entry_run): Likewise.
3451 (grub_menu_addentry): Renamed from this ...
3452 (grub_normal_add_menu_entry): ... to this.
3453
3454 * normal/main.c (grub_menu_addentry): Renamed from this ...
3455 (grub_normal_add_menu_entry): ... to this.
3456
3457 * script/sh/execute.c (grub_script_execute_menuentry): Update
3458 reference to renamed grub_menu_addentry function.
3459
3460 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
3461
3462 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
3463
3464 2009-05-22 Pavel Roskin <proski@gnu.org>
3465
3466 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
3467 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
3468 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
3469 compiling for the i386 targets, but not for the utilities.
3470
3471 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
3472 to grub_uint8_t.
3473 (grub_root_drive): Likewise.
3474 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
3475 remove alignment.
3476 (grub_root_drive): Change size to byte.
3477 (grub_start_addr): Remove.
3478 (grub_end_addr): Likewise.
3479 (grub_apm_bios_info): Likewise.
3480
3481 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
3482
3483 * normal/i386: Remove.
3484 * normal/powerpc: Likewise.
3485 * normal/sparc64: Likewise.
3486 * normal/x86_64: Likewise.
3487
3488 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
3491 * loader/i386/linux_trampoline.S: Fix indentation
3492 * loader/i386/xnu_helper.S: Likewise
3493
3494 2009-05-18 Colin D Bennett <colin@gibibit.com>
3495
3496 Display error messages when parsing a Lua statement fails.
3497 Previously, executing a syntactically invalid statement like
3498 ")foo" or "bar;" would silently fail.
3499
3500 * script/lua/grub_main.c (handle_lua_error): New function.
3501 (grub_lua_parse_line): Improved reporting of Lua parser and
3502 execution errors.
3503
3504 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 Remove -Werror which causes build to fail on some systems
3507
3508 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
3509 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
3510 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
3511
3512 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 trampoline for linux on 64-bit platform
3515
3516 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
3517 loader/i386/efi/linux_trampoline.S
3518 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
3519 declaration
3520 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
3521 here
3522 * loader/i386/linux_trampoline.S: moved here
3523 * loader/i386/efi/linux.c (allocate_pages): reserve space for
3524 trampoline
3525 (jumpvector): removed
3526 (grub_linux_trampoline_start): new declaration
3527 (grub_linux_trampoline_end): likewise
3528 (grub_linux_boot): use trampoline when on 64-bit platform
3529 * loader/i386/linux.c: likewise
3530
3531 2009-05-16 Pavel Roskin <proski@gnu.org>
3532
3533 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
3534 const to avoid a warning.
3535 (grub_lua_setenv): Likewise.
3536 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
3537 lmsg to fix a warning.
3538
3539 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
3540
3541 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
3542 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3543 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
3544 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3545 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3546 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3547 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3548 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3549
3550 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
3551
3552 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
3553
3554 2009-05-16 Bean <bean123ch@gmail.com>
3555
3556 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
3557 (lua_mod_SOURCES): New variable.
3558 (lua_mod_CFLAGS): Likewise.
3559 (lua_mod_LDFLAGS): Likewise.
3560
3561 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
3562 (setjmp_mod_SOURCES): New variable.
3563 (setjmp_mod_CFLAGS): Likewise.
3564 (setjmp_LDFLAGS): Likewise.
3565
3566 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
3567 (setjmp_mod_SOURCES): New variable.
3568 (setjmp_mod_CFLAGS): Likewise.
3569 (setjmp_LDFLAGS): Likewise.
3570
3571 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3572 (setjmp_mod_SOURCES): New variable.
3573 (setjmp_mod_CFLAGS): Likewise.
3574 (setjmp_LDFLAGS): Likewise.
3575
3576 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3577 (setjmp_mod_SOURCES): New variable.
3578 (setjmp_mod_CFLAGS): Likewise.
3579 (setjmp_LDFLAGS): Likewise.
3580
3581 * normal/i386/setjmp.S: Moved from here ...
3582 * lib/i386/setjmp.S: ... Moved here
3583 * normal/x86_64/setjmp.S: Moved from here ...
3584 * lib/x86_64/setjmp.S: ... Moved here
3585 * normal/powerpc/setjmp.S: Moved from here ...
3586 * lib/powerpc/setjmp.S: ... Moved here
3587 * normal/sparc64/setjmp.S: Moved from here ...
3588 * lib/sparc64/setjmp.S: ... Moved here
3589
3590 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
3591 returns_twice in mingw.
3592
3593 * script/lua/grub_lib.c: New file.
3594 * script/lua/grub_lib.h: Likewise.
3595 * script/lua/grub_lua.h: Likewise.
3596 * script/lua/grub_main.c: Likewise.
3597 * script/lua/lapi.c: Likewise.
3598 * script/lua/lapi.h: Likewise.
3599 * script/lua/lauxlib.c: Likewise.
3600 * script/lua/lauxlib.h: Likewise.
3601 * script/lua/lbaselib.c: Likewise.
3602 * script/lua/lcode.c: Likewise.
3603 * script/lua/lcode.h: Likewise.
3604 * script/lua/ldblib.c: Likewise.
3605 * script/lua/ldebug.c: Likewise.
3606 * script/lua/ldebug.h: Likewise.
3607 * script/lua/ldo.c: Likewise.
3608 * script/lua/ldo.h: Likewise.
3609 * script/lua/ldump.c: Likewise.
3610 * script/lua/lfunc.c: Likewise.
3611 * script/lua/lfunc.h: Likewise.
3612 * script/lua/lgc.c: Likewise.
3613 * script/lua/lgc.h: Likewise.
3614 * script/lua/linit.c: Likewise.
3615 * script/lua/liolib.c: Likewise.
3616 * script/lua/llex.c: Likewise.
3617 * script/lua/llex.h: Likewise.
3618 * script/lua/llimits.h: Likewise.
3619 * script/lua/lmathlib.c: Likewise.
3620 * script/lua/lmem.c: Likewise.
3621 * script/lua/lmem.h: Likewise.
3622 * script/lua/loadlib.c: Likewise.
3623 * script/lua/lobject.c: Likewise.
3624 * script/lua/lobject.h: Likewise.
3625 * script/lua/lopcodes.c: Likewise.
3626 * script/lua/lopcodes.h: Likewise.
3627 * script/lua/loslib.c: Likewise.
3628 * script/lua/lparser.c: Likewise.
3629 * script/lua/lparser.h: Likewise.
3630 * script/lua/lstate.c: Likewise.
3631 * script/lua/lstate.h: Likewise.
3632 * script/lua/lstring.c: Likewise.
3633 * script/lua/lstring.h: Likewise.
3634 * script/lua/lstrlib.c: Likewise.
3635 * script/lua/ltable.c: Likewise.
3636 * script/lua/ltable.h: Likewise.
3637 * script/lua/ltablib.c: Likewise.
3638 * script/lua/ltm.c: Likewise.
3639 * script/lua/ltm.h: Likewise.
3640 * script/lua/lua.h: Likewise.
3641 * script/lua/luaconf.h: Likewise.
3642 * script/lua/lualib.h: Likewise.
3643 * script/lua/lundump.c: Likewise.
3644 * script/lua/lundump.h: Likewise.
3645 * script/lua/lvm.c: Likewise.
3646 * script/lua/lvm.h: Likewise.
3647 * script/lua/lzio.c: Likewise.
3648 * script/lua/lzio.h: Likewise.
3649
3650 2009-05-16 Bean <bean123ch@gmail.com>
3651
3652 * include/grub/kernel.h (grub_module_header_types): Add type
3653 OBJ_TYPE_CONFIG.
3654
3655 * kern/main.c (grub_load_config): New function.
3656 (grub_main): Call grub_load_config to read boot config.
3657
3658 * grub-mkimage (generate_image): New parameter config_path.
3659 (options): New option --config.
3660 (main): Parse --config option, and pass it to generate_image.
3661
3662 2009-05-14 Christian Franke <franke@computer.org>
3663
3664 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
3665 This fixes build on Cygwin.
3666
3667 2009-05-14 Pavel Roskin <proski@gnu.org>
3668
3669 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
3670 jump. This saves two bytes, so the typical case of 2 swapped
3671 drives would fit 32 bytes.
3672
3673 2009-05-13 Pavel Roskin <proski@gnu.org>
3674
3675 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
3676 grub_uint32_t to avoid a warning.
3677
3678 * loader/i386/linux.c (allocate_pages): When assigning
3679 real_mode_mem, cast through grub_size_t to fix a warning. The
3680 code already makes sure that the value would fit a pointer.
3681 (grub_linux_setup_video): Cast render_target->data to
3682 grub_size_t to fix a warning.
3683
3684 2009-05-13 Javier Martín <lordhabbit@gmail.com>
3685
3686 * commands/i386/pc/drivemap.c: New file - implement drivemap
3687 command.
3688 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
3689 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
3690
3691 2009-05-13 Pavel Roskin <proski@gnu.org>
3692
3693 * util/i386/pc/grub-setup.c (setup): Remove unused variable
3694 embedding_area_exists.
3695
3696 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
3697
3698 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
3699 it easier to understand / work with.
3700 Improve warning messages for cases where there's no embedding area,
3701 or when it is too small (or core.img too large).
3702
3703 2009-05-13 Pavel Roskin <proski@gnu.org>
3704
3705 * loader/i386/pc/multiboot2.c: Add necessary includes for
3706 grub_multiboot2_real_boot().
3707
3708 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
3709 PX record is always little-endian. We only need the lower 2
3710 bytes of the mode.
3711
3712 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
3713 facilitate code reuse.
3714 (grub_cpio_mount): Use "struct head", not a char buffer. This
3715 fixes a warning reported by gcc 4.4.
3716
3717 * kernel/disk.c (grub_disk_read): Use void pointer for the
3718 buffer.
3719 (grub_disk_write): Use const void pointer for the buffer.
3720 Adjust all callers. Remove unnecessary casts.
3721
3722 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
3723
3724 * util/i386/pc/grub-install.in: Update copyright year.
3725
3726 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 gptsync
3729
3730 * commands/gptsync.c: new file
3731 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
3732 (gptsync_mod_SOURCES): new variable
3733 (gptsync_mod_CFLAGS): likewise
3734 (gptsync_mod_LDFLAGS): likewise
3735 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
3736 new definition
3737 (GRUB_PC_PARTITION_TYPE_HFS): likewise
3738 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
3739 * conf/i386-ieee1275.rmk: likewise
3740 * conf/i386-pc.rmk: likewise
3741 * conf/powerpc-ieee1275.rmk: likewise
3742
3743 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Fixed grub-emu
3746
3747 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
3748 (grub_dl_ref): likewise
3749
3750 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
3751
3752 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
3753 split in two functions (one for msdos and one for gpt).
3754
3755 2009-05-08 Pavel Roskin <proski@gnu.org>
3756
3757 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
3758 not modified.
3759
3760 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
3761 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
3762 Initialize them with -1. Add sanity check for bad1. Eliminate
3763 nerr variable.
3764
3765 2009-05-08 David S. Miller <davem@davemloft.net>
3766
3767 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
3768
3769 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
3770
3771 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
3772 existence.
3773
3774 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
3775
3776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
3777 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
3778
3779 2009-05-05 David S. Miller <davem@davemloft.net>
3780
3781 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
3782
3783 2009-05-05 Pavel Roskin <proski@gnu.org>
3784
3785 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
3786 of grub_dl_ref() and grub_dl_unref().
3787 * commands/parttool.c: Remove preprocessor conditionals around
3788 grub_dl_ref() and grub_dl_unref().
3789 * fs/affs.c: Likewise.
3790 * fs/afs.c: Likewise.
3791 * fs/cpio.c: Likewise.
3792 * fs/ext2.c: Likewise.
3793 * fs/fat.c: Likewise.
3794 * fs/hfs.c: Likewise.
3795 * fs/hfsplus.c: Likewise.
3796 * fs/iso9660.c: Likewise.
3797 * fs/jfs.c: Likewise.
3798 * fs/minix.c: Likewise.
3799 * fs/ntfs.c: Likewise.
3800 * fs/reiserfs.c: Likewise.
3801 * fs/sfs.c: Likewise.
3802 * fs/udf.c: Likewise.
3803 * fs/ufs.c: Likewise.
3804 * fs/xfs.c: Likewise.
3805 * include/grub/dl.h: Likewise.
3806 * loader/xnu.c: Likewise.
3807
3808 2009-05-04 Pavel Roskin <proski@gnu.org>
3809
3810 * commands/acpi.c: Remove unused variable my_mod.
3811 * partmap/amiga.c: Likewise.
3812 * partmap/apple.c: Likewise.
3813 * partmap/gpt.c: Likewise.
3814 * partmap/pc.c: Likewise.
3815 * partmap/sun.c: Likewise.
3816 * term/gfxterm.c: Likewise.
3817 * term/i386/pc/vesafb.c: Likewise.
3818 * term/i386/pc/vga.c: Likewise.
3819
3820 2009-05-04 David S. Miller <davem@davemloft.net>
3821
3822 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
3823 pointer args to grub_ieee1275_get_property().
3824
3825 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
3826
3827 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
3828 devices, and do not traverse down under controller nodes.
3829
3830 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
3831 (grub_ofdisk_open): Use it to un-escape "," characters.
3832 * kern/disk.c (find_part_sep): New.
3833 (grub_disk_open): Use it to find the first non-escaped ','
3834 character in the disk name.
3835 * util/ieee1275/devicemap.c (escape_of_path): New.
3836 (grub_util_emit_devicemap_entry): Use it.
3837 * util/sparc64/ieee1275/grub-install.in: Update script to
3838 strip partition specifiers properly by not triggering on
3839 '\' escaped ',' characters.
3840
3841 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3842
3843 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
3844 to 0x300.
3845 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
3846 resolutions.
3847 (linux_vesafb_modes): Add a lot of additional modes to the list (based
3848 on documentation from Wikipedia).
3849
3850 2009-05-04 Pavel Roskin <proski@gnu.org>
3851
3852 * disk/ata.c: Spelling fixes.
3853 * disk/raid.c: Likewise.
3854 * disk/usbms.c: Likewise.
3855 * disk/dmraid_nvidia.c: Likewise.
3856 * kern/ieee1275/openfw.c: Likewise.
3857 * kern/ieee1275/init.c: Likewise.
3858 * kern/ieee1275/cmain.c: Likewise.
3859 * boot/i386/pc/cdboot.S: Likewise.
3860 * video/readers/png.c: Likewise.
3861 * video/i386/pc/vbe.c: Likewise.
3862 * fs/udf.c: Likewise.
3863 * fs/hfs.c: Likewise.
3864 * fs/reiserfs.c: Likewise.
3865 * efiemu/runtime/efiemu.c: Likewise.
3866 * efiemu/main.c: Likewise.
3867 * efiemu/mm.c: Likewise.
3868 * include/grub/elf.h: Likewise.
3869 * include/grub/xnu.h: Likewise.
3870 * include/grub/usbdesc.h: Likewise.
3871 * include/grub/usb.h: Likewise.
3872 * include/grub/script_sh.h: Likewise.
3873 * include/grub/lib/LzmaEnc.h: Likewise.
3874 * include/grub/efiemu/efiemu.h: Likewise.
3875 * include/grub/command.h: Likewise.
3876 * normal/menu.c: Likewise.
3877 * normal/main.c: Likewise.
3878 * normal/datetime.c: Likewise.
3879 * bus/usb/uhci.c: Likewise.
3880 * mmap/i386/uppermem.c: Likewise.
3881 * mmap/mmap.c: Likewise.
3882 * commands/acpi.c: Likewise.
3883 * commands/test.c: Likewise.
3884 * partmap/apple.c: Likewise.
3885 * font/font.c: Likewise.
3886 * loader/sparc64/ieee1275/linux.c: Likewise.
3887 * loader/macho.c: Likewise.
3888 * loader/i386/bsd_trampoline.S: Likewise.
3889 * loader/i386/bsd.c: Likewise.
3890 * loader/xnu.c: Likewise.
3891 * term/i386/pc/vesafb.c: Likewise.
3892 * term/usb_keyboard.c: Likewise.
3893 * util/resolve.c: Likewise.
3894 * util/getroot.c: Likewise.
3895
3896 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
3897
3898 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
3899
3900 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3901
3902 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
3903 build error.
3904
3905 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3906
3907 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
3908 parameter only available on BIOS.
3909
3910 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Removed wrong semicolon in declaration
3913
3914 * grub/misc.h (grub_dprintf): remove semicolon
3915
3916 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3917
3918 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
3919 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
3920 is done by grub_cmd_linux() now).
3921 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
3922 restore video to text mode.
3923 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
3924 indicates lack of "vga=" parameter. "vga=0" is mapped to
3925 `GRUB_LINUX_VID_MODE_NORMAL'.
3926
3927 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
3928
3929 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
3930 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
3931 and `normal/script.c'. Add `kern/rescue_reader.c',
3932 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
3933 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
3934 `grub_script.tab.c'.
3935
3936 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3937 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
3940 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3941
3942 * Makefile.in: Remove duplicated 2008 in Copyright line.
3943
3944 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3945
3946 * util/misc.c (grub_util_warn): New function. Emits a warning
3947 unconditionally.
3948 * include/grub/util/misc.h (grub_util_warn): New declaration.
3949
3950 * util/i386/pc/grub-install.in: Understand --force and pass it down
3951 to grub-setup.
3952
3953 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
3954 down to setup().
3955 (setup): Improve error messages and add warnings when requested to
3956 install in odd layouts. Refuse to install using blocklists unless
3957 --force was set.
3958
3959 2009-05-04 martin f. krafft <madduck@madduck.net>
3960
3961 * disk/raid.c (grub_raid_scan_device): Improve debug message.
3962
3963 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Updated copyright year
3966
3967 * fs/hfsplus.c: updated copyright year
3968
3969 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 HFS+ UUID
3972
3973 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
3974 in the space previously used by unused3
3975 (grub_hfsplus_uuid): new function
3976 (grub_hfsplus_fs): added uuid field
3977
3978 2009-05-03 Pavel Roskin <proski@gnu.org>
3979
3980 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
3981 suppress warnings. It's no longer needed.
3982 * disk/host.c: Likewise.
3983 * disk/ata_pthru.c: Likewise.
3984 * disk/loopback.c: Likewise.
3985 * hook/datehook.c: Likewise.
3986 * parttool/pcpart.c: Likewise.
3987 * fs/i386/pc/pxe.c: Likewise.
3988 * fs/ntfscomp.c: Likewise.
3989 * efiemu/main.c: Likewise.
3990 * mmap/mmap.c: Likewise.
3991 * commands/crc.c: Likewise.
3992 * commands/hexdump.c: Likewise.
3993 * commands/hdparm.c: Likewise.
3994 * commands/acpi.c: Likewise.
3995 * commands/echo.c: Likewise.
3996 * commands/minicmd.c: Likewise.
3997 * commands/blocklist.c: Likewise.
3998 * commands/memrw.c: Likewise.
3999 * commands/loadenv.c: Likewise.
4000 * commands/usbtest.c: Likewise.
4001 * commands/lsmmap.c: Likewise.
4002 * commands/boot.c: Likewise.
4003 * commands/parttool.c: Likewise.
4004 * commands/configfile.c: Likewise.
4005 * commands/search.c: Likewise.
4006 * commands/ieee1275/suspend.c: Likewise.
4007 * commands/cat.c: Likewise.
4008 * commands/i386/pc/pxecmd.c: Likewise.
4009 * commands/i386/pc/play.c: Likewise.
4010 * commands/i386/pc/halt.c: Likewise.
4011 * commands/i386/pc/vbeinfo.c: Likewise.
4012 * commands/i386/pc/vbetest.c: Likewise.
4013 * commands/lspci.c: Likewise.
4014 * commands/date.c: Likewise.
4015 * commands/handler.c: Likewise.
4016 * commands/ls.c: Likewise.
4017 * commands/test.c: Likewise.
4018 * commands/cmp.c: Likewise.
4019 * commands/efi/loadbios.c: Likewise.
4020 * commands/efi/fixvideo.c: Likewise.
4021 * commands/halt.c: Likewise.
4022 * commands/help.c: Likewise.
4023 * commands/reboot.c: Likewise.
4024 * hello/hello.c: Likewise.
4025 * script/sh/main.c: Likewise.
4026 * loader/xnu.c: Likewise.
4027 * term/terminfo.c: Likewise.
4028 * term/i386/pc/serial.c: Likewise.
4029 * term/usb_keyboard.c: Likewise.
4030
4031 2009-05-03 David S. Miller <davem@davemloft.net>
4032
4033 * normal/menu.c: Include grub/parser.h
4034
4035 2009-05-03 Pavel Roskin <proski@gnu.org>
4036
4037 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4038 not char*.
4039 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4040 Suggested by Javier Martín <lordhabbit@gmail.com>
4041
4042 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4043 efiemu??.o doesn't exist.
4044 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4045 copying.
4046
4047 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 FreeBSD 64-bit support
4050
4051 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
4052 and loader/i386/bsd_trampoline.S
4053 (bsd_mod_ASFLAGS): new variable
4054 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4055 (FREEBSD_MODTYPE_KERNEL64): likewise
4056 (grub_bsd64_trampoline_start): likewise
4057 (grub_bsd64_trampoline_end): likewise
4058 (grub_bsd64_trampoline_selfjump): likewise
4059 (grub_bsd64_trampoline_gdt): likewise
4060 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4061 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4062 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4063 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
4064 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
4065 of "attrib" member
4066 * loader/i386/bsd_pagetable.c: new file
4067 * loader/i386/bsd_trampoline.S: likewise
4068 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4069 (ALIGN_VAR): likewise
4070 (entry_hi): new variable
4071 (kern_end_mdofs): likewise
4072 (is_64bit): likewise
4073 (grub_freebsd_add_meta): use ALIGN_VAR
4074 (grub_e820_mmap): new declaration
4075 (grub_freebsd_add_mmap): new function
4076 (grub_freebsd_add_meta_module): support 64 bit kernels
4077 (grub_freebsd_list_modules): use ALIGN_VAR
4078 (gdt_descriptor): new declaration
4079 (grub_freebsd_boot): support 64 bit kernels
4080 (grub_bsd_elf64_hook): new function
4081 (grub_bsd_load_elf): support elf64
4082
4083 2009-05-03 Bean <bean123ch@gmail.com>
4084
4085 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
4086 after we get the result of if statement.
4087
4088 2009-05-03 Bean <bean123ch@gmail.com>
4089
4090 * Makefile.in (enable_efiemu): New variable.
4091
4092 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
4093 set.
4094 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
4095 path.
4096 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
4097 path, add -mno-red-zone option.
4098 (efiemu64_s.o): Likewise.
4099 (efiemu64.o): Use macro $^ for source file.
4100
4101 * configure.ac (--enable-efiemu): New option.
4102
4103 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 xnu support
4106
4107 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
4108 (pkglib_MODULES): add xnu.mod
4109 (xnu_mod_SOURCES): new variable
4110 (xnu_mod_CFLAGS): likewise
4111 (xnu_mod_LDFLAGS): likewise
4112 (xnu_mod_ASFLAGS): likewise
4113 * conf/i386-pc.rmk: likewise
4114 * conf/x86_64-efi.rmk: likewise
4115 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
4116 new declaration
4117 * include/grub/i386/macho.h: new file
4118 * include/grub/i386/xnu.h: likewise
4119 * include/grub/macho.h: likewise
4120 * include/grub/machoload.h: likewise
4121 * include/grub/x86_64/macho.h: likewise
4122 * include/grub/x86_64/xnu.h: likewise
4123 * include/grub/xnu.h: likewise
4124 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
4125 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
4126 * loader/i386/efi/xnu.c: new file
4127 * loader/i386/pc/xnu.c: likewise
4128 * loader/i386/xnu.c: likewise
4129 * loader/i386/xnu_helper.S: likewise
4130 * loader/macho.c: likewise
4131 * loader/xnu.c: likewise
4132 * loader/xnu_resume.c: likewise
4133 * util/grub-dumpdevtree: likewise
4134 * include/grub/i386/pit.h: include grub/err.h
4135 (grub_pit_wait): export
4136 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
4137
4138 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Efiemu
4141
4142 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
4143 _linux_efi, linux_efi.
4144 new files in grub-emu
4145 new targets efiemu32.o and efiemu64.o
4146 * loader/linux_normal_efiemu.c: likewise
4147 * loader/i386/efi/linux.c: added preliminary efiemu support
4148 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
4149 files to copy
4150 * include/grub/autoefi.h: new file
4151 * include/grub/i386/efiemu.h: likewise
4152 * include/grub/i386/pc/efiemu.h: likewise
4153 * include/grub/efi/api.h: add LL suffix when necessary
4154 new definitions relating to tables
4155 * include/grub/efiemu/efiemu.h: new file
4156 * include/grub/efiemu/runtime.h: likewise
4157 * efiemu/prepare.c: likewise
4158 * efiemu/loadcore_common.c: likewise
4159 * efiemu/loadcore64.c: likewise
4160 * efiemu/runtime/efiemu.sh: likewise
4161 * efiemu/runtime/efiemu.S: likewise
4162 * efiemu/runtime/efiemu.c: likewise
4163 * efiemu/runtime/config.h: likewise
4164 * efiemu/prepare32.c: likewise
4165 * efiemu/main.c: likewise
4166 * efiemu/modules/pnvram.c: likewise
4167 * efiemu/modules/i386: likewise
4168 * efiemu/modules/i386/pc: likewise
4169 * efiemu/modules/acpi.c: likewise
4170 * efiemu/i386/pc/cfgtables.c: likewise
4171 * efiemu/i386/loadcore64.c: likewise
4172 * efiemu/i386/loadcore32.c: likewise
4173 * efiemu/prepare64.c: likewise
4174 * efiemu/loadcore.c: likewise
4175 * efiemu/symbols.c: likewise
4176 * efiemu/mm.c: likewise
4177 * efiemu/loadcore32.c: likewise
4178
4179 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 ACPI spoofing
4182
4183 * commands/acpi.c: new file
4184 * commands/i386/pc/acpi.c: likewise
4185 * commands/efi/acpi.c: likewise
4186 * include/grub/acpi.h: likewise
4187 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
4188 (acpi_mod_SOURCES): new variable
4189 (acpi_mod_CFLAGS): likewise
4190 (acpi_mod_LDFLAGS): likewise
4191 * conf/i386-efi.rmk: likewise
4192 * conf/x86_64-efi.rmk: likewise
4193
4194 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 Missing part from mmap patch
4197
4198 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
4199 (grub_mmap_unregister)
4200 (grub_mmap_free_and_unregister): use grub_mmap_register
4201
4202 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 Mmap services
4205
4206 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
4207 * loader/i386/linux.c (find_mmap_size): likewise
4208 (allocate_pages): likewise
4209 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
4210 (grub_fill_multiboot_mmap): likewise
4211 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
4212 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
4213 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
4214 (OPENBSD_MMAP_RESERVED): likewise
4215 * include/grub/i386/pc/memory.h: include grub/memory.h
4216 (grub_lower_mem): removed
4217 (grub_upper_mem): likewise
4218 (GRUB_MACHINE_MEMORY_ACPI): new definition
4219 (GRUB_MACHINE_MEMORY_NVS): likewise
4220 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
4221 (GRUB_MACHINE_MEMORY_HOLE): likewise
4222 (grub_machine_mmap_register): likewise
4223 (grub_machine_mmap_unregister): likewise
4224 (grub_machine_get_upper): likewise
4225 (grub_machine_get_lower): likewise
4226 (grub_machine_get_post64): likewise
4227 * include/grub/i386/efi/memory.h: new file
4228 * include/grub/x86_64/efi/memory.h: likewise
4229 * include/grub/efi/memory.h: likewise
4230 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
4231 (mmap_mod_SOURCES): new variable
4232 (mmap_mod_LDFLAGS): likewise
4233 (mmap_mod_ASFLAGS): likewise
4234 * conf/i386-coreboot.rmk: likewise
4235 * conf/i386-ieee1275.rmk: likewise
4236 * conf/i386-efi.rmk: likewise
4237 * conf/x86_64-efi.rmk: likewise
4238 * include/grub/types.h (UINT_TO_PTR): new macro
4239 (PTR_TO_UINT32): likewise
4240 (PTR_TO_UINT64): likewise
4241 * include/grub/memory.h: new file
4242 * mmap/i386/pc/mmap.c: likewise
4243 * mmap/i386/pc/mmap_helper.S: likewise
4244 * mmap/i386/uppermem.c: likewise
4245 * mmap/mmap.c: likewise
4246 * mmap/efi/mmap.c: likewise
4247 * kern/i386/coreboot/init.c (grub_machine_init): don't use
4248 grub_upper_mem
4249 * kern/i386/pc/init.c (grub_lower_mem): removed variable
4250 (grub_upper_mem): likewise
4251 (grub_machine_init): don't use grub_upper_mem,
4252 make grub_lower_mem local
4253 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
4254 grub_mmap_iterate and grub_mmap_get_upper
4255 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
4256
4257 2009-05-02 Bean <bean123ch@gmail.com>
4258
4259 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
4260 script/sh/parser.y.
4261 (pkglib_MODULES): Add normal.mod and sh.mod.
4262 (normal_SOURCES): New variable.
4263 (normal_mod_CFLAGS): Likewise.
4264 (normal_mod_LDFLAGS): Likewise.
4265 (sh_mod_SOURCES): Likewise.
4266 (sh_mod_CFLAGS): Likewise.
4267 (sh_mod_LDFLAGS): Likewise.
4268
4269 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
4270 script/sh/lexer.c_DEPENDENCIES.
4271 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
4272 kern/rescue_reader.c and kern/rescue_parser.c.
4273 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
4274 (grub_emu_SOURCES): Change source files.
4275 (pkglib_MODULES): Remove normal.mod.
4276 (normal_SOURCES): Removed.
4277 (normal_mod_CFLAGS): Likewise.
4278 (normal_mod_LDFLAGS): Likewise.
4279 * conf/i386-coreboot.rmk: Likewise.
4280 * conf/i386-efi.rmk: Likewise.
4281 * conf/i386-ieee1276.rmk: Likewise.
4282 * conf/powerpc-ieee1275.rmk: Likewise.
4283 * conf/sparc64-ieee1275.rmk: Likewise.
4284 * conf/x86_64-efi.rmk: Likewise.
4285
4286 * include/grub/command.h (grub_command_execute): New inline function.
4287
4288 * include/grub/menu.h (grub_menu_entry): Removed commands field.
4289
4290 * include/grub/normal.h: Remove <grub/setjmp.h>.
4291 (grub_fs_module_list): Moved to normal/autofs.c.
4292 (grub_exit_env): Removed.
4293 (grub_command_execute): Likewise.
4294 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
4295 parameter script.
4296 (read_command_list): New function declaration.
4297 (read_fs_list): Likewise.
4298
4299 * include/parser.h: Include <grub/reader.h>.
4300 (grub_parser_split_cmdline): Change type of getline parameter.
4301 (grub_parser): New structure.
4302 (grub_parser_class): New variable.
4303 (grub_parser_execute): New function declaration.
4304 (grub_register_rescue_parser): Likewise.
4305 (grub_parser_register): New inline function.
4306 (grub_parser_unregister): Likewise.
4307 (grub_parser_get_current): Likewise.
4308 (grub_parser_set_current): Likewise.
4309
4310 * include/grub/reader.h: New file.
4311 * kern/reader.c: Likewise.
4312 * kern/rescue_parser.c: Likewise.
4313 * kern/rescue_reader.c: Likewise.
4314 * normal/autofs.c: Likewise.
4315 * normal/dyncmd.c: Likewise.
4316
4317 * include/grub/rescue.h: Removed.
4318 * normal/command.h: Likewise.
4319
4320 * include/grub/script.h: Moved to ...
4321 * include/grub/script_sh.h: ... Moved here.
4322 * normal/execute.c: Moved to ...
4323 * script/sh/execute.c: ... Moved here.
4324 * normal/function.c: Moved to ...
4325 * script/sh/function.c: ... Moved here.
4326 * normal/lexer.c: Moved to ...
4327 * script/sh/lexer.c: ... Moved here.
4328 * normal/parser.y: Moved to ...
4329 * script/sh/parser.y: ... Moved here.
4330 * normal/script.c: Moved to ...
4331 * script/sh/script.c: ... Moved here.
4332
4333 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
4334 <grub/reader.h>.
4335 (grub_exit_env): Removed.
4336 (fs_module_list): Moved to normal/autofs.c.
4337 (grub_file_getline): Don't handle comment here.
4338 (free_menu): Skip removed field entry->commands.
4339 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
4340 script parameter.
4341 (read_config_file): Removed nested parameter, change getline function.
4342 (grub_enter_normal_mode): Removed.
4343 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
4344 (read_command_list): Likewise.
4345 (autoload_fs_module): Moved to normal/autofs.c.
4346 (read_fs_list): Likewise.
4347 (reader_nested): New variable.
4348 (grub_normal_execute): Run parser.sh to switch to sh parser.
4349 (grub_cmd_rescue): Removed.
4350 (cmd_normal): Removed.
4351 (grub_cmd_normal): Unregister itself at the beginning. Don't register
4352 rescue command.
4353 (grub_cmdline_run): New function.
4354 (grub_normal_reader_init): Likewise.
4355 (grub_normal_read_line): Likewise.
4356 (grub_env_write_pager): Likewise.
4357 (cmdline): New variable.
4358 (grub_normal_reader): Likewise.
4359 (GRUB_MOD_INIT): Register normal reader and set as current, register
4360 pager hook, register normal command with grub_register_command_prio,
4361 so that it won't show up in command.lst.
4362 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
4363 grub_fs_autoload_hook.
4364
4365 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
4366 (grub_menu_execute_entry): Replace grub_script_execute with
4367 grub_parser_execute, change parameter to grub_command_execute.
4368
4369 * normal/menu_text.c: Remove <grub/script.h>.
4370
4371 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
4372 and <grub/parser.h>.
4373 (run): Change editor_getline to use new parser interface. Change
4374 parameter to grub_command_execute.
4375
4376 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
4377 <grub/reader.h> and <grub/parser.h>.
4378 (grub_load_normal_mode): Execute normal command.
4379 (grub_main): Call grub_register_core_commands,
4380 grub_register_rescue_parser and grub_register_rescue_reader, use
4381 grub_reader_loop to enter input loop.
4382
4383 * kern/parser.c (grub_parser_split_cmdline): Change type of
4384 getline parameter.
4385 (grub_parser_class): New variable.
4386 (grub_parser_execute): New function.
4387
4388 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
4389 * loader/multiboot2.c: Likewise.
4390 * loader/sparc64/ieee1275/linux.c: Likewise.
4391
4392 * util/grub-emu.c (read_command_list): New dummy function.
4393
4394 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4395
4396 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
4397 count to 16 for CCISS and IDA.
4398
4399 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4400
4401 * normal/menu_text.c (grub_wait_after_message): Print a newline
4402 after waiting for user input.
4403
4404 * loader/i386/linux.c: Include `<grub/normal.h>'.
4405 (grub_cmd_linux): Improve the error message about `ask' mode, by
4406 waiting for user input so it's not missed (we can do this, since
4407 user requested interaction).
4408
4409 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Added missing lst to grub-mkrescue
4412
4413 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
4414 and ${input_dir}/parttool.lst
4415
4416 2009-04-30 David S. Miller <davem@davemloft.net>
4417
4418 * util/hostdisk.c (device_is_wholedisk): New function.
4419 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
4420 zero only if device_is_wholedisk() returns true.
4421
4422 * util/hostdisk.c (convert_system_partition_to_system_disk):
4423 Handle virtual disk devices named /dev/vdiskX as found on sparc
4424 and powerpc.
4425
4426 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
4427 lettered partition specifier is found, convert to numbered.
4428
4429 2009-04-29 David S. Miller <davem@davemloft.net>
4430
4431 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
4432 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4433
4434 * normal/command.c: Add missing newline at end of file.
4435
4436 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
4437 warnings.
4438 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
4439 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
4440 grub_ofdisk_read): Likewise, and deal similarly with the fact that
4441 ihandles have a 32-bit type but need to be stored in a "void *".
4442
4443 2009-04-28 Pavel Roskin <proski@gnu.org>
4444
4445 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
4446 not disk. Adjust all dependencies.
4447 (grub_fs_uuid_close): Use grub_device_close(), not
4448 grub_disk_close().
4449
4450 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
4451 parent's partition, don't copy it by reference, as it gets freed
4452 on close.
4453
4454 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Preboot hooks support
4457
4458 * commands/boot.c (struct grub_preboot_t): new declaration
4459 (preboots_head): new variable
4460 (preboots_tail): likewise
4461 (grub_loader_register_preboot_hook): new function
4462 (grub_loader_unregister_preboot_hook): likewise
4463 (grub_loader_set): launch preboot hooks
4464 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
4465 (grub_loader_register_preboot_hook): new declaration
4466 (grub_loader_unregister_preboot_hook): likewise
4467
4468 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 Warning fix
4471
4472 * disk/scsi.c (grub_scsi_open): added missing cast when
4473 calling grub_dprintf
4474
4475 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Bug and warning fixes
4478
4479 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
4480 declaration
4481 * commands/test.c (test_parse): fixed bug with file tests and corrected
4482 declaration of find_file
4483
4484 2009-04-26 Pavel Roskin <proski@gnu.org>
4485
4486 * Makefile.in: Don't install empty manual pages if help2man is
4487 missing. Use help2man option for output, not shell redirection.
4488
4489 2009-04-26 David S. Miller <davem@davemloft.net>
4490
4491 * util/grub-mkdevicemap.c (make_device_map): Add missing
4492 NESTED_FUNC_ATTR to process_device().
4493
4494 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Test command
4497
4498 * commands/test.c: rewritten to use bash-like test
4499
4500 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Parttool autoloading and improvements
4503
4504 * Makefile.in (pkglib_DATA): add parttool.lst
4505 (parttool.lst): new target
4506 * genmk.rb: generate parttool-*
4507 (CLEANFILES): add #{parttool}
4508 (PARTTOOLFILES): new variable
4509 * genparttoollist.sh: new file
4510 * parttool/pcpart.c (grub_pcpart_boot): more feedback
4511 (grub_pcpart_type): likewise
4512 * commands/parttool.c (helpmsg): new variable
4513 (grub_cmd_parttool): output help if not enough arguments are supplied
4514 autoload modules
4515 (GRUB_MOD_INIT(parttool)): use helpmsg
4516
4517 2009-04-24 David S. Miller <davem@davemloft.net>
4518
4519 Avoiding opening same device multiple times in device iterator.
4520
4521 * kern/device.c: (grub_device_iterate): Define struct part_ent,
4522 and use it to build a list of partitions in iterate_disk() and
4523 iterate_partition().
4524
4525 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
4526 on disk->data.
4527
4528 * disk/ieee1275/nand.c (grub_nand_iterate): Return
4529 grub_devalias_iterate() result instead of unconditional 0.
4530 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
4531 Also, capture hook return value, either directly or via
4532 grub_children_iterate(), and propagate to caller.
4533 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
4534 grub_children_iterate): Return value is now 'int' instead of
4535 'grub_err_t'.
4536 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
4537 like a proper iterator, stopping when hooks return non-zero.
4538 (grub_devalias_iterate): Likewise.
4539
4540 2009-04-23 David S. Miller <davem@davemloft.net>
4541
4542 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
4543
4544 2009-04-22 David S. Miller <davem@davemloft.net>
4545
4546 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
4547 is larger than address_cells, use that value for address_cells too.
4548
4549 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
4550 IEEE1275_MAX_PATH_LEN): Define.
4551 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
4552 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
4553 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
4554 'devtype'. Explicitly NULL terminate devalias expansion.
4555
4556 * util/sparc64/ieee1275/misc.c: New file.
4557 * util/sparc64/ieee1275/grub-setup.c: New file.
4558 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
4559 * util/sparc64/ieee1275/grub-mkimage.c: New file.
4560 * util/sparc64/ieee1275/grub-install.in: New file.
4561 * util/ieee1275/ofpath.c: New file.
4562 * util/ieee1275/devicemap.c: New file.
4563 * util/devicemap.c: New file.
4564 * util/deviceiter.c: New file.
4565 * kern/sparc64/ieee1275/init.c: New file.
4566 * include/grub/util/ofpath.h: New file.
4567 * include/grub/util/deviceiter.h: New file.
4568 * util/grub-mkdevicemap.c: Include deviceiter.h.
4569 Implement using grub_util_emit_devicemap_entry and
4570 grub_util_iterate_devices.
4571 * conf/i386-corebook.rmk: Build util/deviceiter.c and
4572 util/devicemap.c into grub-mkdevicemap
4573 * conf/i386-efi.rmk: Likewise.
4574 * conf/i386-ieee1275.rmk: Likewise.
4575 * conf/i386-pc.rmk: Likewise.
4576 * conf/powerpc-ieee1275.rmk: Likewise.
4577 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
4578 images and installation utilities. Build kernel as image
4579 instead of as elf binary. Use common rules as much as possible.
4580
4581 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Correct GPT definition
4584
4585 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
4586 of "attrib" member
4587
4588 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
4589
4590 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
4591
4592 2009-04-19 David S. Miller <davem@davemloft.net>
4593
4594 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
4595 (grub_rescue_cmd_linux): Rename to...
4596 (grub_cmd_linux): and fix prototype.
4597 (grub_rescue_cmd_initrd): Rename to...
4598 (grub_cmd_initrd): and fix prototype.
4599 (cmd_linux, cmd_initrd): New.
4600 (GRUB_MOD_INIT(linux)): Use grub_register_command().
4601 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
4602
4603 2009-04-17 Pavel Roskin <proski@gnu.org>
4604
4605 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
4606 format.
4607 (grub_ohci_transfer): Likewise.
4608
4609 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
4610
4611 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
4612 return without a value. Fix inconsistent indentation.
4613
4614 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
4615 match struct grub_fs.
4616
4617 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
4618 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
4619 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4620 * commands/lspci.c (grub_lspci_iter): Likewise.
4621
4622 2009-04-16 Bean <bean123ch@gmail.com>
4623
4624 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
4625 value.
4626
4627 2009-04-15 Pavel Roskin <proski@gnu.org>
4628
4629 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
4630 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
4631 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
4632 definitions.
4633
4634 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
4635
4636 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
4637 that no multiple data or metadata areas are supported and `Unknown
4638 metadata header'.
4639
4640 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Move loader out of the kernel
4643
4644 * kern/loader.c: moved to ...
4645 * commands/boot.c: ... moved here
4646 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
4647 * commands/boot.c (grub_cmd_boot): moved here. All users updated
4648 * include/grub/kernel.h (grub_machine_fini): export
4649 * include/grub/loader.h (grub_loader_is_loaded): update declaration
4650 (grub_loader_set): likewise
4651 (grub_loader_unset): likewise
4652 (grub_loader_boot): likewise
4653 * conf/common.rmk: new module boot.mod
4654 (pkglib_MODULES): add boot.mod
4655 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
4656 (grub_emu_SOURCES): likewise
4657 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
4658 (grub_emu_SOURCES): likewise
4659 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
4660 (grub_emu_SOURCES): likewise
4661 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
4662 (grub_emu_SOURCES): likewise
4663 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
4664 (grub_emu_SOURCES): likewise
4665 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
4666 (grub_emu_SOURCES): likewise
4667 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
4668 (grub_emu_SOURCES): likewise
4669
4670 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
4673
4674 * kern/misc.c (grub_itoa): Removed function
4675 (grub_ltoa): likewise
4676 (grub_vsprintf): use grub_lltoa
4677
4678 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Restore grub-emu
4681
4682 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
4683 * conf/i386-coreboot.rmk: likewise
4684 * conf/i386-ieee1275.rmk: likewise
4685 * conf/powerpc-ieee1275.rmk: likewise
4686
4687 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
4688
4689 * INSTALL: Add that `./autogen.sh' needs to be run before
4690 `./configure.'.
4691
4692 2009-04-14 Bean <bean123ch@gmail.com>
4693
4694 * Makefile.in (pkglib_DATA): Add handler.lst.
4695 (handler.lst): New rule.
4696
4697 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
4698 * conf/i386-coreboot.rmk: Likewise.
4699 * conf/i386-ieee1275.rmk: Likewise.
4700 * conf/i386-efi.rmk: Likewise.
4701 * conf/x86_64-efi.rmk: Likewise.
4702 * conf/powerpc-ieee1275.rmk: Likewise.
4703 * conf/sparc64-ieee1275.rmk: Likewise.
4704
4705 * genhandlerlist.sh: New file.
4706
4707 * genmk.rb: Add rules to generate handler.lst.
4708
4709 * include/grub/normal.h (grub_file_getline): New function definition.
4710 (read_handler_list): Likewise.
4711 (free_handler_list): Likewise.
4712
4713 * include/grub/term.h (grub_term_register_input): Add name parameter
4714 for auto generation of handler.lst.
4715 (grub_term_register_output): Likewise.
4716
4717 * normal/handler.c: New file.
4718
4719 * normal/main.c (get_line): Renamed to grub_file_getline.
4720 (read_config_file): Use the newly renamed grub_file_getline.
4721 (read_command_list): Likewise.
4722 (read_fs_list): Likewise.
4723 (grub_normal_execute): Call read_handler_list to parse handler.lst.
4724 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
4725
4726 * term/efi/console.c (grub_console_init): Add name parameter for auto
4727 generation of handler.lst.
4728 * term/gfxterm.c: Likewise.
4729 * term/i386/pc/at_keyboard.c: Likewise.
4730 * term/i386/pc/console.c: Likewise.
4731 * term/i386/pc/serial.c: Likewise.
4732 * term/i386/pc/vesafb.c: Likewise.
4733 * term/i386/pc/vga.c: Likewise.
4734 * term/i386/pc/vga_text.c: Likewise.
4735 * term/ieee1275/ofconsole.c: Likewise.
4736 * term/usb_keyboard.c: Likewise.
4737
4738 2009-04-14 Bean <bean123ch@gmail.com>
4739
4740 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
4741 properly with null character.
4742
4743 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
4744
4745 * configure: Remove.
4746 * config.h.in: Likewise.
4747 * stamp-h.in: Likewise.
4748 * DISTLIST: Likewise.
4749 * conf/common.mk: Likewise.
4750 * conf/i386-coreboot.mk: Likewise.
4751 * conf/i386-efi.mk: Likewise.
4752 * conf/i386-ieee1275.mk: Likewise.
4753 * conf/i386.mk: Likewise.
4754 * conf/i386-pc.mk: Likewise.
4755 * conf/powerpc-ieee1275.mk: Likewise.
4756 * conf/sparc64-ieee1275.mk: Likewise.
4757 * conf/x86_64-efi.mk: Likewise.
4758
4759 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
4760 develop on GRUB.
4761
4762 2009-04-14 John Stanley <jpsinthemix@verizon.net>
4763 David S. Miller <davem@davemloft.net>
4764
4765 * util/hostdisk.c (make_device_name): Fix buffer length
4766 calculations.
4767
4768 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
4769
4770 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
4771 <sys/param.h> and <sys/sysctl.h>.
4772 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
4773 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
4774 opening the device and reset them afterwards.
4775
4776 2009-04-13 Pavel Roskin <proski@gnu.org>
4777
4778 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
4779 Reported by John Stanley <jpsinthemix@verizon.net>
4780
4781 2009-04-13 Robert Millan <rmh@aybabtu.com>
4782
4783 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
4784 that name for menuentries when appropriate.
4785
4786 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
4787
4788 * util/grub.d/10_freebsd.in: Add a missing `fi'.
4789
4790 2009-04-13 Robert Millan <rmh@aybabtu.com>
4791
4792 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
4793 to Linux, simply abort telling the user it's no longer supported.
4794
4795 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
4796
4797 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
4798 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
4799 `freebsd_loadenv' only when devices.hints exist.
4800
4801 2009-04-13 Pavel Roskin <proski@gnu.org>
4802
4803 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
4804
4805 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
4806
4807 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
4808 partition number.
4809 (grub_drive): Likewise.
4810
4811 2009-04-13 David S. Miller <davem@davemloft.net>
4812
4813 * kern/sparc64/ieee1275/ieee1275.c: New file.
4814 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
4815 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
4816 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
4817 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
4818 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
4819 grub_ieee1275_alloc_physmem): Declare new exported functions.
4820
4821 * include/grub/sparc64/ieee1275/loader.h: New file.
4822 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4823 * include/grub/sparc64/kernel.h: Likewise.
4824 * loader/sparc64/ieee1275/linux.c: Likewise.
4825
4826 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
4827 (grub_fstest_SOURCES): Likewise.
4828
4829 * util/hostdisk.c (make_device_name): Do not make any assumptions
4830 about the length of drive names.
4831
4832 * kern/dl.c (grub_dl_load_file): Close file immediately when
4833 we are done using it.
4834
4835 2009-04-12 David S. Miller <davem@davemloft.net>
4836
4837 * kern/misc.c (grub_ltoa): Fix cast when handling negative
4838 values. Noticed by Pavel Roskin.
4839
4840 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
4841 target compiler.
4842
4843 * genmk.rb: Add more flexible image type specification, also
4844 pass --strip-unneeded to objcopy.
4845 * conf/i386-pc.rmk: Use *_FORMAT.
4846 * conf/i386-pc.mk: Rebuilt.
4847
4848 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
4849 (OFDISK_HASH_SZ): Define.
4850 (ofdisk_hash): New hash table.
4851 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
4852 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
4853 instead of device phandle which is not unique.
4854
4855 * kern/sparc64/ieee1275/init.c: Delete, replace with...
4856 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
4857 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
4858 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
4859 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
4860 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
4861 GRUB_KERNEL_MACHINE_DATA_END): Define.
4862 (grub_kernel_image_size, grub_total_module_size): Declare.
4863
4864 2009-04-12 Pavel Roskin <proski@gnu.org>
4865
4866 * configure.ac: Change the logic when we check for target tools.
4867 Do it when the target is specified and it's different from the
4868 specified value of the host.
4869
4870 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
4871
4872 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
4873 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
4874 GNU/kFreeBSD. Check if a device is a character device. Use
4875 DIOCGMEDIASIZE to get the size.
4876 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
4877 support for GNU/kFreeBSD.
4878 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
4879 is a character device instead of a block device. Add support for
4880 FreeBSD device names.
4881
4882 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
4883 is a character device instead of a block device.
4884
4885 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
4886 is a character device instead of a block device.
4887
4888 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
4889
4890 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
4891 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
4892 FreeBSD. Check if a device is a character device. Use
4893 DIOCGMEDIASIZE to get the size.
4894 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
4895 support for FreeBSD.
4896 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
4897 is a character device instead of a block device. Add support for
4898 FreeBSD device names.
4899
4900 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
4901 a character device instead of a block device.
4902 (grub_util_check_char_device): New function.
4903
4904 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
4905 a character device instead of a block device.
4906
4907 * include/grub/util/getroot.h (grub_util_check_char_device): New
4908 prototype.
4909
4910 2009-04-11 David S. Miller <davem@davemloft.net>
4911
4912 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
4913 static libgcc.
4914 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
4915 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
4916 function, if present.
4917 (__bswapdi2): Likewise.
4918
4919 * include/grub/sparc64/ieee1275/boot.h: New file.
4920 * boot/sparc64/ieee1275/boot.S: Likewise.
4921 * boot/sparc64/ieee1275/diskboot.S: Likewise.
4922
4923 * kern/misc.c (grub_ltoa): New function.
4924 (grub_vsprintf): Use it to format 'long' integers.
4925
4926 2009-04-10 David S. Miller <davem@davemloft.net>
4927
4928 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
4929 slots are of type grub_ieee1275_cell_t.
4930 (grub_nand_read): Likewise.
4931 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
4932 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
4933 macros are used to compare values in arg/ret block of the call.
4934 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
4935 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
4936 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
4937 grub_ieee1275_instance_to_path, grub_ieee1275_write,
4938 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
4939 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
4940 grub_ieee1275_close, grub_ieee1275_set_property,
4941 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
4942 grub_ieee1275_cell_t.
4943 * kern/ieee1275/openfw.c (grub_map): Likewise.
4944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
4945 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
4946
4947 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
4948 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4949 (grub_devalias_iterate): Likewise.
4950
4951 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 UFS improvements
4954
4955 * fs/ufs.c (INODE_NBLOCKS): new definition
4956 (struct grub_ufs_dirent): added fields for non-BSD dirents
4957 (grub_ufs_get_file_block): fixed double indirect handling
4958 (grub_ufs_lookup_symlink): use more robust way to determine whether
4959 symlink is inline
4960 (grub_ufs_find_file): support for non-BSD dirents
4961 (grub_ufs_dir): support for non-BSD dirents
4962
4963 2009-04-10 Bean <bean123ch@gnail.com>
4964
4965 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
4966 attribute, otherwise the size would be wrong for i386 platform.
4967
4968 * include/grub/pci.h (grub_pci_read_word): New inline function.
4969 (grub_pci_read_byte): Likewise.
4970 (grub_pci_write): Likewise.
4971 (grub_pci_write_word): Likewise.
4972 (grub_pci_write_byte): Likewise.
4973
4974 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
4975
4976 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
4977 (find_framebuf): Scan pci to locate the frame buffer address.
4978
4979 * commands/efi/fixvideo.c: New file.
4980
4981 * commands/efi/loadbios.c: Likewise.
4982
4983 * commands/memrw.c: Likewise.
4984
4985 * util/grub-dumpbios.in: Likewise.
4986
4987 * conf/common.rmk (grub-dumpbios): New utility.
4988 (pkglib_MODULES): New module memrw.mod.
4989 (memrw_mod_SOURCE): New macro.
4990 (memrw_mod_CFLAGS): Likewise.
4991 (memrw_mod_LDFLAGS): Likewise.
4992
4993 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
4994 fixvideo.mod.
4995 (loadbios_mod_SOURCE): New macro.
4996 (loadbios_mod_CFLAGS): Likewise.
4997 (loadbios_mod_LDFLAGS): Likewise.
4998 (fixvideo_mod_SOURCE): Likewise.
4999 (fixvideo_mod_CFLAGS): Likewise.
5000 (fixvideo_mod_LDFLAGS): Likewise.
5001
5002 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
5003 fixvideo.mod.
5004 (loadbios_mod_SOURCE): New macro.
5005 (loadbios_mod_CFLAGS): Likewise.
5006 (loadbios_mod_LDFLAGS): Likewise.
5007 (fixvideo_mod_SOURCE): Likewise.
5008 (fixvideo_mod_CFLAGS): Likewise.
5009 (fixvideo_mod_LDFLAGS): Likewise.
5010
5011 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
5012
5013 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5014
5015 2009-04-07 David S. Miller <davem@davemloft.net>
5016
5017 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5018 support for R_SPARC_OLO10 relocations. Fix compile warning for
5019 R_SPARC_WDISP30 case.
5020 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
5021
5022 2009-04-06 Pavel Roskin <proski@gnu.org>
5023
5024 * include/grub/misc.h (ARRAY_SIZE): New macro.
5025 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5026 New macro.
5027 * loader/i386/linux.c (allocate_pages): Use free_pages().
5028 (grub_linux_unload): Don't use free_pages().
5029 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5030 wrong index. Treat all other modes as text modes.
5031 (grub_cmd_linux): Initialize vid_mode unconditionally to
5032 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5033
5034 * commands/help.c (print_command_help): Use cmd->prio, not
5035 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5036
5037 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 Parttool
5040
5041 * parttool/pcpart.c: new file
5042 * commands/parttool.c: likewise
5043 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5044 (parttool_mod_SOURCES): new variable
5045 (parttool_mod_CFLAGS): likewise
5046 (parttool_mod_LDFLAGS): likewise
5047 (pcpart_mod_SOURCES): likewise
5048 (pcpart_mod_CFLAGS): likewise
5049 (pcpart_mod_LDFLAGS): likewise
5050 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
5051 and parttool/pcpart.c
5052 * conf/i386-efi.rmk: likewise
5053 * conf/i386-ieee1275.rmk: likewise
5054 * conf/i386-pc.rmk: likewise
5055 * conf/powerpc-ieee1275.rmk: likewise
5056 * conf/sparc64-ieee1275.rmk: likewise
5057 * conf/x86_64-ieee1275.rmk: likewise
5058
5059 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Support for mtime and further expandability of dir command
5062
5063 * include/grub/lib/datetime.h: moved to ...
5064 * include/grub/datetime.h: ... moved here and added
5065 declaration of grub_unixtime2datetime. All users updated
5066 * include/grub/fs.h: new syntax for dir and mtime functions in
5067 struct grub_fs
5068 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5069 and GRUB_FSHELP_FLAGS_MASK
5070 * commands/ls.c (grub_ls_list_files): Write mtime in long format
5071 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
5072 (grub_ext2_mtime): new function
5073 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
5074 (grub_hfsplus_mtime): new function
5075 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
5076 (GRUB_UFS_ATTR_FILE): likewise
5077 (GRUB_UFS_ATTR_LNK): likewise
5078 (struct grub_ufs_sblock): new fields mtime
5079 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
5080 all users updated
5081 (grub_ufs_dir): mtime support
5082 (grub_ufs_mtime): new function
5083 * fs/affs.c (grub_affs_dir): use new dir syntax
5084 * fs/afs.c (grub_afs_dir): likewise
5085 * fs/cpio.c (grub_cpio_dir): likewise
5086 * fs/fat.c (grub_fat_find_dir): likewise
5087 * fs/hfs.c (grub_hfs_dir): likewise
5088 * fs/iso9660.c (grub_iso9660_dir): likewise
5089 * fs/jfs.c (grub_jfs_dir): likewise
5090 * fs/minix.c (grub_minix_dir): likewise
5091 * fs/ntfs.c (grub_ntfs_dir): likewise
5092 * fs/reiserfs.c (grub_reiserfs_dir): likewise
5093 * fs/sfs.c (grub_sfs_dir): likewise
5094 * fs/xfs.c (grub_xfs_dir): likewise
5095 * util/hostfs.c (grub_hostfs_dir): likewise
5096 * lib/datetime.c: moved to ...
5097 * normal/datetime.c: ... moved here
5098 (grub_unixtime2datetime): new function
5099 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
5100 * normal/completion.c (iterate_dir): use new dir syntax
5101 * normal/misc.c (grub_normal_print_device_info): tell the
5102 last modification time of a volume
5103 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
5104 * conf/common.rmk: added lib/datetime.c to ls.mod
5105 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
5106 (normal_mod_SOURCES): likewise
5107 (datetime_mod_SOURCES): Removed lib/datetime.c
5108 * conf/i386-efi.rmk: likewise
5109 * conf/i386-ieee1275.rmk: likewise
5110 * conf/i386-pc.rmk: likewise
5111 * conf/powerpc-ieee1275.rmk: likewise
5112 * conf/sparc64-ieee1275.rmk: likewise
5113 * conf/x86_64-efi.rmk: likewise
5114
5115 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 Trim trailing spaces in FAT label and support mtools-like labels
5118
5119 * fs/fat.c (grub_fat_iterate_dir): New function based
5120 on grub_fat_find_dir
5121 (grub_fat_find_dir): use grub_fat_iterate_dir
5122 (grub_fat_label): likewise
5123
5124 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
5127 and command.h
5128 remove extraneous kernel_elf_HEADERS
5129
5130 2009-04-04 Bean <bean123ch@gnail.com>
5131
5132 * include/grub/util/misc.h: Add dummy function fsync for mingw.
5133
5134 * util/misc.c: Likewise.
5135
5136 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
5137
5138 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
5139 instead of grub_printf.
5140
5141 2009-04-03 Robert Millan <rmh@aybabtu.com>
5142
5143 * loader/i386/linux.c (grub_linux_setup_video): Fill
5144 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
5145 values from `mode info' structure instead of hardcoded
5146 values.
5147
5148 2009-04-01 Pavel Roskin <proski@gnu.org>
5149
5150 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
5151 unused now.
5152 * genmk.rb: Likewise.
5153 * configure.ac: Likewise.
5154
5155 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
5156
5157 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
5158 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
5159
5160 2009-04-01 David S. Miller <davem@davemloft.net>
5161
5162 * normal/sparc64/setjmp.S: Fix setjmp implementation.
5163 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5164 (grub_setjmp): Mark with 'returns_twice' attribute.
5165 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
5166 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
5167 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
5168
5169 2009-04-01 Robert Millan <rmh@aybabtu.com>
5170
5171 Reapply fix from 2008-07-28 which was accidentally reverted; also
5172 perform the same fix to a similar check in same function.
5173
5174 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
5175 with the same number are found, just use issue a warning with
5176 grub_dprintf(), as this error has been reported to be non-fatal.
5177
5178 2009-03-31 Pavel Roskin <proski@gnu.org>
5179
5180 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
5181 for cross-compilation.
5182
5183 2009-03-30 Robert Millan <rmh@aybabtu.com>
5184
5185 Fix i386-ieee1275 build.
5186
5187 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
5188 Remove declaration.
5189
5190 2009-03-30 Pavel Roskin <proski@gnu.org>
5191
5192 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
5193 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
5194 zero-terminated, rely only on the strlen value. Fix comparison
5195 of strings differing in length.
5196
5197 2009-03-30 Robert Millan <rmh@aybabtu.com>
5198
5199 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
5200 checking for abi version. Improve error messages on BIOS to notify
5201 user about `linux16' command.
5202
5203 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 Leak fixes
5206
5207 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
5208 in case of collision
5209 * disk/scsi.c (grub_scsi_open): free scsi in case of error
5210
5211 2009-03-29 Robert Millan <rmh@aybabtu.com>
5212
5213 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
5214 set `vid_mode' accordingly.
5215 (grub_linux_boot): Process `vid_mode' and set video mode.
5216
5217 2009-03-29 Robert Millan <rmh@aybabtu.com>
5218
5219 * util/grub.d/10_linux.in (linux_entry): New function.
5220 Factorize generation of Linux boot entries.
5221
5222 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
5223
5224 Make the format of Environment Block plain text. The boot loader
5225 part is not tested well yet.
5226
5227 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
5228 (buffer): Removed.
5229 (envblk): Likewise.
5230 (usage): Remove "info" and "clear". Add "unset". Update the
5231 description of "set", as this does not delete variables any
5232 longer.
5233 (create_envblk_file): Complete rewrite.
5234 (open_envblk_file): Likewise.
5235 (cmd_info): Removed.
5236 (cmd_list): Likewise.
5237 (cmd_set): Likewise.
5238 (cmd_clear): Likewise.
5239 (list_variables): New function.
5240 (write_envblk): Likewise.
5241 (set_variables): Likewise.
5242 (unset_variables): Likewise.
5243 (main): Complete rewrite.
5244
5245 * commands/loadenv.c (buffer): Removed.
5246 (envblk): Likewise.
5247 (open_envblk_file): New function.
5248 (read_envblk_file): Complete rewrite.
5249 (grub_cmd_load_env): Likewise.
5250 (grub_cmd_list_env): Likewise.
5251 (struct blocklist): New struct.
5252 (free_blocklists): New function.
5253 (check_blocklists): Likewise.
5254 (write_blocklists): Likewise.
5255 (grub_cmd_save_env): Complete rewrite.
5256
5257 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
5258 a plain text signature.
5259 (GRUB_ENVBLK_MAXLEN): Removed.
5260 (struct grub_envblk): Complete rewrite.
5261 (grub_envblk_find): Removed.
5262 (grub_envblk_insert): Likewise.
5263 (grub_envblk_open): New prototype.
5264 (grub_envblk_set): Likewise.
5265 (grub_envblk_delete): Put const to VALUE.
5266 (grub_envblk_iterate): Put const to NAME and VALUE.
5267 (grub_envblk_close): New prototype.
5268 (grub_envblk_buffer): New inline function.
5269 (grub_envblk_size): Likewise.
5270
5271 * lib/envblk.c: Include grub/mm.h.
5272 (grub_env_find): Removed.
5273 (grub_envblk_open): New function.
5274 (grub_envblk_close): Likewise.
5275 (escaped_value_len): Likewise.
5276 (find_next_line): Likewise.
5277 (grub_envblk_insert): Removed.
5278 (grub_envblk_set): New function.
5279 (grub_envblk_delete): Complete rewrite.
5280 (grub_envblk_iterate): Likewise.
5281
5282 2009-03-28 Robert Millan <rmh@aybabtu.com>
5283
5284 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
5285 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
5286 variables. Use 16-bit loader.
5287 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
5288 loader.
5289 * kern/i386/loader.S (grub_linux_boot): Rename to ...
5290 (grub_linux16_boot): ... this. Update all users.
5291 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
5292 (grub_linux_boot): ... this. Update all users.
5293
5294 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
5295 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
5296 commands to `linux16' and `initrd16'.
5297 (GRUB_MOD_FINI(linux)): Rename to ...
5298 (GRUB_MOD_FINI(linux16)): ... this.
5299
5300 2009-03-24 Pavel Roskin <proski@gnu.org>
5301
5302 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
5303 not just for compilation.
5304
5305 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Move multiboot helper out of kernel
5308
5309 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
5310 `loader/i386/multiboot_helper.S'.
5311 * conf/i386-coreboot.rmk: Likewise
5312 * conf/i386-ieee1275.rmk: Likewise
5313
5314 * kern/i386/loader.S: Move multiboot helpers from here...
5315 * loader/i386/multiboot_helper.S: ...moved here
5316 * include/grub/i386/loader.h: Move declarations of multiboot
5317 helpers from here...
5318 * include/grub/i386/multiboot.h: ...moved here
5319 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
5320
5321 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5322
5323 * kern/env.c (grub_env_context_open): Added an argument to specify
5324 whether a new context inherits exported variables from current
5325 one. This is useful when making a sandbox to interpret a config
5326 file.
5327 All callers updated.
5328
5329 * include/grub/env.h (grub_env_context_open): Updated the prototype.
5330
5331 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5332
5333 * kern/env.c (grub_env_context_close): Fix memory leaks.
5334
5335 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5336
5337 * normal/main.c (grub_normal_execute): Added an argument
5338 BATCH to specify if an interactive interface should be provided
5339 after reading a config file.
5340 All callers updated.
5341 (read_command_list): Prevent being executed twice.
5342 (read_fs_list): Likewise.
5343
5344 * include/grub/normal.h (grub_normal_execute): Updated the
5345 prototype.
5346
5347 2009-03-22 Pavel Roskin <proski@gno.org>
5348
5349 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
5350 _start.
5351 * kern/i386/pc/startup.S: Likewise.
5352 * kern/i386/efi/startup.S: Likewise.
5353 * kern/i386/ieee1275/startup.S: Likewise.
5354 * kern/i386/coreboot/startup.S: Likewise.
5355 * kern/x86_64/efi/startup.S: Likewise.
5356
5357 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
5358 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
5359 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
5360
5361 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Bugfixes in multiboot for bugs uncovered by solaris kernel.
5364
5365 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
5366 limit detection.
5367 Use vaddr of correct segment for entry_point.
5368
5369 2009-03-21 Bean <bean123ch@gmail.com>
5370
5371 * commands/blocklist.c: Add include file <grub/command.h>, remove
5372 <grub/normal.h> and <grub/arg.h>.
5373 (grub_cmd_blocklist): Use the new command interface.
5374 (GRUB_MOD_INIT): Likewise.
5375 (GRUB_MOD_FINI): Likewise.
5376 * commands/boot.c: Likewise.
5377 * commands/cat.c: Likewise.
5378 * commands/cmp.c: Likewise.
5379 * commands/configfile.c: Likewise.
5380 * commands/crc.c: Likewise.
5381 * commands/echo.c: Likewise.
5382 * commands/halt.c: Likewise.
5383 * commands/handler.c: Likewise.
5384 * commands/hdparm.c: Likewise.
5385 * commands/help.c: Likewise.
5386 * commands/hexdump.c: Likewise.
5387 * commands/loadenv.c: Likewise.
5388 * commands/ls.c: Likewise.
5389 * commands/lsmmap.c: Likewise.
5390 * commands/lspci.c: Likewise.
5391 * commands/loadenv.c: Likewise.
5392 * commands/read.c: Likewise.
5393 * commands/reboot.c: Likewise.
5394 * commands/search.c: Likewise.
5395 * commands/sleep.c: Likewise.
5396 * commands/test.c: Likewise.
5397 * commands/usbtest.c: Likewise.
5398 * commands/videotest.c: Likewise.
5399 * commands/i386/cpuid.c: Likewise.
5400 * commands/i386/pc/halt.c: Likewise.
5401 * commands/i386/pc/play.c: Likewise.
5402 * commands/i386/pc/pxecmd.c: Likewise.
5403 * commands/i386/pc/vbeinfo.c: Likewise.
5404 * commands/i386/pc/vbetest.c: Likewise.
5405 * commands/ieee1275/suspend.c: Likewise.
5406 * disk/loopback.c: Likewise.
5407 * font/font_cmd.c: Likewise.
5408 * hello/hello.c: Likewise.
5409 * loader/efi/appleloader.c: Likewise.
5410 * loader/efi/chainloader.c: Likewise.
5411 * loader/i386/bsd.c: Likewise.
5412 * loader/i386/efi/linux.c: Likewise.
5413 * loader/i386/ieee1275/linux.c: Likewise.
5414 * loader/i386/linux.c: Likewise.
5415 * loader/i386/pc/chainloader.c: Likewise.
5416 * loader/i386/pc/linux.c: Likewise.
5417 * loader/powerpc/ieee1275/linux.c: Likewise.
5418 * loader/multiboot_loader.c: Likewise.
5419 * term/gfxterm.c: Likewise.
5420 * term/i386/pc/serial.c: Likewise.
5421 * term/terminfo.c: Likewise.
5422
5423 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
5424 * term/i386/pc/vga.c: Likewise.
5425 * video/readers/jpeg.c: Likewise.
5426 * video/readers/png.c: Likewise.
5427 * video/readers/tga.c: Likewise.
5428
5429 * util/grub-fstest (cmd_loopback): Removed.
5430 (cmd_blocklist): Likewise.
5431 (cmd_ls): Likewise.
5432 (grub_register_command): Likewise.
5433 (grub_unregister_command): Likewise.
5434 (execute_command): Use grub_command_find to locate command and execute
5435 it.
5436
5437 * include/grub/efi/chainloader.h: Removed.
5438 * loader/efi/chainloader_normal.c: Likewise.
5439 * loader/i386/bsd_normal.c: Likewise.
5440 * loader/i386/pc/chainloader_normal.c: Likewise.
5441 * loader/i386/pc/multiboot_normal.c: Likewise.
5442 * loader/linux_normal.c: Likewise.
5443 * loader/multiboot_loader_normal.c: Likewise.
5444 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
5445
5446 * gencmdlist.sh: Scan new registration command grub_register_extcmd
5447 and grub_register_command_p1.
5448
5449 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
5450 kern/command.c, lib/arg.c and commands/extcmd.c.
5451 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
5452 (minicmd_mod_SOURCES): New variable.
5453 (minicmd_mod_CFLAGS): Likewise.
5454 (minicmd_mod_LDFLAGS): Likewise.
5455 (extcmd_mod_SOURCES): Likewise.
5456 (extcmd_mod_CFLAGS): Likewise.
5457 (extcmd_mod_LDFLAGS): Likewise.
5458 (boot_mod_SOURCES): Removed.
5459 (boot_mod_CFLAGS): Likewise.
5460 (boot_mod_LDFLAGS): Likewise.
5461
5462 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
5463 kern/corecmd.c.
5464 (kernel_img_HEADERS): Add command.h.
5465 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
5466 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
5467 and lib/arg.c.
5468 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
5469 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
5470 remove the corresponding normal mode command.
5471 (normal_mod_SOURCES): Remove normal/arg.c.
5472 * conf/i386-coreboot.rmk: Likewise.
5473 * conf/i386-efi.rmk: Likewise.
5474 * conf/i386-ieee1275.rmk: Likewise.
5475 * conf/powerpc-ieee1275.rmk: Likewise.
5476 * conf/x86_64-efi.rmk: Likewise.
5477
5478 * include/grub/arg.h: Move from here ...
5479 * include/grub/lib/arg.h: ... to here.
5480
5481 * normal/arg.c: Move from here ...
5482 * lib/arg.c: ... to here.
5483
5484 * commands/extcmd.c: New file.
5485 * commands/minicmd.c: Likewise.
5486 * include/grub/command.h: Likewise.
5487 * include/grub/extcmd.h: Likewise.
5488 * kern/command.c: Likewise.
5489 * kern/corecmd.c: Likewise.
5490
5491 * kern/list.c (grub_list_iterate): Return int instead of void.
5492 (grub_list_insert): New function.
5493 (grub_prio_list_insert): Likewise.
5494
5495 * kern/rescue.c (grub_rescue_command): Removed.
5496 (grub_rescue_command_list): Likewise.
5497 (grub_rescue_register_command): Likewise.
5498 (grub_rescue_unregister_command): Likewise.
5499 (grub_rescue_cmd_boot): Move to minicmd.c
5500 (grub_rescue_cmd_help): Likewise.
5501 (grub_rescue_cmd_info): Likewise.
5502 (grub_rescue_cmd_boot): Likewise.
5503 (grub_rescue_cmd_testload): Likewise.
5504 (grub_rescue_cmd_dump): Likewise.
5505 (grub_rescue_cmd_rmmod): Likewise.
5506 (grub_rescue_cmd_lsmod): Likewise.
5507 (grub_rescue_cmd_exit): Likewise.
5508 (grub_rescue_print_devices): Moved to corecmd.c.
5509 (grub_rescue_print_files): Likewise.
5510 (grub_rescue_cmd_ls): Likewise.
5511 (grub_rescue_cmd_insmod): Likewise.
5512 (grub_rescue_cmd_set): Likewise.
5513 (grub_rescue_cmd_unset): Likewise.
5514 (attempt_normal_mode): Use grub_command_find to get normal module.
5515 (grub_enter_rescue_mode): Use grub_register_core_commands to register
5516 commands, remove grub_rescue_register_command calls.
5517
5518 * normal/command.c (grub_register_command): Removed.
5519 (grub_unregister_command): Likewise.
5520 (grub_command_find): Likewise.
5521 (grub_iterate_commands): Likewise.
5522 (rescue_command): Likewise.
5523 (export_command): Moved to corecmd.c.
5524 (set_command): Removed.
5525 (unset_command): Likewise.
5526 (insmod_command): Likewise.
5527 (rmmod_command): Likewise.
5528 (lsmod_command): Likewise.
5529 (grub_command_init): Likewise.
5530
5531 * normal/completion.c (iterate_command): Use cmd->prio to check for
5532 active command.
5533 (complete_arguments): Use grub_extcmd_t structure to find options.
5534 (grub_normal_do_completion): Change function grub_iterate_commands to
5535 grub_command_iterate.
5536
5537 * normal/execute.c (grub_script_execute_cmd): No need to parse
5538 argument here.
5539
5540 * normal/main.c (grub_dyncmd_dispatcher): New function.
5541 (read_command_list): Register unload commands as dyncmd.
5542 (grub_cmd_normal): Use new command interface, register rescue,
5543 unregister normal at entry, register normal, unregister rescue at exit.
5544
5545 * include/grub/list.h (grub_list_test_t): New type.
5546 (grub_list_iterate): Return int instead of void.
5547 (grub_list_insert): New function.
5548 (GRUB_AS_NAMED_LIST_P): New macro.
5549 (GRUB_AS_PRIO_LIST): Likewise.
5550 (GRUB_AS_PRIO_LIST_P): Likewise.
5551 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
5552 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
5553 (grub_prio_list): New structure.
5554 (grub_prio_list_insert): New function.
5555 (grub_prio_list_remove): New inline function.
5556
5557 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
5558 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
5559 (GRUB_COMMAND_FLAG_MENU): Likewise.
5560 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5561 (GRUB_COMMAND_FLAG_TITLE): Likewise.
5562 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5563 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
5564 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
5565 (grub_command): Likewise.
5566 (grub_register_command): Likewise.
5567 (grub_command_find): Likewise.
5568 (grub_iterate_commands): Likewise.
5569 (grub_command_init): Likewise.
5570 (grub_arg_parse): Likewise.
5571 (grub_arg_show_help): Likewise.
5572
5573 * include/grub/rescue.h (grub_rescue_register_command): Removed.
5574 (grub_rescue_unregister_command): Likewise.
5575
5576 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
5577 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
5578 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
5579
5580 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
5581 grub_rescue_cmd_initrd.
5582 * include/grub/i386/loader.h: Likewise.
5583 * include/grub/x86_64/loader.h: Likewise.
5584
5585 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
5586
5587 2009-03-21 Bean <bean123ch@gmail.com>
5588
5589 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
5590 instead of stat in mingw environment.
5591
5592 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
5593
5594 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
5595
5596 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
5597 AC_CONFIG_LINKS.
5598
5599 2009-03-21 Bean <bean123ch@gmail.com>
5600
5601 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
5602 out of range error.
5603
5604 2009-03-18 Michel Dänzer <michel@daenzer.net>
5605
5606 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
5607 checking inode flags for EXT4_EXTENTS_FLAG.
5608
5609 2009-03-18 Robert Millan <rmh@aybabtu.com>
5610
5611 * loader/i386/linux.c: Include `<grub/video.h>' and
5612 `<grub/i386/pc/vbe.h>'..
5613 (grub_linux_setup_video): New function. Loosely based on the EFI one.
5614 (grub_linux32_boot): Attempt to configure video settings with
5615 grub_linux_setup_video().
5616 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
5617 to avoid grub_console_fini() which would step out of graphical mode
5618 unconditionally.
5619
5620 2009-03-14 Robert Millan <rmh@aybabtu.com>
5621
5622 Fix build on powerpc.
5623 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
5624
5625 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
5628 background image command.
5629
5630 2009-03-12 Colin D Bennett <colin@gibibit.com>
5631
5632 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
5633 (grub_gfxterm_putchar): Extract pairs of identical calls to
5634 draw_cursor out of conditional blocks.
5635
5636 2009-03-11 Pavel Roskin <proski@gnu.org>
5637
5638 * fs/hfs.c (grub_hfs_strncasecmp): New function.
5639 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
5640
5641 2009-03-11 Robert Millan <rmh@aybabtu.com>
5642
5643 * loader/i386/multiboot_elfxx.c
5644 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
5645
5646 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
5647
5648 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
5649 `kern/handler.c'.
5650
5651 2009-03-11 Robert Millan <rmh@aybabtu.com>
5652
5653 * loader/i386/multiboot.c (code_size): New variable.
5654 (grub_multiboot): Define offsets by adding to `code_size' rather
5655 than subtracting from `grub_multiboot_payload_size'. Provide
5656 4-byte alignment to MBI and others by increasing
5657 `boot_loader_name_length' appropriately.
5658
5659 * loader/i386/multiboot_elfxx.c
5660 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
5661
5662 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
5663
5664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
5665 `fs/ext2.c'.
5666
5667 2009-03-08 Robert Millan <rmh@aybabtu.com>
5668
5669 Make loader/i386/linux.c usable on i386-pc again.
5670
5671 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
5672 memory to heap.
5673 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
5674 `#error' stanza.
5675
5676 2009-03-07 Bean <bean123ch@gmail.com>
5677
5678 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
5679 allocation.
5680
5681 2009-03-06 Robert Millan <rmh@aybabtu.com>
5682
5683 Fix display issue on terminals with screen size other than 80x25
5684 (e.g. gfxterm with resolution higher than 640x480).
5685
5686 * normal/main.c (grub_normal_init_page): Display title text in a
5687 position relative to the center of the terminal instead of relying
5688 on a hardcoded offset.
5689
5690 2009-03-04 Robert Millan <rmh@aybabtu.com>
5691
5692 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
5693 installed.
5694
5695 * Makefile.in (host_kernel): New variable.
5696 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
5697 scripts instead of just the windows one.
5698 * configure.ac: Initialize and AC_SUBST `host_kernel'.
5699
5700 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
5701
5702 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
5703 `kern/handler.c'.
5704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5705 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5708 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5710
5711 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
5712
5713 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
5714 or if there's no space for the disk label and print the partition number on a
5715 invalid magic.
5716
5717 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
5718
5719 * util/misc.c: Include <time.h>.
5720 (grub_millisleep): New function.
5721
5722 2009-03-04 Bean <bean123ch@gmail.com>
5723
5724 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
5725 another option -mno-red-zone.
5726
5727 * commands/handler.c: Change module description.
5728
5729 * kern/handler.c: Add missing space at the end of description line.
5730
5731 * kern/list.c: Likewise.
5732
5733 2009-03-03 Robert Millan <rmh@aybabtu.com>
5734
5735 Move more components to the relocation area, and fix mbi pointer
5736 handling to use the destination rather than the origin (thanks to
5737 Vladimir Serbinenko for spotting).
5738
5739 * loader/i386/multiboot.c (mbi_dest): New variable.
5740 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
5741 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
5742 relocation area.
5743
5744 2009-03-01 Bean <bean123ch@gmail.com>
5745
5746 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
5747 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
5748 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
5749 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
5750
5751 * loader/i386/efi/linux.c (acpi_guid): New variable.
5752 (acpi_guid): Likewise.
5753 (EBDA_SEG_ADDR): New constant.
5754 (LOW_MEM_ADDR): Likewise.
5755 (FAKE_EBDA_SEG): Likewise.
5756 (fake_bios_data): New function.
5757 (grub_linux_boot): Call fake_bios_data.
5758
5759 2009-03-01 Bean <bean123ch@gmail.com>
5760
5761 * commands/terminal.c: Removed.
5762
5763 * commands/handler.c: New file.
5764
5765 * include/grub/list.h: Likewise.
5766
5767 * include/grub/handler.h: Likewise.
5768
5769 * kern/list.c: Likewise.
5770
5771 * kern/handler.c: Likewise.
5772
5773 * kern/term.h: Include header file <grub/handler.h>.
5774 (grub_term_input): Move next field to the beginning.
5775 (grub_term_output): Likewise.
5776 (grub_term_input_class): New variable.
5777 (grub_term_output_class): Likewise.
5778 (grub_term_register_input): Changed to inline function.
5779 (grub_term_register_output): Likewise.
5780 (grub_term_unregister_input): Likewise.
5781 (grub_term_unregister_output): Likewise.
5782 (grub_term_set_current_input): Likewise.
5783 (grub_term_set_current_output): Likewise.
5784 (grub_term_get_current_input): Likewise.
5785 (grub_term_get_current_output): Likewise.
5786 (grub_term_iterate_input): Removed.
5787 (grub_term_iterate_output): Likewise.
5788
5789 * kern/term.c (grub_term_list_input): Removed.
5790 (grub_term_list_output): Likewise.
5791 (grub_term_input_class): New variable.
5792 (grub_term_output_class): Likewise.
5793 (grub_cur_term_input): Change variable as macro.
5794 (grub_cur_term_output): Likewise.
5795 (grub_term_register_input): Removed.
5796 (grub_term_register_output): Likewise.
5797 (grub_term_unregister_input): Likewise.
5798 (grub_term_unregister_output): Likewise.
5799 (grub_term_set_current_input): Likewise.
5800 (grub_term_set_current_output): Likewise.
5801 (grub_term_iterate_input): Likewise.
5802 (grub_term_iterate_output): Likewise.
5803 (grub_term_get_current_input): Likewise.
5804 (grub_term_get_current_output): Likewise.
5805
5806 * util/grub-editenv.c: Include header file <grub/handler.h>.
5807 (grub_term_get_current_input): Removed.
5808 (grub_term_get_current_output): Likewise.
5809 (grub_term_input_class): New variable.
5810 (grub_term_output_class): Likewise.
5811
5812 * util/grub-fstest.c (grub_term_get_current_input): Removed.
5813 (grub_term_get_current_output): Likewise.
5814 (grub_term_input_class): New variable.
5815 (grub_term_output_class): Likewise.
5816
5817 * util/grub-probe.c (grub_term_get_current_input): Removed.
5818 (grub_term_get_current_output): Likewise.
5819 (grub_term_input_class): New variable.
5820 (grub_term_output_class): Likewise.
5821
5822 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
5823 (grub_term_get_current_output): Likewise.
5824 (grub_term_input_class): New variable.
5825 (grub_term_output_class): Likewise.
5826
5827 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
5828 (terminal_mod_SOURCES): Likewise.
5829 (terminal_mod_CFLAGS): Likewise.
5830 (terminal_mod_LDFLAGS): Likewise.
5831
5832 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
5833 handler.c.
5834 (kernel_img_SOURCES): Add list.c and handler.c.
5835 (kernel_img_HEADERS): Add list.h and handler.h.
5836
5837 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5838 handler.c.
5839 (kernel_mod_SOURCES): Add list.c and handler.c.
5840 (kernel_mod_HEADERS): Add list.h and handler.h.
5841
5842 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
5843 handler.c.
5844 (kernel_elf_SOURCES): Add list.c and handler.c.
5845 (kernel_elf_HEADERS): Add list.h and handler.h.
5846
5847 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5848 handler.c.
5849 (kernel_elf_SOURCES): Add list.c and handler.c.
5850 (kernel_elf_HEADERS): Add list.h and handler.h.
5851
5852 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5853 handler.c.
5854 (kernel_mod_SOURCES): Add list.c and handler.c.
5855 (kernel_mod_HEADERS): Add list.h and handler.h.
5856
5857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5858 handler.c.
5859 (kernel_elf_SOURCES): Add list.c and handler.c.
5860 (kernel_elf_HEADERS): Add list.h and handler.h.
5861
5862 2009-02-27 Robert Millan <rmh@aybabtu.com>
5863
5864 Factorize elf32 / elf64 code in Multiboot loader. This will
5865 prevent it from getting out of sync again.
5866
5867 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
5868 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
5869 grub_multiboot_load_elf64): Move from here ...
5870 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
5871 grub_multiboot_load_elf): ... to here (new file).
5872
5873 2009-02-27 Robert Millan <rmh@aybabtu.com>
5874
5875 * util/grub.d/10_linux.in: Rename "single-user mode" to
5876 "recovery mode".
5877
5878 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Don't leak in SCSI code.
5881 * disk/scsi.c (grub_scsi_close): free `scsi'.
5882
5883 2009-02-27 Robert Millan <rmh@aybabtu.com>
5884
5885 * loader/i386/pc/multiboot.c: Move from here ...
5886 * loader/i386/multiboot.c: ... to here. Update all users.
5887
5888 2009-02-27 Robert Millan <rmh@aybabtu.com>
5889
5890 Patch from Alexandre Bique <bique.alexandre@gmail.com>
5891 * util/i386/pc/grub-setup.c (setup): Fix directory path.
5892
5893 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
5894
5895 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
5896 b-tree.
5897
5898 2009-02-27 Robert Millan <rmh@aybabtu.com>
5899
5900 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
5901 `0x' qualifier as 0 when base is specified as parameter).
5902
5903 2009-02-24 Bean <bean123ch@gmail.com>
5904
5905 * configure.ac: Check for -mcmodel=large in x86_64 target.
5906
5907 * include/grub/efi/api.h (efi_call_10): New macro.
5908 (efi_wrap_10): New function.
5909
5910 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
5911 (GRUB_PE32_REL_BASED_HIGH): Likewise.
5912 (GRUB_PE32_REL_BASED_LOW): Likewise.
5913 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
5914 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
5915 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
5916 (GRUB_PE32_REL_BASED_SECTION): Likewise.
5917 (GRUB_PE32_REL_BASED_REL): Likewise.
5918 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
5919 (GRUB_PE32_REL_BASED_DIR64): Likewise.
5920 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
5921
5922 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
5923 issue.
5924
5925 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
5926 (efi_wrap_10): New function.
5927
5928 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
5929
5930 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
5931 MB/MBP model (NV chipset).
5932 (devdata_devs): Add devpath_5 to the list.
5933
5934 * load/i386/efi/linux.c (video_base): Remove variable.
5935 (RGB_MASK): New macro.
5936 (RGB_MAGIC): Likewise.
5937 (LINE_MIN): Likewise.
5938 (LINE_MAX): Likewise.
5939 (FBTEST_STEP): Likewise.
5940 (FBTEST_COUNT): Likewise.
5941 (fb_list): New variable.
5942 (grub_find_video_card): Remove function.
5943 (find_framebuf): New function.
5944 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
5945 line length.
5946
5947 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
5948 problem for x86_64.
5949
5950 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
5951
5952 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
5953
5954 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
5955 coding tool name.
5956
5957 2009-02-22 Robert Millan <rmh@aybabtu.com>
5958
5959 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
5960 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
5961 in our relocation, instead of using it directly from heap. Also
5962 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
5963
5964 2009-02-21 Robert Millan <rmh@aybabtu.com>
5965
5966 Implement USB keyboard support (based on patch by Marco Gerards)
5967
5968 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
5969 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
5970 (usb_keyboard_mod_LDFLAGS): New variables.
5971
5972 * term/usb_keyboard.c: New file.
5973
5974 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Corrected wrong declaration
5977
5978 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
5979
5980 2009-02-14 Christian Franke <franke@computer.org>
5981
5982 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
5983 (grub_lspci_iter): Print class code and programming interface byte.
5984
5985 2009-02-14 Christian Franke <franke@computer.org>
5986
5987 * gendistlist.sh: Ignore `.svn' directories.
5988
5989 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
5990
5991 * fs/fat.c: Add 2009 to Copyright line.
5992
5993 2009-02-14 Christian Franke <franke@computer.org>
5994
5995 * commands/hdparm.c: New file. Provides `hdparm' command
5996 which sends ATA commands via grub_disk_ata_pass_through ().
5997
5998 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
5999
6000 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6001 and <grub/cpu/io.h> to include/grub/ata.h.
6002 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6003 (GRUB_CDROM_SECTOR_SIZE): Remove.
6004 (GRUB_ATA_*): Move to include/grub/ata.h.
6005 (GRUB_ATAPI_*): Likewise.
6006 (enum grub_ata_commands): Likewise.
6007 (enum grub_ata_timeout_milliseconds): Likewise.
6008 (struct grub_ata_device): Likewise.
6009 (grub_ata_regset): Likewise.
6010 (grub_ata_regget): Likewise.
6011 (grub_ata_regset2): Likewise.
6012 (grub_ata_regget2): Likewise.
6013 (grub_ata_check_ready): Likewise.
6014 (grub_ata_wait_not_busy): Remove static, exported in
6015 include/grub/ata.h.
6016 (grub_ata_wait_drq): Likewise.
6017 (grub_ata_pio_read): Likewise.
6018
6019 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6020 function for hdparm.mod.
6021
6022 * include/grub/ata.h: New file, contains declarations from
6023 disk/ata.c.
6024 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6025
6026 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6027 (grub_disk_ata_pass_through): New exported variable.
6028
6029 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6030
6031 2009-02-13 Colin D Bennett <colin@gibibit.com>
6032
6033 Support multiple fallback entries, and provide an API to support
6034 executing default+fallback menu entries. Renamed the `terminal' menu
6035 viewer to `text'.
6036
6037 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6038 variable declaration.
6039 (grub_menu_execute_callback): New structure declaration.
6040 (grub_menu_execute_callback_t): New typedef.
6041 (grub_menu_execute_with_fallback): New function declaration.
6042 (grub_menu_get_entry): Likewise.
6043 (grub_menu_get_timeout): Likewise.
6044 (grub_menu_set_timeout): Likewise.
6045
6046 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6047
6048 * normal/menu.c (grub_wait_after_message): Moved to
6049 `normal/menu_text.c'.
6050 (draw_border): Likewise.
6051 (print_message): Likewise.
6052 (print_entry): Likewise.
6053 (print_entries): Likewise.
6054 (grub_menu_init_page): Likewise.
6055 (get_entry_number): Likewise.
6056 (print_timeout): Likewise.
6057 (run_menu): Likewise.
6058 (grub_menu_execute_entry): Likewise.
6059 (show_text_menu): Likewise.
6060 (get_and_remove_first_entry_number): New function.
6061 (grub_menu_execute_with_fallback): Likewise.
6062 (get_entry): Renamed to ...
6063 (grub_menu_get_entry): .. this and made it global.
6064 (get_timeout): Renamed to ...
6065 (grub_menu_get_timeout): ... this and made it global.
6066 (set_timeout): Renamed to ...
6067 (grub_menu_set_timeout): ... this and made it global.
6068 (grub_normal_terminal_menu_viewer): Renamed to ...
6069 (grub_normal_text_menu_viewer): ... this.
6070
6071 * normal/menu_text.c: New file. Extracted text-menu-specific code
6072 from normal/menu.c.
6073
6074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
6075 (normal_mod_SOURCES): Likewise.
6076
6077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6078 (normal_mod_SOURCES): Likewise.
6079
6080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6081 (normal_mod_SOURCES): Likewise.
6082
6083 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
6084 (normal_mod_SOURCES): Likewise.
6085
6086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6087 (normal_mod_SOURCES): Likewise.
6088
6089 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6090 (normal_mod_SOURCES): Likewise.
6091
6092 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6093 (normal_mod_SOURCES): Likewise.
6094
6095 2009-02-11 Robert Millan <rmh@aybabtu.com>
6096
6097 * util/grub.d/00_header.in: Update old reference to `font' command.
6098
6099 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
6100
6101 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
6102
6103 Based on patch from Javier Martín.
6104
6105 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
6106
6107 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
6108 to avoid false positives with FAT.
6109 (grub_fstest_SOURCES): Likewise.
6110 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6111 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6114 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6116
6117 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
6118
6119 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6120 bpb.version_specific.fat12_or_fat16.fstype and
6121 bpb.version_specific.fat32.fstype.
6122
6123 2009-02-08 Robert Millan <rmh@aybabtu.com>
6124
6125 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
6126
6127 2009-02-08 Robert Millan <rmh@aybabtu.com>
6128
6129 * Makefile.in (host_os, host_cpu): New variables.
6130 (target_os): Remove. Update all users.
6131
6132 2009-02-08 Marco Gerards <marco@gnu.org>
6133
6134 * Makefile.in (enable_grub_emu_usb): New variable.
6135 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
6136 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
6137 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
6138 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
6139 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
6140 `usbtest.mod' and `usbms.mod'.
6141 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
6142 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
6143 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
6144 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
6145 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
6146 variables.
6147
6148 * disk/usbms.c: New file.
6149
6150 * include/grub/usb.h: Likewise.
6151
6152 * include/grub/usbtrans.h: Likewise.
6153
6154 * include/grub/usbdesc.h: Likewise.
6155
6156 * bus/usb/usbtrans.c: Likewise.
6157
6158 * bus/usb/ohci.c: Likewise.
6159
6160 * bus/usb/uhci.c: Likewise.
6161
6162 * bus/usb/usbhub.c: Likewise.
6163
6164 * bus/usb/usb.c: Likewise.
6165
6166 * commands/usbtest.c: Likewise.
6167
6168 * util/usb.c: Likewise.
6169
6170 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
6171
6172 * configure.ac: Test for libusb presence.
6173
6174 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
6175
6176 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
6177
6178 * kern/mm.c: Add more comments.
6179
6180 2009-02-08 Robert Millan <rmh@aybabtu.com>
6181
6182 Patch from Javier Martín.
6183 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
6184 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
6185
6186 2009-02-08 Robert Millan <rmh@aybabtu.com>
6187
6188 * fs/cpio.c: Split tar functionality to ...
6189 * fs/tar.c: ... here (new file). Update all users.
6190
6191 2009-02-07 Robert Millan <rmh@aybabtu.com>
6192
6193 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
6194 backward-incompatible features.
6195
6196 Based on patch from Javier Martín, with some adjustments.
6197
6198 2009-02-07 Michael Scherer <misc@mandriva.org>
6199
6200 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
6201
6202 2009-02-07 Robert Millan <rmh@aybabtu.com>
6203
6204 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
6205 position of `disk/lvm.c' to ensure grub_init_all() always picks it
6206 after the RAID stuff.
6207
6208 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
6209
6210 Fixes problem when running vbetest command as reported by
6211 Vladimir Serbinenko <phcoder@gmail.com>.
6212
6213 * (grub_vbe_set_video_mode): Fixed problem with text modes.
6214
6215 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
6216
6217 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
6218 /dev/md/NpN style mdraid devices.
6219
6220 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
6221
6222 * util/unifont2pff.rb: Remove.
6223
6224 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
6225
6226 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
6227 `#'.
6228
6229 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
6230
6231 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
6232 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6233 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6234 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6238
6239 2009-02-02 Christian Franke <franke@computer.org>
6240
6241 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
6242
6243 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
6244
6245 * INSTALL: Note that we now require at least autoconf 2.59 and
6246 that LZO is optional.
6247
6248 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6249
6250 Base on patch on bug #24154 created by Tomas Tintera
6251 <trosos@seznam.cz>.
6252
6253 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
6254
6255 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6256
6257 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
6258 <bero@arklinux.org>.
6259
6260 * normal/parser.y (script_init): Add missing semicolon.
6261
6262 2009-01-31 Colin D Bennett <colin@gibibit.com>
6263
6264 * normal/main.c: Add include to grub/menu_viewer.h.
6265 (free_menu_entry_classes): Added.
6266 (grub_normal_menu_addentry): Added class property handling.
6267 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
6268 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
6269
6270 * normal/menu_viewer.c: New file.
6271
6272 * normal/menu.c (run_menu_entry): Renamed to ...
6273 (grub_menu_execute_entry): ... this and made it as global.
6274 (grub_menu_run): Renamed to ...
6275 (show_text_menu): ... this and made it local.
6276 (show_text_menu): Adapt to new function names.
6277 (grub_normal_terminal_menu_viewer): New global variable.
6278
6279 * include/grub/menu.h: New file.
6280
6281 * include/grub/menu_viewer.h: New file.
6282
6283 * include/grub/normal.h: Added include to grub/menu.h.
6284 (grub_menu_entry): Moved to include/grub/menu.h.
6285 (grub_menu_entry_t): Likewise.
6286 (grub_menu): Likewise.
6287 (grub_menu_t): Likewise.
6288 (grub_normal_terminal_menu_viewer): Added.
6289 (grub_menu_execute_entry): Likewise.
6290 (grub_menu_run): Removed.
6291
6292 * DISTLIST: Added include/grub/menu.h.
6293 Added include/grub/menu_viewer.h.
6294 Added normal/menu_viewer.c.
6295
6296 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
6297
6298 * normal/execute.c (grub_script_execute_menuentry): Changed to use
6299 arglist for menutitle arguments.
6300
6301 * normal/main.c (grub_normal_menu_addentry): Likewise.
6302
6303 * normal/parser.y (menuentry): Likewise.
6304
6305 * normal/script.c (grub_script_create_cmdmenu): Likewise.
6306
6307 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
6308 (grub_script_create_cmdmenu): Likewise.
6309
6310 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
6311
6312 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
6313 changes.
6314
6315 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
6316
6317 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
6318
6319 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
6320
6321 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6322
6323 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6324
6325 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6326
6327 2009-01-30 Christian Franke <franke@computer.org>
6328
6329 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
6330 in option help text.
6331
6332 2009-01-27 Pavel Roskin <proski@gnu.org>
6333
6334 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
6335
6336 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6337
6338 * commands/lsmmap.c: Add include to grub/machine/memory.h.
6339
6340 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
6341
6342 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
6343 unregister function.
6344
6345 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6346
6347 * disk/scsi.c (grub_scsi_read): Fix sign problem.
6348
6349 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
6350
6351 * util/grub-mkfont.c (usage): Fix typo.
6352
6353 * util/elf/grub-mkimage.c (load_modules): Fix warning.
6354
6355 2009-01-26 Daniel Mierswa <impulze@impulze.org>
6356
6357 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
6358
6359 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
6360
6361 * kern/misc.c (grub_strcasecmp): New function.
6362 (grub_strcasecmp): Use grub_size_t instead of int for length.
6363 Fix return value.
6364 * include/grub/misc.h: Update function prototypes.
6365
6366 2009-01-26 Robert Millan <rmh@aybabtu.com>
6367
6368 * configure.ac: Fix cross-compilation check.
6369
6370 2009-01-22 Christian Franke <franke@computer.org>
6371
6372 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
6373 (precision) digit string. Allow `.format2' without `format1' (width).
6374 Limit input chars for `%s' output to `format2' if specified. This is
6375 compatible with standard printf ().
6376
6377 2009-01-22 Christian Franke <franke@computer.org>
6378
6379 * disk/ata.c (grub_ata_wait_status): Replace by ...
6380 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
6381 other status bits may be invalid while BSY is asserted.
6382 (grub_ata_check_ready): New function.
6383 (grub_ata_cmd): Removed.
6384 (grub_ata_wait_drq): New function.
6385 (grub_ata_strncpy): Remove inline.
6386 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
6387 and error check now done by grub_ata_wait_drq ().
6388 (grub_ata_pio_write): Likewise.
6389 (grub_atapi_identify): Set DEV before check for !BSY. Use
6390 grub_ata_wait_drq () to wait for data.
6391 (grub_ata_device_initialize): Add status register check to
6392 detect missing SATA slave devices. Add debug messages.
6393 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
6394 (grub_atapi_packet): Set DEV before check for !BSY. Replace
6395 transfer loop by grub_ata_pio_write ().
6396 (grub_ata_identify): Set DEV before check for !BSY. Use
6397 grub_ata_wait_drq () to wait for data.
6398 (grub_ata_setaddress): Set DEV before check for !BSY.
6399 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
6400 read/write in one loop. Fix invalid command on write. Fix incomplete
6401 command on (size % batch) == 0. Add missing error check after write of
6402 last block. Add debug messages.
6403 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
6404
6405 2009-01-19 Christian Franke <franke@computer.org>
6406
6407 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
6408 (GRUB_ATAPI_IREASON_*): Likewise.
6409 (grub_ata_pio_write): Fix timeout error return.
6410 (grub_atapi_identify): Add grub_ata_wait () after cmd.
6411 (grub_atapi_wait_drq): New function.
6412 (grub_atapi_packet): New parameter `size'.
6413 Use grub_atapi_wait_drq () and direct write instead of
6414 grub_ata_pio_write ().
6415 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
6416 reads the number of bytes requested by the device for each DRQ
6417 assertion.
6418 (grub_atapi_write): Remove old implementation, return not
6419 implemented instead.
6420
6421 2009-01-19 Christian Franke <franke@computer.org>
6422
6423 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
6424 of 512 to calculate data size.
6425 (grub_scsi_read12): Likewise.
6426 (grub_scsi_write10): Likewise.
6427 (grub_scsi_write12): Likewise.
6428 (grub_scsi_read): Adjust size according to blocksize.
6429 Add checks for invalid blocksize and unaligned transfer.
6430
6431 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
6432
6433 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
6434
6435 * term/gfxterm.c (write_char): Fix background rendering for wide
6436 width glyphs.
6437
6438 2009-01-19 Robert Millan <rmh@aybabtu.com>
6439
6440 * config.guess: Update to latest version from config git.
6441 * config.sub: Likewise.
6442
6443 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
6444
6445 * Makefile.in: Change font compilation to use new grub-mkfont instead
6446 of java version.
6447
6448 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
6449 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
6450 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6451 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6452 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
6453 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
6454 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
6455 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
6456 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6457
6458 2009-01-16 Christian Franke <franke@computer.org>
6459
6460 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
6461 (enum grub_ata_timeout_milliseconds): New enum.
6462 (grub_ata_wait_status): Add parameter milliseconds.
6463 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
6464 recovery from timed-out commands.
6465 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
6466 return grub_errno instead of REG_ERROR.
6467 (grub_ata_pio_write): Add parameter milliseconds.
6468 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
6469 Pass milliseconds to grub_ata_wait_status () and
6470 grub_ata_pio_read ().
6471 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
6472 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
6473 grub_ata_wait_status (). Fix IDENTIFY timeout check.
6474 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
6475 It is not suitable for device detection, because DEV bit is ignored,
6476 the command may run too long, and not all devices set the signature
6477 properly.
6478 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
6479 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
6480 Fix device selection, DEV bit must be set first to address the registers
6481 of the correct device.
6482 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
6483 grub_ata_pio_read/write ().
6484 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
6485 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
6486
6487 2009-01-13 Carles Pina i Estany <carles@pina.cat>
6488
6489 * util/grub-editenv.c (main): Use fseeko(), not fseek().
6490
6491 2009-01-13 Bean <bean123ch@gmail.com>
6492
6493 * util/grub-mkfont.c (write_font): forget to remove some debug code.
6494
6495 2009-01-13 Bean <bean123ch@gmail.com>
6496
6497 * Makefile.in: (enable_grub_mkfont): New variable.
6498 (freetype_cflags): Likewise.
6499 (freetype_libs): Likewise.
6500
6501 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
6502 (grub_mkfont_SOURCES): New variable.
6503 (grub_mkfont_CFLAGS): Likewise.
6504 (grub_mkfont_LDFLAGS): Likewise.
6505
6506 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
6507 library if `--enable-grub-mkfont' is requested.
6508 (enable_grub_mkfont): New variable.
6509 (freetype_cflags): Likewise.
6510 (freetype_libs): Likewise.
6511
6512 * util/grub-mkfont.c: New file.
6513
6514 2009-01-12 Christian Franke <franke@computer.org>
6515
6516 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
6517 mode check. Fix setting of compat_use[].
6518
6519 2009-01-10 Robert Millan <rmh@aybabtu.com>
6520
6521 Update a few copyright years which we forgot to do in 2008 (only for
6522 files whose changes made in 2008 were copyright-significant)
6523
6524 * Makefile.in: Add 2008 to Copyright line.
6525 * disk/ieee1275/ofdisk.c: Likewise.
6526 * disk/efi/efidisk.c: Likewise.
6527 * kern/dl.c: Likewise.
6528 * kern/sparc64/ieee1275/init.c: Likewise.
6529 * kern/mm.c: Likewise.
6530 * kern/efi/mm.c: Likewise.
6531 * boot/i386/pc/boot.S: Likewise.
6532 * genfslist.sh: Likewise.
6533 * fs/iso9660.c: Likewise.
6534 * fs/hfs.c: Likewise.
6535 * fs/jfs.c: Likewise.
6536 * fs/minix.c: Likewise.
6537 * fs/ufs.c: Likewise.
6538 * gensymlist.sh.in: Likewise.
6539 * genkernsyms.sh.in: Likewise.
6540 * include/grub/misc.h: Likewise.
6541 * include/grub/types.h: Likewise.
6542 * include/grub/symbol.h: Likewise.
6543 * include/grub/elf.h: Likewise.
6544 * include/grub/kernel.h: Likewise.
6545 * include/grub/disk.h: Likewise.
6546 * include/grub/dl.h: Likewise.
6547 * include/grub/i386/linux.h: Likewise.
6548 * include/grub/i386/pc/biosdisk.h: Likewise.
6549 * include/grub/efi/api.h: Likewise.
6550 * include/grub/efi/pe32.h: Likewise.
6551 * include/grub/util/misc.h: Likewise.
6552 * normal/execute.c: Likewise.
6553 * normal/arg.c: Likewise.
6554 * normal/completion.c: Likewise.
6555 * normal/lexer.c: Likewise.
6556 * normal/parser.y: Likewise.
6557 * normal/misc.c: Likewise.
6558 * commands/i386/pc/vbeinfo.c: Likewise.
6559 * commands/hexdump.c: Likewise.
6560 * commands/terminal.c: Likewise.
6561 * commands/ls.c: Likewise.
6562 * commands/help.c: Likewise.
6563 * partmap/pc.c: Likewise.
6564 * loader/efi/chainloader.c: Likewise.
6565 * loader/multiboot_loader.c: Likewise.
6566 * loader/i386/pc/multiboot2.c: Likewise.
6567 * term/efi/console.c: Likewise.
6568 * term/i386/pc/serial.c: Likewise.
6569 * util/lvm.c: Likewise.
6570 * util/console.c: Likewise.
6571 * util/i386/efi/grub-mkimage.c: Likewise.
6572 * util/raid.c: Likewise.
6573
6574 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
6575
6576 * commands/videotest.c: Removed include to grub/machine/memory.h.
6577
6578 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
6579 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
6580 (video_mod_SOURCES): Removed.
6581 (video_mod_CFLAGS): Likewise.
6582 (video_mod_LDFLAGS): Likewise.
6583 (gfxterm_mod_SOURCES): Likewise.
6584 (gfxterm_mod_CFLAGS): Likewise.
6585 (gfxterm_mod_LDFLAGS): Likewise.
6586 (videotest_mod_SOURCES): Likewise.
6587 (videotest_mod_CFLAGS): Likewise.
6588 (videotest_mod_LDFLAGS): Likewise.
6589 (bitmap_mod_SOURCES): Likewise.
6590 (bitmap_mod_CFLAGS): Likewise.
6591 (bitmap_mod_LDFLAGS): Likewise.
6592 (tga_mod_SOURCES): Likewise.
6593 (tga_mod_CFLAGS): Likewise.
6594 (tga_mod_LDFLAGS): Likewise.
6595 (jpeg_mod_SOURCES): Likewise.
6596 (jpeg_mod_CFLAGS): Likewise.
6597 (jpeg_mod_LDFLAGS): Likewise.
6598 (png_mod_SOURCES): Likewise.
6599 (png_mod_CFLAGS): Likewise.
6600 (png_mod_LDFLAGS): Likewise.
6601
6602 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
6603 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
6604 (video_mod_SOURCES): Added.
6605 (video_mod_CFLAGS): Likewise.
6606 (video_mod_LDFLAGS): Likewise.
6607 (videotest_mod_SOURCES): Likewise.
6608 (videotest_mod_CFLAGS): Likewise.
6609 (videotest_mod_LDFLAGS): Likewise.
6610 (bitmap_mod_SOURCES): Likewise.
6611 (bitmap_mod_CFLAGS): Likewise.
6612 (bitmap_mod_LDFLAGS): Likewise.
6613 (tga_mod_SOURCES): Likewise.
6614 (tga_mod_CFLAGS): Likewise.
6615 (tga_mod_LDFLAGS): Likewise.
6616 (jpeg_mod_SOURCES): Likewise.
6617 (jpeg_mod_CFLAGS): Likewise.
6618 (jpeg_mod_LDFLAGS): Likewise.
6619 (png_mod_SOURCES): Likewise.
6620 (png_mod_CFLAGS): Likewise.
6621 (png_mod_LDFLAGS): Likewise.
6622 (gfxterm_mod_SOURCES): Likewise.
6623 (gfxterm_mod_CFLAGS): Likewise.
6624 (gfxterm_mod_LDFLAGS): Likewise.
6625
6626 * term/gfxterm.c: Removed include to grub/machine/memory.h,
6627 grub/machine/console.h.
6628
6629 2009-01-04 Jerone Young <jerone@gmail.com>
6630
6631 Make on screen instructions clearer
6632
6633 Based on patch created by Jidanni <jidanni@jidanni.org>
6634
6635 * normal/menu.c: print clearer instructions on the screen
6636
6637 2009-01-02 Colin D Bennett <colin@gibibit.com>
6638
6639 New font engine.
6640
6641 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
6642 build system and fixed gfxterm.c to work with different sized fonts.
6643
6644 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
6645
6646 * configure: Re-generated.
6647
6648 * DISTLIST: Removed font/manager.c.
6649 Added font/font.c.
6650 Added font/font_cmd.c.
6651
6652 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
6653 compilation.
6654
6655 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
6656
6657 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
6658
6659 * kern/term.c: Changed users of grub_utf8_to_ucs4.
6660
6661 * normal/menu.c: Likewise.
6662
6663 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
6664 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
6665
6666 * include/grub/font.h: Replaced with new file.
6667
6668 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
6669 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
6670 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
6671 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
6672 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
6673 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
6674 fg_red, fg_green, fg_blue, fg_alpha.
6675 (grub_video_adapter): Removed blit_glyph.
6676 (grub_video_blit_glyph): Removed.
6677
6678 * font/manager.c: Removed file.
6679
6680 * font/font.c: New file.
6681
6682 * font/font_cmd.c: Likewise.
6683
6684 * video/video.c (grub_video_blit_glyph): Removed.
6685
6686 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
6687 (grub_video_vbe_map_rgba): Likewise.
6688 (grub_video_vbe_unmap_color_int): Likewise.
6689 (grub_video_vbe_blit_glyph): Removed.
6690 (grub_video_vbe_adapter): Removed blit_glyph.
6691
6692 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
6693 (get_pixel): Likewise.
6694 (set_pixel): Likewise.
6695
6696 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
6697
6698 * term/gfxterm.c: Adapted to new font engine.
6699
6700 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
6701
6702 * term/i386/pc/vga.c: Likewise.
6703
6704 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
6705
6706 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
6707
6708 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6709
6710 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6711
6712 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
6713
6714 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
6715
6716 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
6717
6718 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
6719
6720 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6721
6722 * util/grub.d/00_header.in: Changed to use new loadfont command.
6723
6724 * util/grub-mkconfig_lib.in: Changed font extension.
6725
6726 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
6727
6728 * util/getroot.c (grub_util_get_grub_dev): Add support for
6729 /dev/md/dNNpNN style partitionable mdraid devices.
6730
6731 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
6732
6733 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
6734 at a time limit of the PXE TFTP API correctly.
6735 (grub_pxefs_close): Likewise.
6736
6737 2008-11-29 Robert Millan <rmh@aybabtu.com>
6738
6739 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
6740 grub_ata_device_initialize() calls.
6741
6742 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
6743
6744 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
6745 iteration failed.
6746 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
6747
6748 2008-11-28 Robert Millan <rmh@aybabtu.com>
6749
6750 Fix build on powerpc-ieee1275. Based on patch created by
6751 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
6752 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
6753 `kern/ieee1275/mmap.c'.
6754 * include/grub/powerpc/ieee1275/memory.h: New file.
6755
6756 Provide grub-install on coreboot.
6757 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
6758 (grub_install_SOURCES): New variable.
6759 * util/i386/pc/grub-install.in: Add a few condition checks to make it
6760 usable on coreboot.
6761
6762 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
6763
6764 * util/grub-fstest.c (grub_term_get_current_input): Change return type
6765 to `grub_term_input_t'.
6766 (grub_term_get_current_output): Change return type to
6767 `grub_term_output_t'.
6768
6769 2008-11-22 Robert Millan <rmh@aybabtu.com>
6770
6771 Fix breakage on coreboot due to declaration mismatch.
6772 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
6773 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
6774 grub_vga_text_cls().
6775
6776 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
6777 comments. Avoid copying one more byte than necessary (just in case).
6778
6779 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
6780 to 0x200000 (avoids trouble with some OFW implementations, and matches
6781 with the one in Yaboot).
6782 Reported by Manoel Abranches
6783
6784 2008-11-20 Robert Millan <rmh@aybabtu.com>
6785
6786 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
6787 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
6788
6789 * util/grub-mkconfig_lib.in (grub_warn): New function.
6790 (convert_system_path_to_grub_path): Use grub_warn() when issuing
6791 warnings, to obtain consistent formatting.
6792 * util/grub.d/00_header.in: Likewise.
6793 * util/update-grub_lib.in: Likewise.
6794
6795 * loader/i386/linux.c (allocate_pages): Fix a warning.
6796 Move comment text to `#error' stanza.
6797
6798 Harmonize ieee1275's grub_available_iterate() with the generic
6799 grub_machine_mmap_iterate() interface (fixes a recently-introduced
6800 build problem on i386-ieee1275):
6801 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
6802 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
6803 parameter `type'. Update all users of this function.
6804 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
6805 `kern/ieee1275/mmap.c'.
6806 * kern/ieee1275/init.c
6807 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
6808 with ...
6809 (grub_machine_mmap_iterate): ... this.
6810 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
6811 return type to `grub_err_t'. Update all implementations of this
6812 function prototype.
6813 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
6814 Likewise.
6815
6816 Add `lsmmap' command (lists firmware-provided memory map):
6817 * commands/lsmmap.c: New file.
6818 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
6819 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
6820 variables.
6821 * conf/powerpc-ieee1275.rmk: Likewise.
6822 * conf/i386-coreboot.rmk: Likewise.
6823 * conf/i386-ieee1275.rmk: Likewise.
6824
6825 2008-11-19 Robert Millan <rmh@aybabtu.com>
6826
6827 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
6828 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
6829 constraints to initrd allocation (based on code from
6830 loader/i386/pc/linux.c). Without them, initrd was allocated too high
6831 for Linux to find it.
6832
6833 2008-11-14 Robert Millan <rmh@aybabtu.com>
6834
6835 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
6836 order to cope with duplicate slashes.
6837
6838 2008-11-14 Robert Millan <rmh@aybabtu.com>
6839
6840 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
6841 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
6842 don't want to mess with lower memory, because it is used in the Linux
6843 loader.
6844
6845 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
6846 an appropriate place in lower memory, between 0x10000 and 0x90000,
6847 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
6848 is in our heap (probably as a result of it being corrupted during
6849 decompression). Add #error instance with comment to explain why this
6850 loader isn't currently usable on PC/BIOS.
6851
6852 2008-11-14 Robert Millan <rmh@aybabtu.com>
6853
6854 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
6855 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
6856
6857 2008-11-12 Robert Millan <rmh@aybabtu.com>
6858
6859 Make loader/i386/linux.c buildable on i386-pc (although disabled).
6860
6861 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
6862 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
6863 from here ...
6864 * include/grub/i386/pc/memory.h: ... to here.
6865
6866 2008-11-12 Robert Millan <rmh@aybabtu.com>
6867
6868 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
6869 split).
6870
6871 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
6872 (grub_console_cur_color, grub_console_real_putchar)
6873 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6874 (grub_console_setcolorstate, grub_console_setcolor)
6875 (grub_console_getcolor): Move from here ...
6876 * include/grub/i386/vga_common.h: ... to here (new file).
6877
6878 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
6879 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
6880 `<grub/i386/io.h>'.
6881 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
6882 `<grub/i386/vga_common.h>'.
6883
6884 2008-11-12 Robert Millan <rmh@aybabtu.com>
6885
6886 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
6887 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
6888 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
6889 variables.
6890 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6891 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
6892
6893 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
6894 grub_console_init() with call to grub_vga_text_init().
6895 (grub_machine_fini): Replace call to
6896 grub_console_fini() with call to grub_vga_text_fini() and
6897 grub_at_keyboard_fini().
6898
6899 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
6900 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6901 (grub_console_setcolorstate, grub_console_setcolor)
6902 (grub_console_getcolor): New function prototypes.
6903
6904 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
6905 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
6906 (grub_vga_text_setcursor): Static-ize.
6907 (grub_vga_text_term): New structure.
6908 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
6909
6910 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
6911 (grub_console_cur_color, grub_console_standard_color)
6912 (grub_console_normal_color, grub_console_highlight_color)
6913 (map_char, grub_console_putchar, grub_console_getcharwidth)
6914 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
6915 (grub_console_getcolor): Move from here ...
6916 * term/i386/vga_common.c: ... to here (same function names).
6917
6918 2008-11-12 Robert Millan <rmh@aybabtu.com>
6919
6920 Use newly-added Multiboot support in coreboot.
6921
6922 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6923 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
6924
6925 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
6926 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
6927 (codestart): Store the MBI in `startup_multiboot_info' when we're
6928 being loaded using Multiboot.
6929
6930 * kern/i386/coreboot/init.c (grub_machine_init): Move
6931 grub_at_keyboard_init() call to beginning of function (useful for
6932 debugging). Call grub_machine_mmap_init() before attempting to use
6933 grub_machine_mmap_iterate().
6934 (grub_lower_mem, grub_upper_mem): Move from here ...
6935 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
6936 here (new file).
6937
6938 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
6939 function prototype.
6940
6941 2008-11-12 Robert Millan <rmh@aybabtu.com>
6942
6943 Fix a regression introduced by the at_keyboard.mod split. Because
6944 some terminals are default on some platforms and non-default on
6945 others, the first terminal being registered determines which is
6946 going to be default.
6947
6948 * kern/term.c (grub_term_register_input): If this is the first
6949 terminal being registered, set it as the current one.
6950 (grub_term_register_output): Likewise.
6951
6952 * term/efi/console.c (grub_console_init): Do not call
6953 grub_term_set_current_output() or grub_term_set_current_input().
6954 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
6955 * term/i386/pc/console.c (grub_console_init): Likewise.
6956 (grub_console_fini): Do not call grub_term_set_current_input()
6957 (but leave grub_term_set_current_output() to restore text mode).
6958
6959 2008-11-10 Robert Millan <rmh@aybabtu.com>
6960
6961 * util/grub.d/00_header.in: Add backward compatibility check for
6962 versions of terminal.mod that don't understand `terminal_input' or
6963 `terminal_output'.
6964
6965 2008-11-09 Robert Millan <rmh@aybabtu.com>
6966
6967 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
6968 `terminal_input' / `terminal_output', not `terminal'.
6969
6970 2008-11-08 Robert Millan <rmh@aybabtu.com>
6971
6972 * Makefile.in (include_DATA): Fix srcdir=. assumption.
6973 (DISTCLEANFILES): Add `build_env.mk'.
6974
6975 2008-11-08 Robert Millan <rmh@aybabtu.com>
6976
6977 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
6978 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
6979 members. Update all users.
6980 * util/console.c (grub_ncurses_term): Split in ...
6981 (grub_ncurses_term_input): ... this, and ...
6982 (grub_ncurses_term_output): ... this. Update all users.
6983 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
6984
6985 2008-11-08 Robert Millan <rmh@aybabtu.com>
6986
6987 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
6988 (PKGDATA): Add $(pkgdata_SRCDIR).
6989 (pkglib_BUILDDIR): New variable.
6990 (pkgdata_SRCDIR): New variable.
6991 (build_env.mk): New target.
6992 (include_DATA): New variable.
6993 (install-local): Install $(include_DATA) files in $(includedir).
6994
6995 2008-11-07 Pavel Roskin <proski@gnu.org>
6996
6997 * gendistlist.sh: Use C locale for sorting to ensure consistent
6998 output on all systems.
6999
7000 * util/grub.d/00_header.in: Remove incorrect space before
7001 "serial".
7002
7003 2008-11-07 Robert Millan <rmh@aybabtu.com>
7004
7005 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7006 per specification.
7007 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7008 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7009 (based on find_multi_boot1_header).
7010 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7011 using find_multi_boot2_header(), and abort if neither Multiboot or
7012 Multiboot headers were found.
7013
7014 2008-11-07 Robert Millan <rmh@aybabtu.com>
7015
7016 Modularize at_keyboard.mod:
7017
7018 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7019 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7020 (at_keyboard_mod_LDFLAGS): New variables.
7021
7022 Actual terminal split:
7023
7024 * include/grub/term.h (struct grub_term): Split in ...
7025 (struct grub_term_input): ... this, and ...
7026 (struct grub_term_output): ... this. Update all users.
7027 (grub_term_set_current): Split in ...
7028 (grub_term_set_current_input): ... this, and ...
7029 (grub_term_set_current_output): ... this.
7030 (grub_term_get_current): Split in ...
7031 (grub_term_get_current_input): ... this, and ...
7032 (grub_term_get_current_output): ... this.
7033 (grub_term_register): Split in ...
7034 (grub_term_register_input): ... this, and ...
7035 (grub_term_register_output): ... this.
7036 (grub_term_unregister): Split in ...
7037 (grub_term_unregister_input): ... this, and ...
7038 (grub_term_unregister_output): ... this.
7039 (grub_term_iterate): Split in ...
7040 (grub_term_iterate_input): ... this, and ...
7041 (grub_term_iterate_output): ... this.
7042
7043 * kern/term.c (grub_term_list): Split in ...
7044 (grub_term_list_input): ... this, and ...
7045 (grub_term_list_output): ... this. Update all users.
7046 (grub_cur_term): Split in ...
7047 (grub_cur_term_input): ... this, and ...
7048 (grub_cur_term_output): ... this. Update all users.
7049 (grub_term_set_current): Split in ...
7050 (grub_term_set_current_input): ... this, and ...
7051 (grub_term_set_current_output): ... this.
7052 (grub_term_get_current): Split in ...
7053 (grub_term_get_current_input): ... this, and ...
7054 (grub_term_get_current_output): ... this.
7055 (grub_term_register): Split in ...
7056 (grub_term_register_input): ... this, and ...
7057 (grub_term_register_output): ... this.
7058 (grub_term_unregister): Split in ...
7059 (grub_term_unregister_input): ... this, and ...
7060 (grub_term_unregister_output): ... this.
7061 (grub_term_iterate): Split in ...
7062 (grub_term_iterate_input): ... this, and ...
7063 (grub_term_iterate_output): ... this.
7064
7065 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7066 a check for input and one for output (and only attempt to get keys
7067 from user when input works).
7068
7069 * util/grub-probe.c (grub_term_get_current): Split in ...
7070 (grub_term_get_current_input): ... this, and ...
7071 (grub_term_get_current_output): ... this.
7072 * util/grub-fstest.c: Likewise.
7073 * util/i386/pc/grub-setup.c: Likewise.
7074 * util/grub-editenv.c: Likewise.
7075
7076 Portability adjustments:
7077
7078 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
7079 `term/i386/pc/at_keyboard.c'.
7080 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
7081 grub_keyboard_controller_init() (now handled by terminal .init).
7082 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
7083 grub_at_keyboard_init().
7084 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
7085 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
7086 at_keyboard.mod via input terminal interface).
7087 * include/grub/i386/coreboot/console.h: Convert into a stub for
7088 `<grub/i386/pc/console.h>'.
7089
7090 Migrate full terminals to new API:
7091
7092 * term/efi/console.c (grub_console_term): Split into ...
7093 (grub_console_term_input): ... this, and ...
7094 (grub_console_term_output): ... this. Update all users.
7095 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
7096 (grub_ofconsole_init): Split into ...
7097 (grub_ofconsole_init_input): ... this, and ...
7098 (grub_ofconsole_init_output): ... this.
7099 (grub_ofconsole_term): Split into ...
7100 (grub_ofconsole_term_input): ... this, and ...
7101 (grub_ofconsole_term_output): ... this. Update all users.
7102 * term/i386/pc/serial.c (grub_serial_term): Split into ...
7103 (grub_serial_term_input): ... this, and ...
7104 (grub_serial_term_output): ... this. Update all users.
7105 * term/i386/pc/console.c (grub_console_term): Split into ...
7106 (grub_console_term_input): ... this, and ...
7107 (grub_console_term_output): ... this. Update all users.
7108 (grub_console_term_input): Only enable it on PC/BIOS platform.
7109 (grub_console_init): Remove grub_keyboard_controller_init() call.
7110
7111 Migrate input terminals to new API:
7112
7113 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
7114 `i386' and `i386/pc' to enable build on x86_64 (this driver is
7115 i386-specific anyway).
7116 (grub_console_checkkey): Rename to ...
7117 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
7118 users.
7119 (grub_keyboard_controller_orig): New variable.
7120 (grub_console_getkey): Rename to ...
7121 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
7122 users.
7123 (grub_keyboard_controller_init): Static-ize. Save original
7124 controller value so that it can be restored ...
7125 (grub_keyboard_controller_fini): ... here (new function).
7126 (grub_at_keyboard_term): New structure.
7127 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
7128 functions.
7129
7130 Migrate output terminals to new API:
7131
7132 * term/i386/pc/vga.c (grub_vga_term): Change type to
7133 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7134 members. Update all users.
7135 * term/gfxterm.c (grub_video_term): Change type to
7136 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7137 members. Update all users.
7138 * include/grub/i386/pc/console.h (grub_console_checkkey)
7139 (grub_console_getkey): Do not export (no longer needed by gfxterm,
7140 etc).
7141
7142 Migrate `terminal' command and userland tools to new API:
7143
7144 * commands/terminal.c (grub_cmd_terminal): Split into ...
7145 (grub_cmd_terminal_input): ... this, and ...
7146 (grub_cmd_terminal_output): ... this.
7147 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
7148 `terminal_input' and `terminal_output'.
7149 * util/grub.d/00_header.in: Adjust `terminal' calls to new
7150 `terminal_input' / `terminal_output' API.
7151 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
7152 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
7153 provided ${GRUB_TERMINAL}, convert it).
7154
7155 2008-11-04 Robert Millan <rmh@aybabtu.com>
7156
7157 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
7158 for FreeBSD.
7159 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
7160
7161 2008-11-03 Bean <bean123ch@gmail.com>
7162
7163 * kern/elf.c (grub_elf32_load): Revert to previous code.
7164 (grub_elf64_load): Likewise.
7165
7166 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
7167
7168 2008-11-01 Robert Millan <rmh@aybabtu.com>
7169
7170 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
7171 (TARGET_CPPFLAGS): Likewise.
7172 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
7173
7174 2008-11-01 Carles Pina i Estany <carles@pina.cat>
7175
7176 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
7177
7178 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
7179
7180 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
7181 addition of objects until the code is not going to be able to fail.
7182
7183 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
7184
7185 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
7186 (add a missing NULL check, and correct them by moving the pointer
7187 operations after the actual check).
7188
7189 2008-10-29 Robert Millan <rmh@aybabtu.com>
7190
7191 * util/i386/pc/grub-install.in: Handle empty string as output from
7192 make_system_path_relative_to_its_root().
7193
7194 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
7195
7196 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
7197 circular metadata worst case scenario. If the metadata is circular
7198 then copy the wrap in place.
7199 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
7200 project lib/format_text/layout.h
7201 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
7202
7203 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
7204
7205 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
7206
7207 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
7208
7209 * util/update-grub_lib.in: Mention filename in warning message.
7210
7211 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
7212
7213 * NEWS: Update for rename of update-grub to grub-mkconfig.
7214
7215 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
7216
7217 * util/update-grub_lib.in: Copy to ...
7218 * util/grub-mkconfig_lib.in: ... this. Update all users.
7219 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
7220 * util/update-grub.in: Rename to ...
7221 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
7222 option. Add `--output' option to allow users to specify the generated
7223 configuration file. Default to stdout.
7224 (update_grub_dir): Rename to ...
7225 (grub_mkconfig_dir): ... this.
7226 (grub_cfg): Default to an empty string.
7227 * conf/common.rmk (update-grub): Rename to ...
7228 (grub-mkconfig): ... this.
7229 (update-grub_lib): Copy to ...
7230 (grub-mkconfig_lib): ... this.
7231 (update-grub_SCRIPTS): Copy to ...
7232 (grub-mkconfig_SCRIPTS): ... this. Update all users.
7233 (update-grub_DATA): Rename to ...
7234 (grub-mkconfig_DATA): ... this.
7235
7236 2008-09-28 Robert Millan <rmh@aybabtu.com>
7237
7238 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
7239 to `modified'. Add the real `created' field.
7240 (grub_iso9660_uuid): Use `modified' rather than `created' for
7241 constructing the UUID.
7242
7243 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
7244
7245 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
7246 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
7247
7248 2008-09-28 Bean <bean123ch@gmail.com>
7249
7250 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
7251 Thanks to Christian Franke for finding this bug.
7252
7253 2008-09-25 Robert Millan <rmh@aybabtu.com>
7254
7255 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
7256 instances of grub_util_get_disk_name() (see previous commit).
7257
7258 2008-09-25 Robert Millan <rmh@aybabtu.com>
7259
7260 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
7261 `util/i386/get_disk_name.c'.
7262 * conf/i386-efi.rmk: Likewise.
7263 * conf/x86_64-efi.rmk: Likewise.
7264 * conf/i386-coreboot.rmk: Likewise.
7265 * conf/i386-ieee1275.rmk: Likewise.
7266 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
7267 `util/ieee1275/get_disk_name.c'.
7268 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
7269 * util/ieee1275/get_disk_name.c: Remove file.
7270 * util/i386/get_disk_name.c: Remove file.
7271 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
7272 "hd%d" for device.map entries, rather than using
7273 grub_util_get_disk_name().
7274
7275 2008-09-24 Carles Pina i Estany <carles@pina.cat>
7276
7277 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
7278 warning.
7279 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
7280
7281 2008-09-24 Carles Pina i Estany <carles@pina.cat>
7282
7283 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
7284 Changed to 0x5100.
7285 (GRUB_TERM_PPAGE): Changed to 0x4900.
7286
7287 2008-09-24 Robert Millan <rmh@aybabtu.com>
7288
7289 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
7290 macros (they were i386-pc specific).
7291 * include/grub/sparc64/ieee1275/console.h: Likewise.
7292 * include/grub/efi/console.h: Likewise.
7293
7294 2008-09-22 Bean <bean123ch@gmail.com>
7295
7296 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
7297 resident and in attribute list.
7298
7299 * include/grub/ntfs.h (BMP_LEN): Removed.
7300
7301 2008-09-22 Bean <bean123ch@gmail.com>
7302
7303 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
7304 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
7305
7306 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
7307 error occurs, as grub_disk_open will call grub_disk_close, which will
7308 call p->close (scsi).
7309
7310 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
7311
7312 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
7313 (AC_PREREQ): Bumped to 2.59.
7314 (AC_TRY_COMPILE): Replace obsolete macro with ...
7315 (AC_COMPILE_IFELSE): ... this.
7316 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
7317 (AC_LINK_IFELSE): ... this.
7318
7319 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
7320
7321 * autogen.sh: Add a call to `gendistlist.sh'.
7322
7323 2008-09-19 Christian Franke <franke@computer.org>
7324
7325 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
7326 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
7327 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
7328 Export __enable_execute_stack() to modules.
7329 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
7330 New function.
7331
7332 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
7333
7334 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
7335 Sort the list.
7336
7337 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
7338
7339 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7340 #include <grub/util/hostdisk.h>.
7341
7342 2008-09-08 Robert Millan <rmh@aybabtu.com>
7343
7344 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
7345 segments when their filesz is zero (grub_file_read() interprets
7346 zero-size as "read until EOF", which results in memory corruption).
7347 Use `lowest_segment' rather than 0 for calculating the current
7348 segment load address.
7349
7350 2008-09-08 Robert Millan <rmh@aybabtu.com>
7351
7352 * util/hostdisk.c (open_device): Replace a grub_util_info() call
7353 with grub_dprintf("hostdisk", ...), as it was so verbose that it
7354 clobbered useful information.
7355
7356 2008-09-08 Robert Millan <rmh@aybabtu.com>
7357
7358 * include/grub/util/biosdisk.h: Move to ...
7359 * include/grub/util/hostdisk.h: ... here. Update all users.
7360 * util/biosdisk.c: Move to ...
7361 * util/hostdisk.c: ... here. Update all users.
7362
7363 2008-09-07 Robert Millan <rmh@aybabtu.com>
7364
7365 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
7366 variables.
7367 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
7368 and length can be stored directly in the `mbi->mmap_addr' and
7369 `mbi->mmap_length' struct fields.
7370
7371 2008-09-07 Robert Millan <rmh@aybabtu.com>
7372
7373 * conf/i386.rmk: New file. Provides declaration for building
7374 `cpuid.mod'.
7375 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
7376 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
7377 variables.
7378 Include `conf/i386.mk'.
7379 * conf/i386-efi.rmk: Likewise.
7380 * conf/x86_64-efi.rmk: Likewise.
7381 * conf/i386-coreboot.rmk: Likewise.
7382 * conf/i386-ieee1275.rmk: Likewise.
7383
7384 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
7385
7386 Based on patch created by Colin D Bennett <colin@gibibit.com>.
7387 Adds optimization support for BGR based modes.
7388
7389 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
7390 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7391 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7392 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7393 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7394 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7395 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7396 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7397 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7398 (grub_video_i386_vbeblit_index_index): Likewise.
7399 (grub_video_i386_vbeblit_replace_directN): Added.
7400 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7401 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7402 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7403 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7404 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7405 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
7406 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
7407 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7408 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7409 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7410 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7411 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7412 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
7413
7414 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
7415 (grub_video_i386_vbefill_R8G8B8): Likewise.
7416 (grub_video_i386_vbefill_index): Likewise.
7417 (grub_video_i386_vbefill_direct32): Added.
7418 (grub_video_i386_vbefill_direct24): Likewise.
7419 (grub_video_i386_vbefill_direct16): Likewise.
7420 (grub_video_i386_vbefill_direct8): Likewise.
7421
7422 * include/grub/video.h (grub_video_blit_format): Removed
7423 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
7424 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
7425 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
7426 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
7427 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
7428
7429 * video/video.c (grub_video_get_blit_format): Updated to use new
7430 blit formats. Added handling for 16 bit color modes.
7431
7432 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
7433 fillers.
7434 (common_blitter): Updated to use new blitters.
7435
7436 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
7437 Removed.
7438 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7439 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7440 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7441 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7442 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7443 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7444 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7445 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7446 (grub_video_i386_vbeblit_index_index): Likewise.
7447 (grub_video_i386_vbeblit_replace_directN): Added.
7448 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7449 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7450 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7451 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7452 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7453 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
7454 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
7455 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7456 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7457 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7458 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7459 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7460 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
7461
7462 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
7463 (grub_video_i386_vbefill_R8G8B8): Likewise.
7464 (grub_video_i386_vbefill_index): Likewise.
7465 (grub_video_i386_vbefill_direct32): Added.
7466 (grub_video_i386_vbefill_direct24): Likewise.
7467 (grub_video_i386_vbefill_direct16): Likewise.
7468 (grub_video_i386_vbefill_direct8): Likewise.
7469
7470 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
7471 types.
7472
7473 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
7474 types.
7475
7476 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
7477 blitter types.
7478
7479 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
7480 types.
7481
7482 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
7483
7484 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
7485 RAID level 1.
7486
7487 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
7488
7489 * fs/iso9660.c (grub_iso9660_date): New structure.
7490 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
7491 (grub_iso9660_uuid): New function.
7492
7493 2008-09-05 Bean <bean123ch@gmail.com>
7494
7495 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
7496
7497 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
7498 insensitive bit for names in Win32 and Win32 & DOS namespace.
7499
7500 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
7501
7502 * include/grub/types.h (LONG_MAX): Likewise.
7503
7504 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
7505
7506 * util/getroot.c: Include <config.h>.
7507 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
7508 add support for /dev/md/N devices and handle LVM double dash escaping.
7509
7510 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
7511
7512 * config.guess: Update to latest version from config git.
7513 * config.sub: Likewise.
7514
7515 2008-09-03 Robert Millan <rmh@aybabtu.com>
7516
7517 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
7518 `disk->total_sectors'.
7519
7520 2008-09-01 Colin D Bennett <colin@gibibit.com>
7521
7522 * include/grub/normal.h: Fixed incorrect comment for
7523 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
7524
7525 2008-09-01 Colin D Bennett <colin@gibibit.com>
7526
7527 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
7528 values with defines.
7529
7530 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
7531 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
7532 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
7533 (GRUB_VBE_MODEATTR_COLOR): Likewise.
7534 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
7535 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
7536 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
7537 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
7538 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
7539 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
7540 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
7541 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
7542 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
7543 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
7544 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
7545 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
7546 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
7547 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
7548 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
7549
7550 2008-08-31 Robert Millan <rmh@aybabtu.com>
7551
7552 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
7553 declaration.
7554 (grub_multiboot): Fix a few warnings.
7555
7556 2008-08-31 Robert Millan <rmh@aybabtu.com>
7557
7558 * loader/i386/pc/multiboot.c: Update comment not to say that
7559 boot_device support is unimplemented.
7560
7561 2008-08-31 Robert Millan <rmh@aybabtu.com>
7562
7563 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
7564 or memory map support are unimplemented.
7565
7566 2008-08-31 Colin D Bennett <colin@gibibit.com>
7567
7568 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
7569
7570 2008-08-31 Colin D Bennett <colin@gibibit.com>
7571
7572 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
7573 total video memory in 'vbeinfo' output; show color format details for
7574 each video mode.
7575
7576 2008-08-30 Pavel Roskin <proski@gnu.org>
7577
7578 * util/genmoddep.c: Remove for real this time.
7579 * DISTLIST: Remove util/genmoddep.c.
7580
7581 2008-08-30 Robert Millan <rmh@aybabtu.com>
7582
7583 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
7584 as required by Multiboot spec (it was already 4-byte aligned, but
7585 only by chance).
7586
7587 2008-08-29 Pavel Roskin <proski@gnu.org>
7588
7589 * kern/powerpc/ieee1275/crt0.S: Rename to ...
7590 * kern/powerpc/ieee1275/startup.S: ... this.
7591 * conf/powerpc-ieee1275.rmk: Adjust for the above.
7592 * DISTLIST: Likewise.
7593
7594 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
7595 grub/cpu/kernel.h. Add start label for consistency with other
7596 platforms. Add grub_prefix immediately after start. Add jump
7597 to the code after grub_prefix.
7598 * include/grub/powerpc/kernel.h: Provide valid values for
7599 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
7600
7601 2008-08-29 Bean <bean123ch@gmail.com>
7602
7603 * configure.ac: Change host_os to cygwin for mingw.
7604 (asprintf): New check for function.
7605
7606 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
7607 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
7608
7609 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
7610 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
7611 sync, sleep and grub_util_get_disk_size for mingw.
7612
7613 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
7614 to get size in mingw.
7615 (open_device): Use flag O_BINARY if it's defined.
7616 (find_root_device): Add dummy code for mingw.
7617
7618 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
7619 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
7620 (get_scsi_disk_name): Return 0 for mingw.
7621
7622 * util/hostfs.c: #include <grub/util/misc.h>.
7623 (grub_hostfs_open): Use "rb" flag to open file, use
7624 grub_util_get_disk_size to get disk size for mingw.
7625
7626 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
7627 (asprintf): New function if HAVE_ASPRINTF is not set.
7628 (sync): New function for mingw.
7629 (sleep): Likewise.
7630 (grub_util_get_disk_size): Likewise.
7631
7632 2008-08-28 Pavel Roskin <proski@gnu.org>
7633
7634 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7635 kern/time.c.
7636
7637 2008-08-28 Robert Millan <rmh@aybabtu.com>
7638
7639 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
7640
7641 2008-08-28 Robert Millan <rmh@aybabtu.com>
7642
7643 Change find_grub_drive() syntax so it doesn't prevent it from
7644 detecting NULL names as errors.
7645
7646 * util/biosdisk.c (find_grub_drive): Move free slot search code
7647 from here ...
7648 (find_free_slot): ... to here.
7649 (read_device_map): Use find_free_slot() to search for free slots.
7650
7651 2008-08-27 Marco Gerards <marco@gnu.org>
7652
7653 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
7654 (scsi_mod_SOURCES): New variable.
7655 (scsi_mod_CFLAGS): Likewise
7656 (scsi_mod_LDFLAGS): Likewise.
7657
7658 * disk/scsi.c: New file.
7659
7660 * include/grub/scsi.h: Likewise.
7661
7662 * include/grub/scsicmd.h: Likewise.
7663
7664 * disk/ata.c: Include <grub/scsi.h>.
7665 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
7666 instead.
7667 (grub_ata_iterate): Skip ATAPI devices.
7668 (grub_ata_open): Only handle ATAPI devices.
7669 (struct grub_atapi_read): Removed.
7670 (grub_atapi_readsector): Likewise.
7671 (grub_ata_read): No longer handle ATAPI devices.
7672 (grub_ata_write): Likewise.
7673 (grub_atapi_iterate): New function.
7674 (grub_atapi_read): Likewise.
7675 (grub_atapi_write): Likewise.
7676 (grub_atapi_open): Likewise.
7677 (grub_atapi_close): Likewise.
7678 (grub_atapi_dev): New variable.
7679 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
7680 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
7681
7682 * include/grub/disk.h (enum grub_disk_dev_id): Add
7683 `GRUB_DISK_DEVICE_SCSI_ID'.
7684
7685 2008-08-26 Robert Millan <rmh@aybabtu.com>
7686
7687 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
7688 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
7689 descriptive.
7690
7691 2008-08-23 Bean <bean123ch@gmail.com>
7692
7693 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
7694 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7695 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
7696 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
7697 dm_nv.mod.
7698 (raid5rec_mod_SOURCES): New macro.
7699 (raid5rec_mod_CFLAGS): Likewise.
7700 (raid5rec_mod_LDFLAGS): Likewise.
7701 (raid6rec_mod_SOURCES): Likewise.
7702 (raid6rec_mod_CFLAGS): Likewise.
7703 (raid6rec_mod_LDFLAGS): Likewise.
7704 (mdraid_mod_SOURCES): Likewise.
7705 (mdraid_mod_CFLAGS): Likewise.
7706 (mdraid_mod_LDFLAGS): Likewise.
7707 (dm_nv_mod_SOURCES): Likewise.
7708 (dm_nv_mod_CFLAGS): Likewise.
7709 (dm_nv_mod_LDFLAGS): Likewise.
7710
7711 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
7712 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7713 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7714
7715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
7716 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7717
7718 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7719
7720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7721
7722 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7723
7724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7725
7726 * disk/raid5_recover.c: New file.
7727
7728 * disk/raid6_recover.c: Likewise.
7729
7730 * disk/mdraid_linux.c: Likewise.
7731
7732 * disk/dmraid_nvidia.c: Likewise.
7733
7734 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
7735 ULONG_MAX.
7736
7737 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
7738 calculate the size of raid device.
7739 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
7740 different layout of raid5.
7741 (grub_raid_scan_device): Remove code specific to mdraid.
7742 (grub_raid_list): New variable.
7743 (free_array): New function.
7744 (grub_raid_register): Likewise.
7745 (grub_raid_unregister): Likewise.
7746 (grub_raid_rescan): Likewise.
7747 (GRUB_MOD_INIT): Don't iterate device here.
7748 (GRUB_MOD_FINI): Use free_array to release resource.
7749
7750 * include/grub/raid.h: Remove macro and structure specific to mdraid.
7751 (grub_raid5_recover_func_t): New function variable type.
7752 (grub_raid6_recover_func_t): Likewise.
7753 (grub_raid5_recover_func): New variable.
7754 (grub_raid6_recover_func): Likewise.
7755 (grub_raid_register): New function.
7756 (grub_raid_unregister): Likewise.
7757 (grub_raid_rescan): Likewise.
7758 (grub_raid_block_xor): Likewise.
7759
7760 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
7761 (CMD_CRC): New macro.
7762 (part): Removed.
7763 (read_file): Handle device as well as file.
7764 (cmd_crc): New function.
7765 (fstest): Handle multiple disks.
7766 (options): Remove part, raw and long, add root and diskcount.
7767 (usage): Add crc, remove -p, -r, -l, add -r and -c.
7768 (main): Find the first non option entry and ignore subsequent options,
7769 add handling for the new options, support multiple disks.
7770
7771 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
7772
7773 2008-08-23 Bean <bean123ch@gmail.com>
7774
7775 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
7776
7777 * genfslist.sh: Ignore kernel.mod.
7778
7779 * genpartmaplist.sh: Likewise.
7780
7781 2008-08-23 Robert Millan <rmh@aybabtu.com>
7782
7783 * util/getroot.c (find_root_device): Skip anything that starts with
7784 a dot, not just directories. This avoids things like /dev/.tmp.md0.
7785
7786 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
7787
7788 * util/update-grub.in (GRUB_GFXMODE): Export variable.
7789 * util/grub.d/00_header.in: Allow the administrator to change default
7790 gfxmode via ${GRUB_GFXMODE}.
7791
7792 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
7793
7794 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
7795
7796 2008-08-21 Robert Millan <rmh@aybabtu.com>
7797
7798 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
7799 loader.
7800 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
7801 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
7802
7803 2008-08-20 Carles Pina i Estany <carles@pina.cat>
7804
7805 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
7806 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
7807
7808 2008-08-19 Robert Millan <rmh@aybabtu.com>
7809
7810 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
7811 (struct grub_virtual_screen): Remove `cursor_color'.
7812 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
7813 initialization.
7814 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
7815
7816 2008-08-18 Robert Millan <rmh@aybabtu.com>
7817
7818 Unify (identical) linux_normal.c files.
7819 * loader/i386/efi/linux_normal.c: Move from here ...
7820 * loader/linux_normal.c: ... to here. Update all users.
7821 * loader/i386/pc/linux_normal.c: Delete. Update all users.
7822 * loader/i386/ieee1275/linux_normal.c: Likewise.
7823
7824 2008-08-18 Robert Millan <rmh@aybabtu.com>
7825
7826 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
7827 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
7828 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
7829 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
7830 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
7831 New macros.
7832 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
7833 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
7834 (GRUB_LINUX_CL_END_OFFSET): ... to here.
7835 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
7836 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
7837 (GRUB_EFI_CL_END_OFFSET): Rename to ...
7838 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
7839 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
7840 Initialize `params->video_cursor_x' and `params->video_cursor_y'
7841 portably using grub_getxy().
7842 Replace `-EFI' with `-bzImage' in boot message.
7843
7844 2008-08-17 Robert Millan <rmh@aybabtu.com>
7845
7846 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
7847
7848 2008-08-17 Robert Millan <rmh@aybabtu.com>
7849
7850 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
7851
7852 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
7853 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
7854 (grub_machine_mmap_iterate): New function declaration.
7855 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
7856 structure.
7857 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
7858 macros.
7859
7860 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
7861 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
7862 Move e820 parsing from here ...
7863 * kern/i386/pc/mmap.c: New file.
7864 (grub_machine_mmap_iterate): ... to here.
7865
7866 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
7867 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
7868 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
7869 (grub_available_iterate): Redeclare to return `void', and redeclare
7870 its hook to use grub_uint64_t as addr and size parameters, and rename
7871 to ...
7872 (grub_machine_mmap_iterate): ... this. Update all users.
7873
7874 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
7875 to make it more readable. Rename to ...
7876 (grub_machine_mmap_iterate): ... this.
7877
7878 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
7879 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
7880 (grub_multiboot): Allocate an extra region after the payload, and fill
7881 it with a Multiboot memory map. Adjust a.out loader to calculate size
7882 with the extra space.
7883 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
7884 with the extra space.
7885
7886 2008-08-17 Carles Pina i Estany <carles@pina.cat>
7887
7888 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
7889
7890 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
7891
7892 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
7893 mdate-sh to the list `find' searches for.
7894 * DISTLIST: Regenerated.
7895
7896 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
7897
7898 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
7899 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
7900 genmoddep.awk, gensymlist.sh.in.
7901 (DISTDIRS): Add bus, docs, hook, lib.
7902 * DISTLIST: Regenerated.
7903 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
7904
7905 2008-08-16 Robert Millan <rmh@aybabtu.com>
7906
7907 * disk/raid.c (grub_raid_init): Handle/report errors set by
7908 grub_device_iterate().
7909 * disk/lvm.c (grub_lvm_init): Likewise.
7910
7911 2008-08-15 Bean <bean123ch@gmail.com>
7912
7913 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7914 and datehook.mod.
7915 (datetime_mod_SOURCES): New macro.
7916 (datetime_mod_CFLAGS): Likewise.
7917 (datetime_mod_LDFLAGS): Likewise.
7918 (date_mod_SOURCES): Likewise.
7919 (date_mod_CFLAGS): Likewise.
7920 (date_mod_LDFLAGS): Likewise.
7921 (datehook_mod_SOURCES): Likewise.
7922 (datehook_mod_CFLAGS): Likewise.
7923 (datehook_mod_LDFLAGS): Likewise.
7924
7925 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7926 and datehook.mod.
7927 (datetime_mod_SOURCES): New macro.
7928 (datetime_mod_CFLAGS): Likewise.
7929 (datetime_mod_LDFLAGS): Likewise.
7930 (date_mod_SOURCES): Likewise.
7931 (date_mod_CFLAGS): Likewise.
7932 (date_mod_LDFLAGS): Likewise.
7933 (datehook_mod_SOURCES): Likewise.
7934 (datehook_mod_CFLAGS): Likewise.
7935 (datehook_mod_LDFLAGS): Likewise.
7936
7937 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7938 and datehook.mod.
7939 (datetime_mod_SOURCES): New macro.
7940 (datetime_mod_CFLAGS): Likewise.
7941 (datetime_mod_LDFLAGS): Likewise.
7942 (date_mod_SOURCES): Likewise.
7943 (date_mod_CFLAGS): Likewise.
7944 (date_mod_LDFLAGS): Likewise.
7945 (datehook_mod_SOURCES): Likewise.
7946 (datehook_mod_CFLAGS): Likewise.
7947 (datehook_mod_LDFLAGS): Likewise.
7948
7949 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7950 and datehook.mod.
7951 (datetime_mod_SOURCES): New macro.
7952 (datetime_mod_CFLAGS): Likewise.
7953 (datetime_mod_LDFLAGS): Likewise.
7954 (date_mod_SOURCES): Likewise.
7955 (date_mod_CFLAGS): Likewise.
7956 (date_mod_LDFLAGS): Likewise.
7957 (datehook_mod_SOURCES): Likewise.
7958 (datehook_mod_CFLAGS): Likewise.
7959 (datehook_mod_LDFLAGS): Likewise.
7960
7961 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7962 and datehook.mod.
7963 (datetime_mod_SOURCES): New macro.
7964 (datetime_mod_CFLAGS): Likewise.
7965 (datetime_mod_LDFLAGS): Likewise.
7966 (date_mod_SOURCES): Likewise.
7967 (date_mod_CFLAGS): Likewise.
7968 (date_mod_LDFLAGS): Likewise.
7969 (datehook_mod_SOURCES): Likewise.
7970 (datehook_mod_CFLAGS): Likewise.
7971 (datehook_mod_LDFLAGS): Likewise.
7972
7973 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
7974
7975 * commands/date.c: New file.
7976
7977 * hook/datehook.c: Likewise.
7978
7979 * include/grub/lib/datetime.h: Likewise.
7980
7981 * include/grub/i386/cmos.h: Likewise.
7982
7983 * lib/datetime.c: Likewise.
7984
7985 * lib/i386/datetime.c: Likewise.
7986
7987 * lib/efi/datetime.c: Likewise.
7988
7989 2008-08-14 Robert Millan <rmh@aybabtu.com>
7990
7991 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
7992 (grub_mkelfimage_SOURCES): New variable.
7993 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
7994
7995 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
7996 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
7997 * conf/powerpc-ieee1275.rmk: Likewise.
7998 * conf/i386-ieee1275.rmk: Likewise.
7999
8000 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8001 * kern/i386/coreboot/init.c: Likewise.
8002
8003 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8004 with `<grub/cpu/kernel.h>'.
8005 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8006 to ...
8007 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8008 * kern/i386/coreboot/startup.S: Likewise.
8009
8010 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8011 (GRUB_MOD_GAP): Remove.
8012 * include/grub/powerpc/kernel.h: New file.
8013 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8014 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8015 * include/grub/i386/kernel.h: New file.
8016 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8017 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8018 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8019
8020 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8021 `grub-mkelfimage'.
8022 Use --directory when invoking grub_mkimage.
8023
8024 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8025 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8026 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8027 and GRUB_KERNEL_CPU_PREFIX.
8028
8029 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
8030
8031 * include/grub/err.h (grub_err_printf): New function prototype.
8032 * util/misc.c (grub_err_printf): New function.
8033 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8034 grub_printf.
8035 * kern/err.c (grub_print_error): Use grub_err_printf.
8036
8037 2008-08-13 Robert Millan <rmh@aybabtu.com>
8038
8039 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8040
8041 2008-08-13 Robert Millan <rmh@aybabtu.com>
8042
8043 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8044 boot entry.
8045
8046 2008-08-12 Robert Millan <rmh@aybabtu.com>
8047
8048 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8049 of the relocation code from here ...
8050 (grub_multiboot): ... to here.
8051 (forward_relocator, backward_relocator): Move from here ...
8052 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8053 (grub_multiboot_backward_relocator): ... to here.
8054 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8055 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8056 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8057 (grub_multiboot_forward_relocator_end)
8058 (grub_multiboot_backward_relocator)
8059 (grub_multiboot_backward_relocator_end): New variables.
8060
8061 2008-08-12 Bean <bean123ch@gmail.com>
8062
8063 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8064
8065 2008-08-11 Robert Millan <rmh@aybabtu.com>
8066
8067 * kern/i386/linuxbios/startup.S: Move from here ...
8068 * kern/i386/coreboot/startup.S: ... to here.
8069
8070 * kern/i386/linuxbios/init.c: Move from here ...
8071 * kern/i386/coreboot/init.c: ... to here.
8072
8073 * kern/i386/linuxbios/table.c: Move from here ...
8074 * kern/i386/coreboot/mmap.c: ... to here.
8075
8076 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
8077
8078 2008-08-11 Robert Millan <rmh@aybabtu.com>
8079
8080 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
8081 errors. Leave it to the upper layer to handle them.
8082
8083 2008-08-09 Christian Franke <franke@computer.org>
8084
8085 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
8086 * conf/common.rmk: Install `grub-pe2elf' only if requested.
8087 Install `grub.d/10_windows' only on Cygwin.
8088 * configure.ac: Add subst of `target_os'.
8089 Check `target_os' also before setting TARGET_OBJ2ELF.
8090 Add `--enable-grub-pe2elf'.
8091
8092 2008-08-08 Robert Millan <rmh@aybabtu.com>
8093
8094 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8095 (grub_last_time): Change type to grub_uint64_t.
8096 (grub_disk_open): Migrate code from to using grub_get_time_ms().
8097 (grub_disk_close): Likewise.
8098
8099 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8100 (run_menu): Migrate code from to using grub_get_time_ms().
8101
8102 * util/misc.c (grub_get_time_ms): New function.
8103
8104 2008-08-08 Marco Gerards <marco@gnu.org>
8105
8106 * disk/ata.c (grub_ata_regget): Change return type to
8107 `grub_uint8_t'.
8108 (grub_ata_regget2): Likewise.
8109 (grub_ata_wait_status): New function.
8110 (grub_ata_wait_busy): Removed function, updated all users to use
8111 `grub_ata_wait_status'.
8112 (grub_ata_wait_drq): Likewise.
8113 (grub_ata_cmd): New function.
8114 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
8115 error handling.
8116 (grub_ata_pio_write): Add error handling.
8117 (grub_atapi_identify): Likewise.
8118 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
8119 handling.
8120 (grub_ata_identify): Use `grub_ata_cmd' and improve error
8121 handling. Actually use the detected registers. Reorder the
8122 detection logic such that it is easier to read.
8123 (grub_ata_pciinit): Do not assign the same ID to each controller.
8124 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
8125 handling.
8126 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
8127
8128 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
8129
8130 2008-08-08 Marco Gerards <marco@gnu.org>
8131
8132 * NEWS: Update.
8133
8134 2008-08-07 Bean <bean123ch@gmail.com>
8135
8136 * include/grub/x86_64/pci.h: New file.
8137
8138 2008-08-07 Christian Franke <franke@computer.org>
8139
8140 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
8141 (TIMER2_GATE): Likewise.
8142 (grub_pit_wait): Add enable/disable of the timer2 gate
8143 bit of port 0x61. This fixes a possible infinite loop.
8144
8145 2008-08-07 Bean <bean123ch@gmail.com>
8146
8147 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
8148 kern/i386/tsc.c and kern/i386/pit.c.
8149
8150 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
8151 x86_64 platform.
8152
8153 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
8154 <grub/i386/tsc.h>.
8155
8156 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
8157
8158 2008-08-07 Bean <bean123ch@gmail.com>
8159
8160 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
8161
8162 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
8163
8164 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
8165 multiple inclusion. Add #include <grub/types.h>.
8166
8167 2008-08-06 Christian Franke <franke@computer.org>
8168
8169 * conf/common.rmk: Build and install `10_windows'.
8170 * util/grub.d/10_windows.in: New script.
8171
8172 2008-08-06 Pavel Roskin <proski@gnu.org>
8173
8174 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
8175
8176 2008-08-06 Robert Millan <rmh@aybabtu.com>
8177
8178 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
8179 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
8180
8181 2008-08-06 Bean <bean123ch@gmail.com>
8182
8183 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
8184 (grub_pxefs_fs_int): Remove dummy definition.
8185 (grub_pxefs_open): Use data->block_size to store the current block
8186 size setting.
8187 (grub_pxefs_read): Use block size stored in data->block_size. As the
8188 value of grub_pxe_blksize can be changed after the file is opened.
8189
8190 2008-08-06 Bean <bean123ch@gmail.com>
8191
8192 * fs/i386/pc/pxe.c (curr_file): new variable.
8193 (grub_pxefs_open): Simply the handling of pxe file system. Don't
8194 require the dummy internal file system anymore.
8195 (grub_pxefs_read): Removed.
8196 (grub_pxefs_close): Likewise.
8197 (grub_pxefs_fs_int): Likewise.
8198 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
8199 connection when we switch file.
8200 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
8201
8202 2008-08-06 Robert Millan <rmh@aybabtu.com>
8203
8204 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
8205 `halt.mod'.
8206 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
8207 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
8208
8209 * kern/i386/halt.c: New file.
8210 * kern/i386/reboot.c: Likewise.
8211 * include/grub/i386/reboot.h: Likewise.
8212 * include/grub/i386/halt.h: Likewise.
8213
8214 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
8215 Include `<grub/cpu/halt.h>'.
8216 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
8217 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
8218
8219 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
8220 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
8221 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
8222 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
8223 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
8224 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
8225 from here ...
8226 * include/grub/i386/at_keyboard.h: ... to here.
8227
8228 2008-08-05 Robert Millan <rmh@aybabtu.com>
8229
8230 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
8231 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
8232 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
8233 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8234 `kern/generic/millisleep.c'.
8235
8236 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
8237 instead of grub_get_rtc().
8238 (grub_tsc_init): Initialize `tsc_boot_time'.
8239
8240 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
8241 (grub_machine_init): Use grub_tsc_init() rather than
8242 installing an RTC-based handler via grub_install_get_time_ms().
8243
8244 * kern/i386/pit.c: New file.
8245 * include/grub/i386/pit.h: Likewise.
8246
8247 2008-08-05 Bean <bean123ch@gmail.com>
8248
8249 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
8250
8251 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
8252 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
8253 (pxe_mod_SOURCES): New macro.
8254 (pxe_mod_CFLAGS): Likewise.
8255 (pxe_mod_LDFLAGS): Likewise.
8256 (pxecmd_mod_SOURCES): Likewise.
8257 (pxecmd_mod_CFLAGS): Likewise.
8258 (pxecmd_mod_LDFLAGS): Likewise.
8259
8260 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
8261 (grub_pxe_call): Likewise.
8262
8263 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
8264
8265 * commands/i386/pc/pxecmd.c: New file.
8266
8267 * fs/i386/pc/pxe.c: Likewise.
8268
8269 * include/grub/i386/pc/pxe.h: Likewise.
8270
8271 2008-08-05 Bean <bean123ch@gmail.com>
8272
8273 * util/console.c (grub_console_cur_color): New variable.
8274 (grub_console_standard_color): Likewise.
8275 (grub_console_normal_color): Likewise.
8276 (grub_console_highlight_color): Likewise.
8277 (color_map): Likewise.
8278 (use_color): Likewise.
8279 (NUM_COLORS): New macro.
8280 (grub_ncurses_setcolorstate): Handle color properly.
8281 (grub_ncurses_setcolor): Don't change color here, just remember the
8282 settings, color will be set in grub_ncurses_setcolorstate.
8283 (grub_ncurses_getcolor): New function.
8284 (grub_ncurses_init): Initialize color pairs.
8285 (grub_ncurses_term): New member grub_ncurses_getcolor.
8286
8287 2008-08-05 Colin D Bennett <colin@gibibit.com>
8288
8289 High resolution timer support. Implemented for x86 CPUs using TSC.
8290 Extracted generic grub_millisleep() so it's linked in only as needed.
8291 This requires a Pentium compatible CPU; if the RDTSC instruction is
8292 not supported, then it falls back on the generic grub_get_time_ms()
8293 implementation that uses the machine's RTC.
8294
8295 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
8296 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8297 `kern/generic/millisleep.c'.
8298
8299 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
8300 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
8301
8302 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
8303 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
8304
8305 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8306
8307 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8308 `kern/generic/millisleep.c'.
8309
8310 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8311
8312 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
8313
8314 * kern/generic/rtc_get_time_ms.c: New file.
8315
8316 * kern/generic/millisleep.c: New file.
8317
8318 * kern/misc.c: Don't include
8319 <kern/time.h> anymore.
8320 (grub_millisleep_generic): Removed.
8321
8322 * commands/sleep.c (grub_interruptible_millisleep): Uses
8323 grub_get_time_ms() instead of grub_get_rtc().
8324
8325 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
8326 function.
8327 (grub_cpu_is_cpuid_supported): New inline function.
8328 (grub_cpu_is_tsc_supported): New inline function.
8329 (grub_tsc_init): New function prototype.
8330 (grub_tsc_get_time_ms): New function prototype.
8331
8332 * kern/i386/tsc.c (grub_get_time_ms): New file.
8333
8334 * include/grub/time.h: Include <grub/types.h.
8335 (grub_millisleep_generic): Removed.
8336 (grub_get_time_ms): New prototype.
8337 (grub_install_get_time_ms): New prototype.
8338 (grub_rtc_get_time_ms): New prototype.
8339
8340 * kern/time.c (grub_get_time_ms): New function.
8341 (grub_install_get_time_ms): New function.
8342
8343 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
8344 <grub/time.h> anymore.
8345 (grub_millisleep): Removed.
8346 (grub_machine_init): Call grub_tsc_init.
8347
8348 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
8349 get_time_ms() implementation.
8350
8351 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
8352 (ieee1275_get_time_ms): New function.
8353 (grub_machine_init): Install get_time_ms() implementation.
8354
8355 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
8356 (grub_machine_init): Call grub_tsc_init().
8357 (grub_millisleep): Removed.
8358
8359 * kern/ieee1275/init.c (grub_millisleep): Removed.
8360 (grub_machine_init): Install ieee1275_get_time_ms()
8361 implementation.
8362 (ieee1275_get_time_ms): New function.
8363 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
8364 real work.
8365
8366 2008-08-05 Marco Gerards <marco@gnu.org>
8367
8368 * disk/ata.c: Include <grub/pci.h>.
8369 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
8370 (grub_ata_initialize): Rewritten.
8371 (grub_ata_device_initialize): New function.
8372
8373 2008-08-04 Pavel Roskin <proski@gnu.org>
8374
8375 * kern/main.c: Include grub/mm.h.
8376
8377 2008-08-04 Robert Millan <rmh@aybabtu.com>
8378
8379 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
8380 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
8381 corruption problem).
8382
8383 2008-08-04 Robert Millan <rmh@aybabtu.com>
8384
8385 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
8386 warnings introduced in my last commit.
8387
8388 2008-08-03 Robert Millan <rmh@aybabtu.com>
8389
8390 Make PCI available on all i386 architectures.
8391
8392 * include/grub/i386/pc/pci.h: Move from here ...
8393 * include/grub/i386/pci.h: ... to here.
8394
8395 * include/grub/i386/pc/pci.h: Remove.
8396 * include/grub/i386/efi/pci.h: Remove.
8397 * include/grub/x86_64/efi/pci.h: Remove.
8398
8399 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
8400 `<grub/cpu/pci.h>'.
8401
8402 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
8403 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
8404 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
8405
8406 * conf/i386-ieee1275.rmk: Likewise.
8407
8408 2008-08-03 Robert Millan <rmh@aybabtu.com>
8409
8410 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
8411 (grub_console_setcursor): Make it possible to set cursor off.
8412
8413 2008-08-03 Robert Millan <rmh@aybabtu.com>
8414
8415 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
8416 of modules instead of assuming which platform provides what.
8417 * util/update-grub.in: Likewise.
8418
8419 2008-08-03 Robert Millan <rmh@aybabtu.com>
8420
8421 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
8422 instead of `grub_install_dos_part' to determine whether a drive needs
8423 to be prepended to prefix (`grub_install_dos_part' is not reliable,
8424 because it can be overridden when loading GRUB via Multiboot).
8425
8426 2008-08-02 Robert Millan <rmh@aybabtu.com>
8427
8428 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
8429
8430 2008-08-02 Robert Millan <rmh@aybabtu.com>
8431
8432 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
8433 of informational grub_dprintf() calls.
8434
8435 2008-08-02 Robert Millan <rmh@aybabtu.com>
8436
8437 * disk/memdisk.c (memdisk_size): Don't initialize.
8438 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
8439
8440 * include/grub/i386/pc/kernel.h
8441 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
8442 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
8443 (grub_memdisk_image_size, grub_arch_memdisk_addr)
8444 (grub_arch_memdisk_size): Remove.
8445
8446 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
8447 field (was only used to transfer a constant). Add `type' field to
8448 support multiple module types.
8449 (grub_module_iterate): New function.
8450
8451 * kern/device.c (grub_device_open): Do not hide error messages
8452 when grub_disk_open() fails. Use grub_print_error() instead.
8453
8454 * kern/i386/pc/init.c (grub_arch_modules_addr)
8455 (grub_arch_memdisk_size): Remove functions.
8456 (grub_arch_modules_addr): Return the module address in high memory
8457 (now that it isn't copied anymore).
8458
8459 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
8460 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
8461 decompression routine (grub_total_module_size already includes that
8462 now). Don't copy modules back to low memory.
8463
8464 * kern/main.c: Include `<grub/mm.h>'.
8465 (grub_load_modules): Split out (and use) ...
8466 (grub_module_iterate): ... this function, which iterates through
8467 module objects and runs a hook.
8468 Comment out grub_mm_init_region() call, as it would cause non-ELF
8469 modules to be overwritten.
8470
8471 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
8472 the memdisk image in its own region, make it part of the module list.
8473 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
8474 (main): Parse --memdisk|-m option, and pass user-provided path as
8475 parameter to generate_image().
8476 (add_segments): Pass `memdisk_path' down to load_modules().
8477 (load_modules): Embed memdisk image in module section when requested.
8478 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
8479 `header.type' instead of `header.offset'.
8480
8481 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
8482 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
8483 (memdisk_mod_LDFLAGS): New variables.
8484 * conf/i386-coreboot.rmk: Likewise.
8485 * conf/i386-ieee1275.rmk: Likewise.
8486
8487 2008-08-02 Robert Millan <rmh@aybabtu.com>
8488
8489 * loader/i386/pc/multiboot.c (playground, forward_relocator)
8490 (backward_relocator): New variables. Used to allocate and relocate
8491 the payload, respectively.
8492 (grub_multiboot_load_elf32): Load into heap instead of requested
8493 address, install the appropriate relocator code in each bound of
8494 the payload, and set the entry point such that
8495 grub_multiboot_real_boot() will jump to one of them.
8496
8497 * kern/i386/loader.S (grub_multiboot_payload_size)
8498 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8499 (grub_multiboot_payload_entry_offset): New variables.
8500 (grub_multiboot_real_boot): Set cpu context to what the relocator
8501 expects, and jump to the relocator instead of the payload.
8502
8503 * include/grub/i386/loader.h (grub_multiboot_payload_size)
8504 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8505 (grub_multiboot_payload_entry_offset): Export.
8506
8507 2008-08-01 Bean <bean123ch@gmail.com>
8508
8509 * normal/menu_entry.c (editor_getline): Don't return the original
8510 string as result, as it will be released by lexer once it has done
8511 using it.
8512
8513 2008-08-01 Robert Millan <rmh@aybabtu.com>
8514
8515 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
8516 within menuentries, not before them.
8517 util/grub.d/10_hurd.in: Likewise.
8518
8519 2008-08-01 Bean <bean123ch@gmail.com>
8520
8521 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
8522 (bufio_mod_SOURCES): New macro.
8523 (bufio_mod_CFLAGS): Likewise.
8524 (bufio_mod_LDFLAGS): Likewise.
8525
8526 * include/grub/bufio.h: New file.
8527
8528 * io/bufio.c: Likewise.
8529
8530 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
8531 (grub_video_reader_png): Use grub_buffile_open to open file.
8532
8533 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
8534 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
8535
8536 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
8537 (grub_video_reader_tga): Use grub_buffile_open to open file.
8538
8539 * font/manager.c: Include <grub/bufio.h>.
8540 (add_font): Use grub_buffile_open to open file.
8541
8542 2008-07-31 Robert Millan <rmh@aybabtu.com>
8543
8544 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
8545 ELF segments, use a macro for arbitrarily accessing any of them instead
8546 of preparing a pointer that allows access to one at a time.
8547 (grub_multiboot_load_elf64): Likewise.
8548
8549 2008-07-31 Bean <bean123ch@gmail.com>
8550
8551 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
8552 GRUB_KERNEL_MACHINE_DATA_END.
8553
8554 2008-07-30 Robert Millan <rmh@aybabtu.com>
8555
8556 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
8557 Increase from 0x50 to 0x60.
8558 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
8559 use UUIDs to identify the root drive for them. If that's not
8560 possible, abort.
8561 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
8562 check, for cross-disk installs.
8563
8564 2008-07-30 Robert Millan <rmh@aybabtu.com>
8565
8566 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
8567 is non-empty, use it to set the `prefix' environment variable instead
8568 of the usual approach.
8569 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
8570 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
8571 environment variable instead of dummy make_install_device().
8572
8573 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
8574 (start): Insert a data section, with `grub_prefix' variable.
8575 * kern/i386/linuxbios/startup.S: Likewise.
8576
8577 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
8578 New variable reference.
8579 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
8580 New macro. Defines offset of `grub_prefix' within startup.S (relative
8581 to `start').
8582 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
8583 section within startup.S (relative to `start').
8584 * include/grub/i386/coreboot/kernel.h: Likewise.
8585
8586 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
8587 Overwrite grub_prefix with its contents, at the beginning of the
8588 first segment.
8589 (main): Understand -p|--prefix.
8590
8591 2008-07-30 Robert Millan <rmh@aybabtu.com>
8592
8593 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
8594
8595 2008-07-30 Robert Millan <rmh@aybabtu.com>
8596
8597 * term/i386/pc/vga_text.c (grub_console_cls): Use
8598 grub_console_gotoxy() to go back to beginning of the screen.
8599 Found by Patrick Georgi <patrick.georgi@coresystems.de>
8600
8601 2008-07-29 Christian Franke <franke@computer.org>
8602
8603 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
8604 Add conversion of emulated mount points on Cygwin.
8605
8606 2008-07-29 Christian Franke <franke@computer.org>
8607
8608 * util/update-grub.in: Add a check for admin
8609 group on Cygwin.
8610 Remove old `grub.cfg.new' before creation.
8611 Add `-f' to `mv' to handle the different filesystem
8612 semantics of Windows.
8613
8614 2008-07-29 Bean <bean123ch@gmail.com>
8615
8616 * normal/main.c (get_line): Fix buffer overflow bug.
8617
8618 2008-07-28 Robert Millan <rmh@aybabtu.com>
8619
8620 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
8621 (struct grub_apple_header): New struct. Describes the layout of
8622 the partmap header.
8623 (apple_partition_map_iterate): Check the header magic as well as the
8624 partition magic (which was already being checked).
8625
8626 2008-07-28 Pavel Roskin <proski@gnu.org>
8627
8628 * genmk.rb: Add a warning to the beginning of the output that
8629 it's a generated file and should not be edited.
8630
8631 2008-07-28 Robert Millan <rmh@aybabtu.com>
8632
8633 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8634 with the same number are found, just use issue a warning with
8635 grub_dprintf(), as this error has been reported to be non-fatal.
8636
8637 2008-07-27 Robert Millan <rmh@aybabtu.com>
8638
8639 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
8640 information.
8641
8642 2008-07-27 Bean <bean123ch@gmail.com>
8643
8644 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
8645 (grub_fat_find_dir): Ignore case when comparing filename.
8646
8647 2008-07-27 Bean <bean123ch@gmail.com>
8648
8649 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
8650 smallino, as it's more descriptive, and i8count can be confused with
8651 the other field count.
8652 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
8653 inode type.
8654
8655 2008-07-27 Bean <bean123ch@gmail.com>
8656
8657 * commands/crc.c: New file.
8658
8659 * lib/crc.c: Likewise.
8660
8661 * include/grub/lib/crc.h: Likewise.
8662
8663 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
8664
8665 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
8666 (hexdump): Move this function to ...
8667
8668 * lib/hexdump.c: ... here.
8669
8670 * include/grub/hexdump.h: Renamed to ...
8671
8672 * include/grub/lib/hexdump.h: ... this.
8673
8674 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
8675
8676 * util/grub-editenv.c: Likewise.
8677
8678 * include/envblk.h: Renamed to ...
8679
8680 * include/lib/envblk.h: ... this.
8681
8682 * util/envblk.c: Renamed to ...
8683
8684 * lib/envblk.c: ... this.
8685
8686 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
8687 lib/hexdump.c.
8688 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
8689 (pkglib_MODULES): Add crc.mod.
8690 (hexdump_mod_SOURCES): Add lib/hexdump.c.
8691 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
8692 (crc_mod_SOURCES): New macro.
8693 (crc_mod_CFLAGS): Likewise.
8694 (crc_mod_LDFLAGS): Likewise.
8695
8696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
8697
8698 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8699
8700 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8701
8702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8703
8704 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8705
8706 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
8707
8708 * commands/help.c: Include <grub/term.h>.
8709 (TERM_WIDTH): Removed. Updated all users.
8710
8711 2008-07-27 Pavel Roskin <proski@gnu.org>
8712
8713 * util/getroot.c (find_root_device): Rephrase a comment to avoid
8714 spurious warnings about a comment within a comment.
8715
8716 2008-07-25 Robert Millan <rmh@aybabtu.com>
8717
8718 * util/getroot.c (find_root_device): Skip devices that match
8719 /dev/dm-[0-9]. This lets the real device be found for any type of
8720 abstraction (LVM, EVMS, RAID..).
8721 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
8722 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
8723 device is found first, find_root_device() will now skip it.
8724
8725 2008-07-24 Pavel Roskin <proski@gnu.org>
8726
8727 * include/grub/types.h: Use __builtin_bswap32() and
8728 __builtin_bswap64() with gcc 4.3 and newer.
8729
8730 2008-07-24 Christian Franke <franke@computer.org>
8731
8732 * util/i386/pc/grub-install.in: If `--debug' is specified,
8733 pass `--verbose' to grub-setup.
8734 Abort script if make_system_path_relative_to_its_root() fails.
8735
8736 2008-07-24 Bean <bean123ch@gmail.com>
8737
8738 * configure.ac: Fixed a bug caused by the previous cygwin patch,
8739 variable `target_platform' should be `platform'.
8740
8741 2008-07-24 Bean <bean123ch@gmail.com>
8742
8743 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
8744 (grub_png_init_fixed_block): New function.
8745 (grub_png_decode_image_data): Handle fixed huffman code compression.
8746
8747 2008-07-24 Bean <bean123ch@gmail.com>
8748
8749 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
8750 (grub_pe2elf_SOURCES): New macro.
8751 (CLEANFILES): Add grub-pe2elf.
8752
8753 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
8754 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
8755 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
8756 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
8757 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
8758 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
8759 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
8760 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
8761 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
8762 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
8763 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
8764 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
8765 (GRUB_PE32_DT_FUNCTION): Likewise.
8766 (GRUB_PE32_REL_I386_DIR32): Likewise.
8767 (GRUB_PE32_REL_I386_REL32): Likewise.
8768 (grub_pe32_symbol): New structure.
8769 (grub_pe32_reloc): Likewise.
8770
8771 * util/grub-pe2elf.c: New file.
8772
8773 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
8774 start symbol in non pc platform.
8775
8776 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
8777
8778 The following patches are from Christian Franke.
8779
8780 * include/grub/dl.h: Remove .previous, gas supports this only
8781 for ELF format.
8782
8783 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
8784 Remove .type, gas supports this only for ELF format.
8785
8786 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
8787 nullbytes in symbol table. This fixes an infinite loop if table is
8788 zero filled.
8789
8790 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
8791 TARGET_IMG_LDFLAGS and EXEEXT.
8792
8793 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
8794 TARGET_IMG_LDFLAGS_AC.
8795 (grub_CHECK_STACK_ARG_PROBE): New function.
8796
8797 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
8798
8799 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
8800
8801 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
8802 to set TARGET_IMG_LD* accordingly.
8803 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
8804 Add call to grub_CHECK_STACK_ARG_PROBE.
8805 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
8806
8807 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
8808
8809 * genmk.rb: Add EXEEXT to CLEANFILES.
8810
8811 2008-07-23 Robert Millan <rmh@aybabtu.com>
8812
8813 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
8814 define the codes for arrows and lines used for the menu).
8815 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
8816 as well.
8817
8818 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
8819 fonts, because the latter are too slow.
8820
8821 2008-07-21 Bean <bean123ch@gmail.com>
8822
8823 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
8824 a20. Run keyboard test last, as it will cause macbook to halt.
8825
8826 2008-07-18 Pavel Roskin <proski@gnu.org>
8827
8828 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
8829 load foreign architecture modules correctly anyway. Keep
8830 support for loading host architecture modules, whether we
8831 compile them or not.
8832
8833 2008-07-17 Pavel Roskin <proski@gnu.org>
8834
8835 * configure.ac: Use -m32 or -m64 regardless of whether we had to
8836 change target_cpu. The compiler default can mismatch target_cpu
8837 in any case.
8838
8839 * disk/efi/efidisk.c: Fix format warnings on x86_64.
8840 * kern/efi/efi.c: Likewise.
8841
8842 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
8843 target compiler is functional.
8844 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
8845 are set up.
8846
8847 * configure.ac: Default to efi platform for x86_64-apple. Allow
8848 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
8849 adjustments from the rest, only do them if target is not
8850 explicitly given. Merge other adjustments with the final sanity
8851 check. Remove an extraneous check for supported CPU. Be
8852 specific which CPU and which platform is not supported.
8853
8854 * configure.ac: Default to pc platform for x86_64.
8855
8856 2008-07-17 Robert Millan <rmh@aybabtu.com>
8857
8858 Partial LinuxBIOS -> Coreboot rename.
8859
8860 * conf/i386-linuxbios.rmk: Renamed to ...
8861 * conf/i386-coreboot.rmk: ... this.
8862 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
8863 * configure.ac: Accept "coreboot" as input platform (but maintain
8864 compatibility with "linuxbios").
8865 * include/grub/i386/linuxbios: Renamed to ...
8866 * include/grub/i386/coreboot: ... this.
8867
8868 2008-07-17 Bean <bean123ch@gmail.com>
8869
8870 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
8871 (appleldr_mod_SOURCE): New variable.
8872 (appleldr_mod_CFLAGS): Likewise.
8873 (appleldr_mod_LDFLAGS): Likewise.
8874 (pci_mod_SOURCES): Likewise.
8875 (pci_mod_CFLAGS): Likewise.
8876 (pci_mod_LDFLAGS): Likewise.
8877 (lspci_mod_SOURCES): Likewise.
8878 (lspci_mod_CFLAGS): Likewise.
8879 (lspci_mod_LDFLAGS): Likewise.
8880
8881 * conf/x86_64-efi.rmk: New file.
8882
8883 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
8884 macro.
8885 (grub_efidisk_write): Likewise.
8886
8887 * include/efi/api.h (efi_call_0): New macro.
8888 (efi_call_1): Likewise.
8889 (efi_call_2): Likewise.
8890 (efi_call_3): Likewise.
8891 (efi_call_4): Likewise.
8892 (efi_call_5): Likewise.
8893 (efi_call_6): Likewise.
8894
8895 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
8896 grub_rescue_cmd_chainloader.
8897
8898 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
8899 (grub_pe32_optional_header): Change some fields based on i386 or
8900 x86_64 platform.
8901 (GRUB_PE32_PE32_MAGIC): Likewise.
8902
8903 * include/grub/efi/uga_draw.h: New file.
8904
8905 * include/grub/elf.h (STN_ABS): New constant.
8906 (R_X86_64_NONE): Relocation constant for x86_64.
8907 (R_X86_64_64): Likewise.
8908 (R_X86_64_PC32): Likewise.
8909 (R_X86_64_GOT32): Likewise.
8910 (R_X86_64_PLT32): Likewise.
8911 (R_X86_64_COPY): Likewise.
8912 (R_X86_64_GLOB_DAT): Likewise.
8913 (R_X86_64_JUMP_SLOT): Likewise.
8914 (R_X86_64_RELATIVE): Likewise.
8915 (R_X86_64_GOTPCREL): Likewise.
8916 (R_X86_64_32): Likewise.
8917 (R_X86_64_32S): Likewise.
8918 (R_X86_64_16): Likewise.
8919 (R_X86_64_PC16): Likewise.
8920 (R_X86_64_8): Likewise.
8921 (R_X86_64_PC8): Likewise.
8922
8923 * include/grub/i386/efi/pci.h: New file.
8924
8925 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
8926 Change it value based on platform.
8927 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
8928 (GRUB_E820_RAM): Likewise.
8929 (GRUB_E820_RESERVED): Likewise.
8930 (GRUB_E820_ACPI): Likewise.
8931 (GRUB_E820_NVS): Likewise.
8932 (GRUB_E820_EXEC_CODE): Likewise.
8933 (GRUB_E820_MAX_ENTRY): Likewise.
8934 (grub_e820_mmap): New structure.
8935 (linux_kernel_header): Change the efi field according to different
8936 kernel version, also field from linux_kernel_header.
8937
8938 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
8939
8940 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
8941 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
8942 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
8943 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
8944 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
8945 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
8946 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
8947 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
8948 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
8949 (GRUB_PCI_ADDR_IO_MASK): Likewise.
8950
8951 * include/grub/x86_64/efi/kernel.h: New file.
8952
8953 * include/grub/x86_64/efi/loader.h: Likewise.
8954
8955 * include/grub/x86_64/efi/machine.h: Likewise.
8956
8957 * include/grub/x86_64/efi/pci.h: Likewise.
8958
8959 * include/grub/x86_64/efi/time.h: Likewise.
8960
8961 * include/grub/x86_64/linux.h: Likewise.
8962
8963 * include/grub/x86_64/setjmp.h: Likewise.
8964
8965 * include/grub/x86_64/time.h: Likewise.
8966
8967 * include/grub/x86_64/types.h: Likewise.
8968
8969 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
8970 GRUB_TARGET_SIZEOF_VOID_P.
8971
8972 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
8973 (grub_efi_locate_handle): Likewise.
8974 (grub_efi_open_protocol): Likewise.
8975 (grub_efi_set_text_mode): Likewise.
8976 (grub_efi_stall): Likewise.
8977 (grub_exit): Likewise.
8978 (grub_reboot): Likewise.
8979 (grub_halt): Likewise.
8980 (grub_efi_exit_boot_services): Likewise.
8981 (grub_get_rtc): Likewise.
8982
8983 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
8984 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
8985 (grub_efi_allocate_pages): Wrap efi calls.
8986 (grub_efi_free_pages): Wrap efi calls.
8987 (grub_efi_get_memory_map): Wrap efi calls.
8988
8989 * kern/x86_64/dl.c: New file.
8990
8991 * kern/x86_64/efi/callwrap.S: Likewise.
8992
8993 * kern/x86_64/efi/startup.S: Likewise.
8994
8995 * loader/efi/appleloader.c: Likewise.
8996
8997 * loader/efi/chainloader.c (cmdline): New variable.
8998 (grub_chainloader_unload): Wrap efi calls.
8999 (grub_chainloader_boot): Likewise.
9000 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9001 command line.
9002
9003 * loader/efi/chainloader_normal.c (chainloader_command):
9004 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9005 command line.
9006
9007 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9008 method.
9009 (grub_e820_add_region): New function.
9010 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9011 booting.
9012 (grub_find_video_card): New function.
9013 (grub_linux_setup_video): New function.
9014 (grub_rescue_cmd_linux): Probe for video information.
9015
9016 * normal/x86_64/setjmp.S: New file.
9017
9018 * term/efi/console.c (map_char): New function.
9019 (grub_console_putchar): Map unicode char.
9020 (grub_console_checkkey): Wrap efi calls.
9021 (grub_console_getkey): Likewise.
9022 (grub_console_getwh): Likewise.
9023 (grub_console_gotoxy): Likewise.
9024 (grub_console_cls): Likewise.
9025 (grub_console_setcolorstate): Likewise.
9026 (grub_console_setcursor): Likewise.
9027
9028 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9029
9030 2008-07-16 Pavel Roskin <proski@gnu.org>
9031
9032 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9033 format strings.
9034
9035 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9036 pointer, not an integer. This fixes a warning and prevents
9037 precision loss on 64-bit systems.
9038 (relocate_addresses): Remove unneeded cast.
9039
9040 2008-07-15 Pavel Roskin <proski@gnu.org>
9041
9042 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9043
9044 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9045
9046 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9047 Fix comparison between signed and unsigned.
9048
9049 * include/grub/i386/ieee1275/console.h: Declare
9050 grub_console_init() and grub_console_fini().
9051
9052 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9053 It's empty and unused.
9054
9055 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9056 beginning to avoid warnings with some compilers.
9057
9058 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9059 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9060
9061 2008-07-14 Pavel Roskin <proski@gnu.org>
9062
9063 * kern/env.c (grub_register_variable_hook): Don't copy empty
9064 string, it leaks memory. Pass "" to grub_env_set(), it should
9065 handle constant strings.
9066
9067 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9068 * commands/cmp.c (grub_cmd_cmp): Likewise.
9069 * kern/dl.c (grub_dl_flush_cache): Likewise.
9070 (grub_dl_load_core): Likewise.
9071 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
9072 (grub_elf64_load_phdrs): Likewise.
9073
9074 2008-07-13 Pavel Roskin <proski@gnu.org>
9075
9076 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
9077 between signed and unsigned.
9078 (LzmaEnc_Finish): Fix warning about an unused parameter.
9079
9080 2008-07-13 Bean <bean123ch@gmail.com>
9081
9082 * Makefile.in (enable_lzo): New rule.
9083
9084 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
9085
9086 * configure.ac (ENABLE_LZO): New option --enable-lzo.
9087
9088 * boot/i386/pc/lnxboot.S: #include <config.h>.
9089
9090 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
9091 its value according to the compression algorithm used, lzo or lzma.
9092
9093 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
9094 compression algorithm according to configure macro.
9095
9096 * kern/i386/pc/startup.S (codestart): Likewise.
9097
9098 * kern/i386/pc/lzma_decode.S: New file.
9099
9100 * include/grub/lib/LzFind.h: Likewise.
9101
9102 * include/grub/lib/LzHash.h: Likewise.
9103
9104 * include/grub/lib/LzmaDec.h: Likewise.
9105
9106 * include/grub/lib/LzmaEnc.h: Likewise.
9107
9108 * include/grub/lib/LzmaTypes.h: Likewise.
9109
9110 * lib/LzFind.c: Likewise.
9111
9112 * lib/LzmaDec.c: Likewise.
9113
9114 * lib/LzmaEnc.c: Likewise.
9115
9116 2008-07-13 Bean <bean123ch@gmail.com>
9117
9118 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
9119 (grub_ext4_extent_header): New structure.
9120 (grub_ext4_extent): Likewise.
9121 (grub_ext4_extent_idx): Likewise.
9122 (grub_ext4_find_leaf): New function.
9123 (grub_ext2_read_block): Handle extents.
9124
9125 2008-07-12 Robert Millan <rmh@aybabtu.com>
9126
9127 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
9128
9129 2008-07-11 Robert Millan <rmh@aybabtu.com>
9130
9131 * util/grub.d/40_custom.in: New file. Example on how to add custom
9132 entries to /etc/grub.d.
9133 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
9134 40_custom (implicitly, by merging all the grub.d rules).
9135
9136 2008-07-11 Pavel Roskin <proski@gnu.org>
9137
9138 * commands/read.c (grub_getline): Fix invalid memory access.
9139 Don't add newline to the variable value.
9140
9141 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
9142 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
9143 (serial_hw_get_port): Check validity of the port number.
9144 (grub_cmd_serial): Check return value of serial_hw_get_port().
9145
9146 2008-07-07 Pavel Roskin <proski@gnu.org>
9147
9148 * boot/i386/pc/diskboot.S (notification_string): Replace
9149 "Loading kernel" with just "loading". This is shorter, less
9150 confusing and saves a few bytes for possible future changes.
9151
9152 2008-07-05 Pavel Roskin <proski@gnu.org>
9153
9154 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
9155 size for ATAPI devices, they are undefined. Output sector
9156 number in decimal form.
9157
9158 * disk/ata.c: Use named constants for status bits.
9159
9160 2008-07-04 Pavel Roskin <proski@gnu.org>
9161
9162 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
9163 grub_addr_t before casting it to the void pointer to fix a
9164 warning. Non-addressable regions are discarded earlier.
9165 (grub_arch_modules_addr): Cast _end to grub_addr_t.
9166 * kern/i386/linuxbios/table.c: Include grub/misc.h.
9167 (check_signature): Don't shadow table_header.
9168 (grub_linuxbios_table_iterate): Cast numeric constants to
9169 grub_linuxbios_table_header_t.
9170 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
9171 grub_stop().
9172
9173 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
9174 prevent warnings.
9175
9176 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
9177 pointer, which can cause warnings. Support 64-bit addresses.
9178
9179 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
9180 of sizeof(long). This fixes PowerPC image generation on x86_64.
9181
9182 2008-07-04 Robert Millan <rmh@aybabtu.com>
9183
9184 This fixes a performance issue when pc & gpt partmap iterators
9185 didn't abort iteration even after our hook found what it was
9186 looking for (often causing expensive probes of non-existent drives).
9187
9188 Some callers relied on previous buggy behaviour, since they would
9189 raise an error when their own hooks caused early abortion of its
9190 iteration.
9191
9192 * kern/device.c (grub_device_open): Improve error message.
9193 * disk/lvm.c (grub_lvm_open): Likewise.
9194 * disk/raid.c (grub_raid_open): Likewise.
9195
9196 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
9197 when hook requests it, independently of grub_errno.
9198 (pc_partition_map_probe): Do not fail when find_func() caused
9199 early abortion of pc_partition_map_iterate().
9200
9201 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
9202 when hook requests it, independently of grub_errno.
9203 (gpt_partition_map_probe): Do not fail when find_func() caused
9204 early abortion of gpt_partition_map_iterate().
9205
9206 * kern/partition.c (grub_partition_iterate): Abort parent iteration
9207 when hook requests it, independently of grub_errno. Do not fail when
9208 part_map_iterate_hook() caused early abortion of p->iterate().
9209
9210 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
9211 when grub_partition_iterate() returned with non-zero.
9212
9213 2008-07-03 Pavel Roskin <proski@gnu.org>
9214
9215 * disk/ata.c (grub_ata_pio_write): Check status before writing,
9216 like we do in grub_ata_pio_read().
9217 (grub_ata_readwrite): Always write individual sectors. Fix the
9218 sector count for the remainder.
9219 (grub_ata_write): Enable writing to ATA devices. Correctly
9220 report error for ATAPI devices.
9221
9222 2008-07-02 Pavel Roskin <proski@gnu.org>
9223
9224 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
9225 warning.
9226
9227 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
9228 for every read sector, we already increment it for the whole
9229 batch. This fixes reading more than 256 sectors at once.
9230
9231 * util/grub-editenv.c (cmd_info): Cast argument to long
9232 explicitly. ptrdiff_t reduces to int on i386.
9233
9234 * util/grub-editenv.c (main): Be specific which parameter is
9235 missing.
9236
9237 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
9238 (memdisk): Make memdisk_orig_addr a pointer.
9239
9240 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
9241 for file offsets, use grub_off_t instead. Fix printf format
9242 warnings.
9243
9244 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
9245 there. Real unexpected warnings should not drown in the noise
9246 about known problems.
9247
9248 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
9249 grub_disk_addr_t for memory addresses.
9250
9251 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
9252 explicitly to fix a warning.
9253
9254 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
9255
9256 * Makefile.in (MODULE_LDFLAGS): New variable.
9257 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
9258 the linker accepts --build-id=none.
9259 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
9260 MODULE_LDFLAGS.
9261 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
9262
9263 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
9264 those in Linux XFS code. Provide a way to access 64-bit parent
9265 inode.
9266 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
9267 the end of struct grub_xfs_dir_header.
9268
9269 2008-07-02 Bean <bean123ch@gmail.com>
9270
9271 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
9272 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9273 and GRUB_IEEE1275_FLAG_NO_ANSI.
9274
9275 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
9276 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9277 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
9278
9279 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
9280 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
9281
9282 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
9283 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
9284
9285 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
9286 esc sequence on non ANSI terminal.
9287 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
9288
9289 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
9290 beginning of file.
9291
9292 2008-07-02 Bean <bean123ch@gmail.com>
9293
9294 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
9295 (grub_editenv_SOURCES): New variable.
9296 (pkglib_MODULES): Add loadenv.mod.
9297 (loadenv_mod_SOURCES): New variable.
9298 (loadenv_mod_CFLAGS): Likewise.
9299 (loadenv_mod_LDFLAGS): Likewise.
9300
9301 * include/grub/envblk.h: New file.
9302
9303 * util/envblk.c: New file.
9304
9305 * util/grub-editenv.c: New file.
9306
9307 * commands/loadenv.c: New file.
9308
9309 2008-07-01 Pavel Roskin <proski@gnu.org>
9310
9311 * include/multiboot2.h (struct multiboot_tag_module): Use char,
9312 not unsigned char. This fixes warnings and is consistent with
9313 other tags.
9314
9315 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
9316
9317 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
9318
9319 * term/tparm.c (analyze): Always set *popcount.
9320
9321 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
9322 cast to fix a warning.
9323
9324 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
9325 cast to suppress a warning.
9326
9327 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
9328 grub_fshelp_read_file() expects.
9329
9330 * fs/fat.c: Fix UUID calculation on big-endian systems. We
9331 write uuid as a 32-bit value in CPU byte order, so declare and
9332 use it as such.
9333
9334 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
9335 long if the format specifier expects it.
9336 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
9337 * partmap/pc.c (pc_partition_map_iterate): Likewise.
9338 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
9339 long to fix a warning.
9340 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
9341 grub_dprintf() arguments to fix warnings.
9342
9343 2008-06-30 Pavel Roskin <proski@gnu.org>
9344
9345 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
9346 install_bsd_part immediately before core.img is embedded or
9347 modified on disk. This fixes core.img verification if core.img
9348 cannot be embedded.
9349
9350 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
9351 core_path to calculate the blocklist.
9352 Patch from Javier Martín <lordhabbit@gmail.com>
9353
9354 2008-06-29 Robert Millan <rmh@aybabtu.com>
9355
9356 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
9357 block to disk block.
9358 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
9359 Patch from Niels Böhm <bitbucket@arcor.de>
9360
9361 2008-06-29 Robert Millan <rmh@aybabtu.com>
9362
9363 * util/update-grub_lib.in (font_path): Search for fonts in
9364 /boot/grub first, which is more likely to be readable (we aren't
9365 deciding where fonts live, just looking for them).
9366
9367 2008-06-26 Pavel Roskin <proski@gnu.org>
9368
9369 * util/biosdisk.c (read_device_map): Don't leave dead map
9370 entries for devices failing stat() check.
9371
9372 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
9373 core_path_dev for the core.img path on the target device.
9374
9375 2008-06-26 Robert Millan <rmh@aybabtu.com>
9376
9377 * disk/fs_uuid.c: New file.
9378 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
9379 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
9380 (fs_uuid_mod_LDFLAGS): New variables.
9381 * include/grub/disk.h (grub_disk_dev_id): Add
9382 `GRUB_DISK_DEVICE_UUID_ID'.
9383 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
9384 implement iterate().
9385
9386 2008-06-26 Robert Millan <rmh@aybabtu.com>
9387
9388 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
9389 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
9390 Linux image includes no initrd.
9391
9392 2008-06-21 Javier Martín <lordhabbit@gmail.com>
9393
9394 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
9395 call to resolve the core image location that effectively appended the
9396 name twice.
9397
9398 2008-06-21 Robert Millan <rmh@aybabtu.com>
9399
9400 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
9401 call from here ...
9402
9403 * util/grub.d/10_hurd.in: ... to here ...
9404 * util/grub.d/10_linux.in: ... and here.
9405
9406 2008-06-19 Robert Millan <rmh@aybabtu.com>
9407
9408 * kern/main.c (grub_main): Export `prefix' variable immediately
9409 after it has been set by grub_machine_set_prefix().
9410
9411 2008-06-19 Robert Millan <rmh@aybabtu.com>
9412
9413 * commands/search.c (search_label, search_fs_uuid, search_file): Print
9414 search result when not saving to variable, not the other way around.
9415 When saving to variable, abort iteration as soon as a match is found.
9416
9417 2008-06-19 Robert Millan <rmh@aybabtu.com>
9418
9419 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
9420 check for partition that provides /boot/grub. Its logic is flawed,
9421 as it prevents prepare_grub_to_access_device() from being called
9422 multiple times.
9423
9424 2008-06-19 Robert Millan <rmh@aybabtu.com>
9425
9426 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
9427 "insmod" command directly when abstraction modules are needed,
9428 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
9429 since it had already been processed).
9430
9431 2008-06-19 Pavel Roskin <proski@gnu.org>
9432
9433 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
9434 changed. This is needed in case GRUB_LIBDIR changes.
9435 * conf/i386-ieee1275.rmk: Likewise.
9436 * conf/i386-linuxbios.rmk: Likewise.
9437 * conf/i386-pc.rmk: Likewise.
9438 * conf/powerpc-ieee1275.rmk: Likewise.
9439
9440 2008-06-18 Pavel Roskin <proski@gnu.org>
9441
9442 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
9443 kernel_elf_symlist.c to symlist.c for consistency with other
9444 architectures. Update all users.
9445 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9446
9447 2008-06-18 Robert Millan <rmh@aybabtu.com>
9448
9449 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
9450 it in prefix.
9451
9452 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
9453 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
9454 a RAID device, run setup() for all members independently on whether
9455 LVM abstraction is being used.
9456 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
9457 If grub-mkimage has set `*install_dos_part == -2', don't override this
9458 value.
9459 Perform *install_dos_part adjustments independently on whether
9460 we're embedding or not.
9461 Clarify error message when image is too big for embedding.
9462 Remove duplicate *install_dos_part stanza.
9463
9464 2008-06-17 Robert Millan <rmh@aybabtu.com>
9465
9466 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
9467 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
9468 variables.
9469 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
9470 values in grub_ofconsole_normal_color and
9471 grub_ofconsole_highlight_color (they're not directly related to
9472 background and foreground).
9473 (grub_ofconsole_setcolorstate): Extract background and foreground
9474 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
9475
9476 2008-06-17 Robert Millan <rmh@aybabtu.com>
9477
9478 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
9479 /boot/grub for the check in last commit, not /boot (they could be
9480 different partitions).
9481
9482 2008-06-16 Robert Millan <rmh@aybabtu.com>
9483
9484 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
9485 asked to setup access for the same partition that provides /boot,
9486 don't bother using UUIDs since our root already has the value we
9487 want.
9488
9489 2008-06-16 Robert Millan <rmh@aybabtu.com>
9490
9491 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
9492 I2O devices.
9493 Patch from Sven Mueller <sven@debian.org>.
9494
9495 2008-06-16 Robert Millan <rmh@aybabtu.com>
9496
9497 * util/update-grub.in: Check for $EUID instead of $UID.
9498 Reported by Vincent Zweije.
9499
9500 2008-06-16 Bean <bean123ch@gmail.com>
9501
9502 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
9503 (grub_ext2_read_block): Likewise.
9504 (grub_ext2_read_inode): Likewise.
9505 (grub_ext2_mount): Likewise.
9506 (grub_ext2_close): Likewise.
9507 (grub_ext3_get_journal): Removed.
9508
9509 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
9510 (grub_reiserfs_read_symlink): Likewise.
9511 (grub_reiserfs_mount): Likewise.
9512 (grub_reiserfs_open): Likewise.
9513 (grub_reiserfs_read): Likewise.
9514 (grub_reiserfs_close): Likewise.
9515 (grub_reiserfs_get_journal): Removed.
9516
9517 * fs/fshelp.c (grub_fshelp_read): Removed.
9518 (grub_fshelp_map_block): Likewise.
9519
9520 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
9521 (grub_fshelp_journal): Likewise.
9522 (grub_fshelp_read): Likewise.
9523 (grub_fshelp_map_block): Likewise.
9524
9525 2008-06-16 Pavel Roskin <proski@gnu.org>
9526
9527 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
9528 floating point anymore.
9529 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
9530
9531 2008-06-15 Pavel Roskin <proski@gnu.org>
9532
9533 * commands/ls.c (grub_ls_list_files): Use integer calculations
9534 for human readable format, avoid floating point use.
9535 * kern/misc.c (grub_ftoa): Remove.
9536 (grub_vsprintf): Remove floating point support.
9537
9538 2008-06-15 Robert Millan <rmh@aybabtu.com>
9539
9540 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
9541 devices.
9542 Reported by Max Vozeler.
9543
9544 2008-06-15 Robert Millan <rmh@aybabtu.com>
9545
9546 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
9547 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
9548 skipped later.
9549 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
9550 the beginning of the prefix.
9551
9552 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
9553 It is assumed that if we have a memdisk, grub-mkimage has set
9554 grub_prefix to include the "(memdisk)" drive in it.
9555
9556 2008-06-15 Robert Millan <rmh@aybabtu.com>
9557
9558 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
9559 Initialize keyboard controller after registering the terminal, so that
9560 grub_printf() can be called from grub_keyboard_controller_init().
9561
9562 2008-06-15 Robert Millan <rmh@aybabtu.com>
9563
9564 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
9565 extent-btree which is written as big endian on disk.
9566 Reported by Alain Greppin <al@chilibi.org>.
9567
9568 2008-06-14 Robert Millan <rmh@aybabtu.com>
9569
9570 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
9571 * util/i386/pc/grub-install.in (modules): Likewise.
9572
9573 2008-06-13 Pavel Roskin <proski@gnu.org>
9574
9575 * commands/ls.c (grub_ls_list_files): Fix format warnings.
9576
9577 2008-06-13 Bean <bean123ch@gmail.com>
9578
9579 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
9580
9581 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
9582
9583 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
9584 to indicate sparse block.
9585
9586 2008-06-12 Pavel Roskin <proski@gnu.org>
9587
9588 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
9589 number, grub_fshelp_read() does it for us.
9590
9591 * fs/fshelp.c (grub_fshelp_read): New function. Implement
9592 linear disk read with journal translation.
9593 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
9594 * include/grub/fshelp.h: Declare grub_fshelp_read().
9595
9596 2008-06-09 Pavel Roskin <proski@gnu.org>
9597
9598 * fs/minix.c (grub_minix_mount): Handle error reading
9599 superblock.
9600
9601 2008-06-08 Robert Millan <rmh@aybabtu.com>
9602
9603 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
9604 don't append the RAID prefix afterwards.
9605 Reported by Clint Adams.
9606
9607 2008-06-08 Robert Millan <rmh@aybabtu.com>
9608
9609 Based on description from Pavel:
9610 * kern/disk.c (grub_disk_check_range): Rename to ...
9611 (grub_disk_adjust_range): ... this. Add a comment explaining the
9612 tasks performed by this function.
9613
9614 2008-06-08 Robert Millan <rmh@aybabtu.com>
9615
9616 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
9617 `num_serial' (for consistency with other variables).
9618 (struct grub_ntfs_data): Add `uuid' member.
9619 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
9620 (grub_ntfs_uuid): New function.
9621 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
9622
9623 2008-06-07 Pavel Roskin <proski@gnu.org>
9624
9625 * util/biosdisk.c (open_device): Revert last change to the
9626 function, it broke installation. The sector needs to be
9627 different dependent on which device is opened.
9628
9629 2008-06-06 Robert Millan <rmh@aybabtu.com>
9630
9631 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
9632 rest of GRUB, and breakage doesn't happen if its value were modified.
9633
9634 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9635 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
9636 a constant (same value).
9637 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
9638 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
9639
9640 2008-06-06 Robert Millan <rmh@aybabtu.com>
9641
9642 * util/biosdisk.c (open_device): Do not modify sector offset when
9643 accessing a partition. kern/disk.c already handles this for us.
9644
9645 2008-06-06 Robert Millan <rmh@aybabtu.com>
9646
9647 * util/grub-emu.c (grub_machine_init): Move code in this function from
9648 here ...
9649 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
9650 segfault in case grub_printf() is called).
9651
9652 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
9653 grub_probe. Update all users not to explicitly add it again.
9654 (grub_device): New variable; contains corresponding device for grubdir.
9655 (fs_module, partmap_module, devabstraction_module): Pass
9656 `--device ${grub_device}' to grub_probe to avoid traversing /dev
9657 every time.
9658
9659 2008-06-05 Robert Millan <rmh@aybabtu.com>
9660
9661 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
9662 is found, print it (same layout as with labels).
9663
9664 2008-06-04 Robert Millan <rmh@aybabtu.com>
9665
9666 * util/biosdisk.c (get_drive): Rename to ...
9667 (find_grub_drive): ... this. Update all users.
9668
9669 (get_os_disk): Rename to ...
9670 (convert_system_partition_to_system_disk): ... this. Update all users.
9671
9672 (find_drive): Rename to ...
9673 (find_system_device): ... this. Update all users.
9674
9675 2008-06-04 Robert Millan <rmh@aybabtu.com>
9676
9677 * util/biosdisk.c (get_os_disk): Handle IDA devices.
9678 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9679 (make_device_map): Likewise.
9680
9681 2008-06-01 Robert Millan <rmh@aybabtu.com>
9682
9683 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
9684 before dereferencing it.
9685
9686 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
9687 union with fat12/fat16-specific ones. Add some new fields, including
9688 `num_serial' for both versions.
9689 (struct grub_fat_data): Add `uuid' member.
9690 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
9691 names. Initialize `data->uuid' using `num_serial'.
9692 (grub_fat_uuid): New function.
9693 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
9694
9695 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
9696 (grub_reiserfs_uuid): New function.
9697 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
9698 member.
9699
9700 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
9701 (grub_xfs_uuid): New function.
9702 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
9703
9704 2008-06-01 Robert Millan <rmh@aybabtu.com>
9705
9706 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
9707 code that is backward compatible with pre-uuid search command.
9708
9709 2008-05-31 Robert Millan <rmh@aybabtu.com>
9710
9711 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
9712 floppies after everything else, to ensure floppy drive isn't accessed
9713 unnecessarily (patch from Bean).
9714
9715 2008-05-31 Robert Millan <rmh@aybabtu.com>
9716
9717 * commands/search.c (search_label, search_fs_uuid, search_file): Do
9718 not print device names when we were asked to set a variable.
9719
9720 2008-05-31 Robert Millan <rmh@aybabtu.com>
9721
9722 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
9723 using "cursor-on" and "cursor-off" commands (understood at least by
9724 the Open Firmware flavour on OLPC).
9725
9726 2008-05-31 Michael Gorven <michael@gorven.za.net>
9727
9728 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
9729 on and off sequences.
9730
9731 2008-05-31 Robert Millan <rmh@aybabtu.com>
9732
9733 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
9734 * util/update-grub.in: Likewise.
9735
9736 2008-05-30 Pavel Roskin <proski@gnu.org>
9737
9738 * util/biosdisk.c (linux_find_partition): Simplify logic and
9739 make the code more universal. Keep special processing for
9740 devfs, but use a simple rule for all other devices. If the
9741 device ends with a number, append 'p' and the partition number.
9742 Otherwise, append only the partition number.
9743
9744 2008-05-30 Robert Millan <rmh@aybabtu.com>
9745
9746 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
9747 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
9748 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
9749 the `root' parameter to Linux.
9750
9751 2008-05-30 Robert Millan <rmh@aybabtu.com>
9752
9753 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
9754 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
9755 --fs_uuid with --fs-uuid.
9756 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
9757 all filesystems support them).
9758
9759 2008-05-30 Robert Millan <rmh@aybabtu.com>
9760
9761 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
9762 grub_printf() flags, since we're printing in units of 2 bytes.
9763
9764 2008-05-30 Robert Millan <rmh@aybabtu.com>
9765
9766 * util/grub.d/00_header.in: Remove obsolete comment referencing
9767 convert_system_path_to_grub_path().
9768 * util/update-grub.in: Likewise.
9769 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
9770 (convert_system_path_to_grub_path): Add a warning message explaining
9771 that this function is deprecated. Rely on is_path_readable_by_grub()
9772 for the readability checks.
9773 (font_path): Use is_path_readable_by_grub() for the readability
9774 check rather than convert_system_path_to_grub_path().
9775
9776 2008-05-30 Robert Millan <rmh@aybabtu.com>
9777
9778 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
9779 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
9780 converting it first.
9781 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
9782 grub.cfg for access to font file, and afterwards call it again to set
9783 the root device.
9784
9785 2008-05-30 Robert Millan <rmh@aybabtu.com>
9786
9787 * commands/search.c (options): Add --fs_uuid option.
9788 (search_fs_uuid): New function.
9789 (grub_cmd_search): Fix --set argument passing.
9790 Use search_fs_uuid() when requested via --fs_uuid.
9791 (grub_search_init): Update help message.
9792 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
9793 and redeclare it as an array of 16-bit words.
9794 (grub_ext2_uuid): New function.
9795 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
9796 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
9797 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
9798 (GRUB_DEVICE_BOOT_UUID): New variables.
9799 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
9800 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
9801 whenever possible.
9802 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
9803 just assume `root' variable has the right value.
9804 * util/grub.d/10_linux.in: Likewise.
9805 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
9806 via PRINT_FS_UUID.
9807 (main): Recognise `-t fs_uuid' argument.
9808
9809 2008-05-30 Robert Millan <rmh@aybabtu.com>
9810
9811 * util/biosdisk.c (map): Redefine structure to hold information
9812 about GRUB drive name.
9813 (get_drive): Reimplement without assuming (and verifying) BIOS-like
9814 drive names.
9815 (call_hook): Remove.
9816 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
9817 member. Assume drive has partitions.
9818 (grub_util_biosdisk_open): Access device names via `.device' struct
9819 member.
9820 (open_device): Likewise.
9821 (find_drive): Likewise.
9822 (read_device_map): Adjust map[] usage to match the new struct
9823 definition. Don't check for duplicates (still possible, but not cheap
9824 anymore).
9825 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
9826 (make_device_name): Remove assumption of BIOS-like drive names.
9827
9828 2008-05-30 Pavel Roskin <proski@gnu.org>
9829
9830 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
9831 compiling execute.c doesn't need grub_script.tab.h anymore.
9832 (normal/command.c_DEPENDENCIES): Likewise.
9833 (normal/function.c_DEPENDENCIES): Likewise.
9834 * conf/i386-ieee1275.rmk: Likewise.
9835 * conf/i386-linuxbios.rmk: Likewise.
9836 * conf/i386-pc.rmk: Likewise.
9837 * conf/powerpc-ieee1275.rmk: Likewise.
9838 * conf/sparc64-ieee1275.rmk: Likewise.
9839
9840 2008-05-29 Pavel Roskin <proski@gnu.org>
9841
9842 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
9843 when scanning metadata for volume group name.
9844
9845 * include/grub/script.h: Don't include grub_script.tab.h. It's
9846 a generated file, which may only be included from the files with
9847 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
9848 use union YYSTYPE, as the later allows forward declaration.
9849 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
9850
9851 2008-05-29 Robert Millan <rmh@aybabtu.com>
9852
9853 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
9854 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
9855 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
9856 (grub_console_checkkey): Add grub_dprintf() call to report unknown
9857 scan codes.
9858
9859 2008-05-29 Robert Millan <rmh@aybabtu.com>
9860
9861 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
9862 control key combinations.
9863
9864 2008-05-29 Robert Millan <rmh@aybabtu.com>
9865
9866 * util/powerpc/ieee1275/grub-install.in: Move from here ...
9867 * util/ieee1275/grub-install.in: ... to here.
9868 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
9869 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
9870 (grub_install_SOURCES): Likewise.
9871
9872 2008-05-29 Robert Millan <rmh@aybabtu.com>
9873
9874 * fs/affs.c: Update copyright year.
9875 * fs/ext2.c: Likewise.
9876 * fs/fshelp.c: Likewise.
9877 * fs/hfsplus.c: Likewise.
9878 * fs/ntfs.c: Likewise.
9879 * fs/xfs.c: Likewise.
9880 * include/grub/fshelp.h: Likewise.
9881 * util/grub-mkdevicemap.c: Likewise.
9882
9883 2008-05-28 Robert Millan <rmh@aybabtu.com>
9884
9885 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
9886 might need to be fatfs to support some firmware implementations
9887 (e.g. OFW or EFI).
9888
9889 2008-05-28 Robert Millan <rmh@aybabtu.com>
9890
9891 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
9892 devices.
9893 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9894 (make_device_map): Likewise.
9895
9896 2008-05-20 Bean <bean123ch@gmail.com>
9897
9898 * fs/fshelp.c (grub_fshelp_map_block): New function.
9899 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
9900 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
9901
9902 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
9903 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
9904 (grub_fshelp_journal): New structure.
9905 (grub_fshelp_map_block): New function prototype.
9906 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
9907 (grub_fshelp_map_block): Likewise.
9908
9909 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
9910 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
9911 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
9912 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
9913 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
9914 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
9915 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
9916 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
9917 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
9918 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
9919 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
9920 (grub_ext2_sblock): New members for journal support.
9921 (grub_ext3_journal_header): New structure.
9922 (grub_ext3_journal_revoke_header): Likewise.
9923 (grub_ext3_journal_block_tag): Likewise.
9924 (grub_ext3_journal_sblock): Likewise.
9925 (grub_fshelp_node): New members logfile and journal.
9926 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
9927 grub_fshelp_map_block to get real block number.
9928 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
9929 number.
9930 (grub_ext2_read_inode): Likewise.
9931 (grub_ext3_get_journal): New function.
9932 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
9933 (grub_ext2_close): Release memory used by journal.
9934
9935 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
9936 (REISERFS_MAGIC_DESC_BLOCK): New macro.
9937 (grub_reiserfs_transaction_header): Renamed to
9938 grub_reiserfs_description_block, replace field data with real_blocks.
9939 (grub_reiserfs_commit_block): New structure.
9940 (grub_reiserfs_data): New member journal.
9941 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
9942 number.
9943 (grub_reiserfs_read_symlink): Likewise.
9944 (grub_reiserfs_iterate_dir): Likewise.
9945 (grub_reiserfs_open): Likewise.
9946 (grub_reiserfs_read): Likewise.
9947 (grub_reiserfs_get_journal): New function.
9948 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
9949 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
9950 using grub_reiserfs_get_journal.
9951 (grub_reiserfs_close): Release memory used by journal.
9952
9953 * fs/affs.c (grub_affs_read_block): Change block type to
9954 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
9955
9956 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
9957
9958 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
9959
9960 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
9961
9962 * fs/udf.c (grub_udf_read_block): Change block type to
9963 grub_disk_addr_t. Use type cast to avoid warning.
9964
9965 * fs/xfs.c (grub_xfs_read_block): Likewise.
9966
9967 2008-05-16 Christian Franke <franke@computer.org>
9968
9969 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
9970 to ensure that break with ESC will always work.
9971 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
9972 Remove ESC from keyboard queue.
9973
9974 2008-05-16 Christian Franke <franke@computer.org>
9975
9976 * util/biosdisk.c: [__CYGWIN__] Add includes.
9977 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
9978 (get_os_disk): Move variable declarations to OS specific
9979 parts to avoid warning.
9980 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
9981 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
9982 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
9983 Cygwin.
9984 * util/getroot.c: [__CYGWIN__] Add includes.
9985 (strip_extra_slashes): Fix "/" case.
9986 [__CYGWIN__] (get_win32_path): New function.
9987 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
9988 [__CYGWIN__] (find_root_device): Disable.
9989 [__CYGWIN__] (get_bootsec_serial): New function.
9990 [__CYGWIN__] (find_cygwin_root_device): Likewise.
9991 [__linux__] (grub_guess_root_device): Add early returns to simplify
9992 structure.
9993 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
9994 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
9995 check for Linux only.
9996
9997 2008-05-15 Bean <bean123ch@gmail.com>
9998
9999 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10000 keyboard hang problem in apple's intel mac.
10001
10002 2008-05-09 Robert Millan <rmh@aybabtu.com>
10003
10004 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10005 devices.
10006 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10007 (make_device_map): Likewise.
10008 Reported by Aurelien Jarno <aurel32@debian.org>
10009
10010 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
10011
10012 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10013 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10014 (make_device_map): Output entries for xvd type disks.
10015
10016 2008-05-07 Robert Millan <rmh@aybabtu.com>
10017
10018 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10019 devices.
10020 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10021 (make_device_map): Likewise.
10022 Reported by Roland Dreier <rdreier@cisco.com>
10023
10024 2008-05-07 Robert Millan <rmh@aybabtu.com>
10025
10026 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10027 grub_strstr() call. Correct a few mistakes in failure path handling.
10028
10029 2008-05-06 Robert Millan <rmh@aybabtu.com>
10030
10031 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10032 Do not print a trailing slash (therefore, the root directory is an
10033 empty string).
10034 (convert_system_path_to_grub_path): Do not remove trailing slash
10035 from make_system_path_relative_to_its_root() output.
10036
10037 * util/i386/pc/grub-install.in: Add trailing slash to output from
10038 make_system_path_relative_to_its_root().
10039
10040 2008-05-06 Robert Millan <rmh@aybabtu.com>
10041
10042 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10043 ensures that output lines aren't intermangled with those sent to
10044 stderr (via grub_util_info()).
10045 * util/grub-probe.c (grub_refresh): Likewise.
10046 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10047
10048 2008-05-05 Christian Franke <franke@computer.org>
10049
10050 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10051 Add Cygwin device names.
10052 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10053 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10054 (check_device): Return error instead of success on empty name.
10055 (make_device_map): Move label inside linux specific code to
10056 prevent compiler warning.
10057
10058 2008-04-30 Robert Millan <rmh@aybabtu.com>
10059
10060 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10061 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10062 first boot option.
10063 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10064
10065 2008-04-29 Robert Millan <rmh@aybabtu.com>
10066
10067 * docs/grub.cfg: New file (example GRUB configuration).
10068
10069 2008-04-26 Robert Millan <rmh@aybabtu.com>
10070
10071 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
10072 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
10073 and `disk/ieee1275/nand.c'.
10074
10075 2008-04-25 Bean <bean123ch@gmail.com>
10076
10077 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
10078 i386-linuxbios.
10079
10080 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
10081 change the buffer size to 4096 for cdrom device.
10082
10083 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
10084 and nand.mod.
10085 (_linux_mod_SOURCES): New variable.
10086 (_linux_mod_CFLAGS): Likewise.
10087 (_linux_mod_LDFLAGS): Likewise.
10088 (linux_mod_SOURCES): Likewise.
10089 (linux_mod_CFLAGS): Likewise.
10090 (linux_mod_LDFLAGS): Likewise.
10091 (nand_mod_SOURCES): Likewise.
10092 (nand_mod_CFLAGS): Likewise.
10093 (nand_mod_LDFLAGS): Likewise.
10094
10095 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
10096 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
10097 type property. (nand device in olpc don't have this property)
10098
10099 * include/grub/disk.h (grub_disk_dev_id): New macro
10100 GRUB_DISK_DEVICE_NAND_ID.
10101
10102 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
10103 function prototype.
10104 (grub_rescue_cmd_initrd): Likewise.
10105
10106 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
10107 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
10108 ofw_cif_handler and ofw_idt, adjust padding number.
10109
10110 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
10111 GRUB_MACHINE_IEEE1275 is defined.
10112
10113 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
10114 Use NESTED_FUNC_ATTR attribute on the hook parameter.
10115
10116 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
10117 on nested function heap_init.
10118 (grub_upper_mem): New variable for i386-ieee1275.
10119 (grub_get_extended_memory): New function for i386-ieee1275.
10120 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
10121
10122 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
10123 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
10124 property.
10125
10126 * loader/i386/ieee1275/linux.c: New file.
10127
10128 * loader/i386/ieee1275/linux_normal.c: New file.
10129
10130 * disk/ieee1275/nand.c: New file.
10131
10132 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
10133
10134 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
10135 value.
10136 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
10137
10138 2008-04-18 Robert Millan <rmh@aybabtu.com>
10139
10140 Restructures early code path on ieee1275 to unify grub_main() as
10141 the first C function that is executed in every platform.
10142
10143 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
10144 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
10145 cmain().
10146 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
10147 * kern/ieee1275/cmain.c (cmain): Rename to ...
10148 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
10149 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
10150 at the beginning.
10151
10152 2008-04-18 Robert Millan <rmh@aybabtu.com>
10153
10154 * util/update-grub.in: Fix syntax error when setting
10155 `GRUB_PRELOAD_MODULES'.
10156 Reported by Stephane Chazelas <stephane@artesyncp.com>
10157
10158 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
10159
10160 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
10161 section into account, newer toolchains generate unique build ids
10162 * configure.ac: remove the test for --build-id=none acceptance,
10163 we want build ids to be preserved
10164 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
10165 far from other sections don't cause the raw binary images grow
10166 size
10167
10168 2008-04-15 Robert Millan <rmh@aybabtu.com>
10169
10170 * disk/lvm.c: Update copyright year.
10171 * kern/misc.c: Likewise.
10172
10173 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10174
10175 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
10176 there is no memory left for physical volume name.
10177
10178 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10179
10180 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
10181 volume name mapping to support bigger than 9 character names properly.
10182
10183 2008-04-13 Robert Millan <rmh@aybabtu.com>
10184
10185 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
10186 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
10187
10188 2008-04-13 Christian Franke <franke@computer.org>
10189
10190 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
10191 to create a floppy emulation boot CD when non emulation mode
10192 does not work.
10193 Enable Joliet CD filesystem extension.
10194
10195 2008-04-13 Robert Millan <rmh@aybabtu.com>
10196
10197 * kern/misc.c (grub_strncat): Fix off-by-one error.
10198 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
10199
10200 * kern/env.c (grub_env_context_close): Clear current context, not
10201 previous one.
10202 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
10203
10204 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
10205
10206 2008-04-13 Robert Millan <rmh@aybabtu.com>
10207
10208 Improve robustness when handling LVM.
10209
10210 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
10211 (and leave `*p' unmodified).
10212 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
10213 through it.
10214 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
10215 iterating through it.
10216 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
10217 through it.
10218 (grub_lvm_scan_device): Check the return value (and fail gracefully
10219 when due) on each grub_lvm_getvalue() or grub_strstr() call.
10220 Don't assume `vg->pvs != NULL' when iterating through it.
10221
10222 2008-04-13 Robert Millan <rmh@aybabtu.com>
10223
10224 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
10225 * genmk.rb (partmap): New variable.
10226 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
10227 (#{partmap}): New target rule.
10228 * genpartmaplist.sh: New file.
10229 * Makefile.in (pkglib_DATA): Add partmap.lst.
10230 (partmap.lst): New target rule.
10231 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
10232 modules (including all partition maps), instead of preloading them.
10233
10234 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
10235
10236 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
10237 `linux-boot-prober' (if installed) to detect other operating
10238 systems which are installed on the computer and add them to
10239 the boot menu.
10240 * conf/common.rmk: Build and install 30_os-prober.
10241
10242 2008-04-12 Robert Millan <rmh@aybabtu.com>
10243
10244 * kern/powerpc/ieee1275/init.c: Move from here ...
10245 * kern/ieee1275/init.c: ... to here. Update all users.
10246
10247 * kern/powerpc/ieee1275/cmain.c: Move from here ...
10248 * kern/ieee1275/cmain.c: ... to here. Update all users.
10249
10250 * kern/powerpc/ieee1275/openfw.c: Move from here ...
10251 * kern/ieee1275/openfw.c: ... to here. Update all users.
10252
10253 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
10254 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
10255
10256 2008-04-10 Pavel Roskin <proski@gnu.org>
10257
10258 * configure.ac: Always use "_cv_" in cache variables for
10259 compatibility with Autoconf 2.62.
10260
10261 2008-04-07 Robert Millan <rmh@aybabtu.com>
10262
10263 Revert grub/machine/init.h addition by Pavel (since it breaks on
10264 i386-ieee1275 and others):
10265 * util/i386/pc/misc.c: Remove grub/machine/init.h.
10266 * util/powerpc/ieee1275/misc.c: Likewise.
10267
10268 2008-04-07 Robert Millan <rmh@aybabtu.com>
10269
10270 * util/grub-probe.c (probe): Improve error message.
10271
10272 2008-04-07 Robert Millan <rmh@aybabtu.com>
10273
10274 * util/biosdisk.c (read_device_map): Skip devices that don't exist
10275 (this prevents the presence of a bogus entry from ruining the whole
10276 thing).
10277
10278 2008-04-06 Pavel Roskin <proski@gnu.org>
10279
10280 * util/biosdisk.c: Include grub/util/biosdisk.h.
10281 * util/grub-fstest.c (execute_command): Make static.
10282 * util/grub-mkdevicemap.c (check_device): Likewise.
10283 * util/i386/pc/misc.c: Include grub/machine/init.h.
10284 * util/powerpc/ieee1275/misc.c: Likewise.
10285 * util/lvm.c: Include grub/util/lvm.h.
10286 * util/misc.c: Include grub/kernel.h, grub/misc.h and
10287 grub/cache.h.
10288 * util/raid.c: Include grub/util/raid.h.
10289 (grub_util_getdiskname): Make static.
10290
10291 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
10292 grub_hostfs_fini(), as they are called from grub_init_all() and
10293 grub_fini_all() respectively. This fixes an infinite loop in
10294 grub-fstest due to double registration of hostfs.
10295 Reported by Christian Franke <Christian.Franke@t-online.de>
10296
10297 2008-04-05 Pavel Roskin <proski@gnu.org>
10298
10299 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
10300 all 8 functions. Otherwise, probe function 0 only.
10301
10302 2008-04-04 Pavel Roskin <proski@gnu.org>
10303
10304 * commands/lspci.c (grub_lspci_iter): Print the bus number
10305 correctly.
10306
10307 * commands/lspci.c (grub_pci_classes): Fix typos.
10308 (grub_lspci_iter): Don't print func twice. Print vendor ID
10309 before device ID, as it's normally done.
10310
10311 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
10312 Fix signedness warnings.
10313 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
10314 Likewise.
10315 * util/ieee1275/get_disk_name.c: Include config.h so that
10316 _GNU_SOURCE is defined and getline() is declared. Mark an
10317 unused argument as such. Fix a signedness warning.
10318
10319 2008-04-02 Pavel Roskin <proski@gnu.org>
10320
10321 * genkernsyms.sh.in: Use more robust assignments for CC and
10322 srcdir. Quote srcdir.
10323 * gensymlist.sh.in: Likewise. Assert at the compile time that
10324 the symbol table is not empty.
10325
10326 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
10327 * fs/cpio.c (grub_cpio_read): Likewise.
10328
10329 2008-04-01 Pavel Roskin <proski@gnu.org>
10330
10331 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
10332 * disk/host.c (grub_host_open): Likewise.
10333 * disk/loopback.c (grub_loopback_open): Likewise.
10334 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
10335 disk->id as in disk/host.c, not a multi-character constant.
10336
10337 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
10338 later is obsolete, potentially dangerous and sets a bad example.
10339 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
10340 * util/misc.c (grub_util_get_image_size): Likewise.
10341
10342 * disk/loopback.c (options): Improve help for "--partitions".
10343
10344 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
10345 options to align them with the short options, e.g. "echo -e".
10346
10347 2008-03-31 Bean <bean123ch@gmail.com>
10348
10349 * video/reader/png.c (grub_png_data): New member is_16bit and
10350 image_data.
10351 (grub_png_decode_image_header): Detect 16 bit png image.
10352 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
10353 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
10354 (grub_video_reader_png): Release memory occupied by image_data.
10355
10356 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
10357 4096 bytes.
10358 (grub_nfs_mount): Skip the test for sector per cluster.
10359
10360 * include/grub/ntfs.h (MAX_SPC): Removed.
10361
10362 2008-03-31 Bean <bean123ch@gmail.com>
10363
10364 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
10365 (grub_probe_SOURCES): Add fs/afs.c.
10366 (grub_fstest_SOURCES): Likewise.
10367 (afs_mod_SOURCES): New variable.
10368 (afs_mod_CFLAGS): Likewise.
10369 (afs_mod_LDFLAGS): Likewise.
10370
10371 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
10372 (grub_emu_SOURCES): Likewise.
10373
10374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10375
10376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10377
10378 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10379
10380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10381
10382 * fs/afs.c: New file.
10383
10384 2008-03-30 Pavel Roskin <proski@gnu.org>
10385
10386 * disk/host.c: Include grub/misc.h to fix a warning.
10387 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
10388 warnings about implicit declarations.
10389
10390 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
10391 variable.
10392 * include/grub/i386/loader.h: Change declaration of
10393 grub_linux_boot() to match what grub_loader_set() expects.
10394 * util/getroot.c (grub_guess_root_device): Return const char* to
10395 fix a warning.
10396 * util/grub-probe.c (probe): Fix a warning about uninitialized
10397 abstraction_name variable.
10398 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
10399 second argument as unused to fix a warning.
10400
10401 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
10402 missing grub_error() call.
10403
10404 * util/update-grub_lib.in: Define datarootdir, since Autoconf
10405 2.60 and newer uses it to define datadir.
10406
10407 * commands/sleep.c: Fix warning about implicit declaration.
10408 * disk/memdisk.c: Likewise.
10409 * loader/aout.c: Likewise.
10410 * loader/i386/bsd_normal.c: Likewise.
10411 * util/grub-probe.c: Likewise.
10412
10413 * commands/i386/cpuid.c (has_longmode): Make static.
10414 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
10415 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
10416
10417 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
10418 GDT. This is more robust, as %ds can change.
10419 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
10420 calling real_to_prot().
10421 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
10422
10423 2008-03-28 Pavel Roskin <proski@gnu.org>
10424
10425 * kern/i386/pc/startup.S: Assert that uncompressed functions
10426 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
10427 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
10428 code, as they push parts of the code (error handlers) beyond
10429 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
10430 code as correctness and size.
10431
10432 2008-03-28 Pavel Roskin <proski@gnu.org>
10433
10434 * kern/i386/pc/startup.S
10435 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
10436 data block address to the real mode, keep offset minimal. This
10437 works around a bug in AWARD BIOS on old Athlon systems, which
10438 makes CD detection hang.
10439
10440 2008-03-26 Pavel Roskin <proski@gnu.org>
10441
10442 * normal/color.c (grub_parse_color_name_pair): Make `name' a
10443 const.
10444 * include/grub/normal.h: Add grub_parse_color_name_pair()
10445 declaration.
10446
10447 2008-03-24 Bean <bean123ch@gmail.com>
10448
10449 * disk/i386/pc/biosdisk.c (cd_start): Removed.
10450 (cd_count): Removed.
10451 (cd_drive): New variable.
10452 (grub_biosdisk_get_drive): Don't check for (cdN) device.
10453 (grub_biosdisk_call_hook): Likewise.
10454 (grub_biosdisk_iterate): Change cdrom detection method.
10455 (grub_biosdisk_open): Replace cd_start with cd_drive.
10456 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
10457 detect cdrom device.
10458
10459 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
10460 Removed.
10461 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
10462 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
10463 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
10464 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
10465 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
10466 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
10467 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
10468 (grub_biosdisk_cdrp): New structure.
10469 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
10470
10471 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
10472
10473 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
10474 device.
10475
10476 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
10477 New function.
10478
10479 2008-03-20 Robert Millan <rmh@aybabtu.com>
10480
10481 Remove 2 TiB limit in ata.mod.
10482 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
10483 (grub_ata_dumpinfo): Print sector count with 0x%llx.
10484 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
10485 grub_uint64_t instead of grub_uint32_t.
10486
10487 2008-03-05 Bean <bean123ch@gmail.com>
10488
10489 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
10490 (grub_multiboot): Set boot device.
10491
10492 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
10493
10494 2008-03-02 Bean <bean123ch@gmail.com>
10495
10496 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
10497 symlink_buffer.
10498
10499 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
10500
10501 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
10502 texinfo.tex.
10503
10504 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
10505 modified.
10506
10507 * docs/fdl.texi: New file.
10508
10509 * docs/mdate-sh: New file. Copied from gnulib.
10510 * docs/texinfo.tex: Likewise.
10511
10512 * config.guess: Updated from gnulib.
10513 * install-sh: Likewise.
10514
10515 2008-02-28 Robert Millan <rmh@aybabtu.com>
10516
10517 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
10518 (aout_mod_SOURCES): New variable.
10519 (aout_mod_CFLAGS): Likewise.
10520 (aout_mod_LDFLAGS): Likewise.
10521
10522 * conf/i386-ieee1275.rmk: Likewise.
10523
10524 2008-02-28 Robert Millan <rmh@aybabtu.com>
10525
10526 * util/update-grub.in: Reorganise terminal validity check. Accept
10527 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
10528 Based on suggestion by Franklin PIAT.
10529
10530 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
10531
10532 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
10533 function.
10534 * util/getroot.c (grub_util_check_block_device): New function that
10535 returns the given argument if it is a block device and returns NULL else.
10536 * util/grub-probe.c (argument_is_device): New variable.
10537 (probe): Promote device_name from a variable to an argument. Receive
10538 device_name from grub_util_check_block_device() if path is NULL and from
10539 grub_guess_root_device() else. Do not free() device_name anymore.
10540 (options): Introduce new parameter '-d, --device'.
10541 (main): Add description of the new parameter to the help screen.
10542 Rename path variable to argument. Set argument_is_device if the '-d'
10543 option is given. Pass argument to probe() depending on
10544 argument_is_device.
10545
10546 2008-02-24 Bean <bean123ch@gmail.com>
10547
10548 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
10549 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
10550 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
10551 (GRUB_ISO9660_VOLDESC_PART): Likewise.
10552 (GRUB_ISO9660_VOLDESC_END): Likewise.
10553 (grub_iso9660_primary_voldesc): New member escape.
10554 (grub_iso9660_data): New member joliet.
10555 (grub_iso9660_convert_string): New function.
10556 (grub_iso9660_mount): Detect joliet extension.
10557 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
10558 (grub_iso9660_iso9660_label): Likewise.
10559
10560 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
10561 (grub_setup_SOURCES): Add fs/udf.c.
10562 (grub_fstest_SOURCES): Likewise.
10563 (udf_mod_SOURCES): New variable.
10564 (udf_mod_CFLAGS): Likewise.
10565 (udf_mod_LDFLAGS): Likewise.
10566
10567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
10568 (grub_emu_SOURCES): Likewise.
10569
10570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10571
10572 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10573
10574 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10575
10576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10577
10578 * fs/udf.c: New file.
10579
10580 2008-02-24 Robert Millan <rmh@aybabtu.com>
10581
10582 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
10583 (normal/lexer.c_DEPENDENCIES): New variables.
10584 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10585 (normal/lexer.c_DEPENDENCIES): Likewise.
10586 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
10587 (normal/lexer.c_DEPENDENCIES): Likewise.
10588 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
10589 (normal/lexer.c_DEPENDENCIES): Likewise.
10590 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10591 (normal/lexer.c_DEPENDENCIES): Likewise.
10592 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10593 (normal/lexer.c_DEPENDENCIES): Likewise.
10594
10595 2008-02-23 Robert Millan <rmh@aybabtu.com>
10596
10597 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
10598 since they were intended to be in hex. This didn't break previously
10599 because of a bug in gpt_partition_map_iterate() (see below).
10600
10601 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
10602 when checking the validity of GPT header.
10603 Remove `partno', since it always provides the same information as `i'.
10604
10605 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
10606
10607 * include/grub/efi/time.h: Fix a wrong comment.
10608
10609 2008-02-19 Pavel Roskin <proski@gnu.org>
10610
10611 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
10612 message.
10613
10614 2008-02-19 Bean <bean123ch@gmail.com>
10615
10616 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
10617 (aout_mod_SOURCES): New variable.
10618 (aout_mod_CFLAGS): Likewise.
10619 (aout_mod_LDFLAGS): Likewise.
10620 (_bsd_mod_SOURCES): New variable.
10621 (_bsd_mod_CFLAGS): Likewise.
10622 (_bsd_mod_LDFLAGS): Likewise.
10623 (bsd_mod_SOURCES): New variable.
10624 (bsd_mod_CFLAGS): Likewise.
10625 (bsd_mod_LDFLAGS): Likewise.
10626
10627 * include/grub/aout.h: New file.
10628
10629 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
10630
10631 * include/grub/i386/bsd.h: New file.
10632
10633 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
10634 to make it public.
10635
10636 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
10637 function is called, so that it's possible to change it inside the hook.
10638 (grub_elf64_load): Likewise.
10639 (grub_elf_file): Don't close the file if elf header is not found.
10640 (grub_elf_close): Close the file if grub_elf_file fails (The new
10641 grub_elf_file won't close it).
10642 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
10643 (grub_elf64_size): Likewise.
10644
10645 * kern/i386/loader.S (grub_unix_real_boot): New function.
10646
10647 * loader/aout.c: New file.
10648
10649 * loader/i386/bsd.c: New file.
10650
10651 * loader/i386/bsd_normal.c: New file.
10652
10653 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
10654
10655 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
10656 can test other formats.
10657
10658 2008-02-19 Robert Millan <rmh@aybabtu.com>
10659
10660 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
10661 (grub_gpt_partition_type_empty): Redefine with macro from
10662 `<grub/gpt_partition.h>'.
10663 (gpt_partition_map_iterate): Adjust partition type comparison.
10664
10665 Export `entry' as partmap-specific `part.data' struct.
10666 (grub_gpt_header, grub_gpt_partentry): Move from here ...
10667
10668 * include/grub/gpt_partition.h (grub_gpt_header)
10669 (grub_gpt_partentry): ... to here (new file).
10670
10671 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
10672
10673 (grub_gpt_partition_type_bios_boot): New const variable, defined
10674 with macro from `<grub/gpt_partition.h>'.
10675
10676 (setup): Replace `first_start' with `embed_region', which keeps
10677 track of the embed region (and is partmap-agnostic).
10678
10679 Replace find_first_partition_start() with find_usable_region(),
10680 which finds a usable region for embedding using partmap-specific
10681 knowledge (supports PC/MSDOS and GPT).
10682
10683 Fix all assumptions that the embed region start at sector 1, using
10684 `embed_region.start' from now on. Similarly, use `embed_region.end'
10685 rather than `first_start' to calculate available size.
10686
10687 In grub_util_info() message, replace "into after the MBR" with an
10688 indication of the specific sector our embed region starts at.
10689
10690 2008-02-19 Robert Millan <rmh@aybabtu.com>
10691
10692 * DISTLIST: Replace `commands/ieee1275/halt.c' and
10693 `commands/ieee1275/reboot.c' with `commands/halt.c' and
10694 `commands/reboot.c'.
10695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10696 (halt_mod_SOURCES): Likewise.
10697 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10698 (halt_mod_SOURCES): Likewise.
10699
10700 2008-02-17 Christian Franke <franke@computer.org>
10701
10702 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
10703
10704 2008-02-17 Robert Millan <rmh@aybabtu.com>
10705
10706 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10707 set `first_start' to 0 for non-PC/MSDOS partition maps.
10708
10709 2008-02-16 Robert Millan <rmh@aybabtu.com>
10710
10711 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10712 do not assume partition map is PC/MSDOS before performing checks that
10713 are specific to that layout.
10714
10715 2008-02-13 Robert Millan <rmh@aybabtu.com>
10716
10717 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
10718 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
10719 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
10720
10721 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
10722
10723 * configure.ac: Only a cosmetic change on the handling of
10724 -fno-stack-protector.
10725
10726 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
10727
10728 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
10729 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
10730 reboot.c.
10731 (grub_install_SOURCES): Add halt.mod and reboot.mod.
10732 (halt_mod_SOURCES): New variable.
10733 (halt_mod_CFLAGS): Likewise.
10734 (halt_mod_LDFLAGS): Likewise.
10735 (reboot_mod_SOURCES): Likewise.
10736 (reboot_mod_CFLAGS): Likewise.
10737 (reboot_mod_LDFLAGS): Likewise.
10738
10739 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
10740 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
10741 reboot.c.
10742 (halt_mod_SOURCES): Likewise.
10743 (reboot_mod_SOURCES): Likewise.
10744
10745 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
10746 commands/i386/pc/reboot.c by commands/reboot.c.
10747 (reboot_mod_SOURCES): Likewise.
10748
10749 * commands/i386/pc/reboot.c: merge this file ...
10750
10751 * commands/ieee1275/reboot.c: ... and this file ...
10752
10753 * commands/reboot.c: ... to this file.
10754 Add some precompiler directive to include the correct header for
10755 each machine.
10756
10757 * commands/ieee1275/halt.c: move this file ...
10758
10759 * commands/halt.c: ... to here.
10760 Add some precompiler directive to include the correct header for
10761 each machine.
10762
10763 * include/grub/efi/efi.h (grub_reboot): New function declaration.
10764 (grub_halt): Likewise.
10765
10766 * kern/efi/efi.c (grub_reboot): New function.
10767 (grub_halt): Likewise.
10768
10769 2008-02-12 Robert Millan <rmh@aybabtu.com>
10770
10771 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
10772 /dev (like it is done for /dev/mapper). This doesn't provide support
10773 for EVMS, but at least it is now easy to identify the problem when it
10774 arises.
10775
10776 2008-02-11 Robert Millan <rmh@aybabtu.com>
10777
10778 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
10779 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
10780 comparing it with -1, not 0.
10781
10782 2008-02-10 Robert Millan <rmh@aybabtu.com>
10783
10784 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
10785 `disk/lvm.c'.
10786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10787 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10788
10789 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
10790 `disk/lvm.c' to the end of the list.
10791 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10792 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10793
10794 2008-02-10 Robert Millan <rmh@aybabtu.com>
10795
10796 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
10797 grub_print_error() instead. This will let user know why we're entering
10798 rescue mode.
10799 Based on suggestions from Sam Morris.
10800
10801 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
10802
10803 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
10804 on remaining N args, instead of "--" arg N times.
10805
10806 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
10807
10808 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
10809 (fill_with_default_glyph): Changed to use unknown_glyph for fill
10810 pattern for unknown glyphs.
10811
10812 2008-02-09 Robert Millan <rmh@aybabtu.com>
10813
10814 * configure.ac: Probe for `help2man'.
10815 * Makefile.in (builddir): New variable.
10816 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
10817 or otherwise add a few flags/options to it.
10818 (install-local): For every executable utility or script that is
10819 installed, invoke $(HELP2MAN) to install a manpage based on --help
10820 output.
10821
10822 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
10823 that it doesn't prevent --help from working in build tree.
10824
10825 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
10826 with `bug-grub@gnu.org'.
10827 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
10828 * util/update-grub.in (usage): New function.
10829 Implement proper argument check, with support for --help and --version
10830 (as well as existing -y).
10831
10832 2008-02-09 Christian Franke <franke@computer.org>
10833
10834 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
10835 avoid overwriting previous output.
10836 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
10837
10838 2008-02-09 Robert Millan <rmh@aybabtu.com>
10839
10840 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
10841 drawing the menu.
10842
10843 2008-02-09 Robert Millan <rmh@aybabtu.com>
10844
10845 * commands/sleep.c: New file.
10846 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
10847 (sleep_mod_SOURCES): New variable.
10848 (sleep_mod_CFLAGS): Likewise.
10849 (sleep_mod_LDFLAGS): Likewise.
10850
10851 2008-02-09 Robert Millan <rmh@aybabtu.com>
10852
10853 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
10854 situations in which we can deduce the RAID size and the superblock
10855 doesn't match it.
10856
10857 2008-02-09 Robert Millan <rmh@aybabtu.com>
10858
10859 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
10860 and return a grub_diskmemberlist_t composed of LVM physical volumes.
10861 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
10862
10863 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
10864 and return a grub_diskmemberlist_t composed of physical array members.
10865 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
10866
10867 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
10868 prototype.
10869 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
10870 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
10871 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
10872
10873 * util/grub-probe.c (probe): Move partmap probing code from here ...
10874 (probe_partmap): ... to here.
10875 (probe): Use probe_partmap() once for the disk we're probing, and
10876 additionally, when such disk contains a memberlist() struct member,
10877 once for each disk that is contained in the structure returned by
10878 memberlist().
10879
10880 2008-02-09 Robert Millan <rmh@aybabtu.com>
10881
10882 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
10883 environment variable to 'all' in order to obtain debug output from
10884 non-util/ code.
10885 * util/i386/pc/grub-setup.c (main): Likewise.
10886
10887 2008-02-08 Robert Millan <rmh@aybabtu.com>
10888
10889 * disk/raid.c (grub_raid_scan_device): Check for
10890 `array->device[sb.this_disk.number]' rather than for
10891 `array->device[sb.this_disk.number]->name', since the latter is not
10892 guaranteed to be accessible.
10893
10894 2008-02-08 Robert Millan <rmh@aybabtu.com>
10895
10896 * disk/raid.c: Update copyright.
10897 * fs/cpio.c: Likewise.
10898 * include/grub/raid.h: Likewise.
10899 * loader/i386/pc/multiboot.c: Likewise.
10900 * util/hostfs.c: Likewise.
10901
10902 2008-02-08 Robert Millan <rmh@aybabtu.com>
10903
10904 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
10905 to a grub_disk_t array.
10906 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
10907 `device[x]'.
10908 (grub_raid_scan_device): Replace `device[x].name' accesses with
10909 `device[x]->name'. Simplify initialization of `array->device[x]'.
10910
10911 2008-02-08 Robert Millan <rmh@aybabtu.com>
10912
10913 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
10914 grub_dprintf() calls.
10915 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
10916 error message.
10917
10918 2008-02-07 Christian Franke <franke@computer.org>
10919
10920 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
10921 instead of fseek and ftell to support large files.
10922 (grub_hostfs_read): Likewise.
10923
10924 2008-02-07 Robert Millan <rmh@aybabtu.com>
10925
10926 Patch from Jeroen Dekkers.
10927 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
10928 failure, since successfully reading all array members might not be
10929 required.
10930
10931 2008-02-06 Robert Millan <rmh@aybabtu.com>
10932
10933 * util/grub-probe.c (probe): Simplify partmap probing (with the
10934 assumption that the first word up to the underscore equals to
10935 the module name).
10936
10937 2008-02-06 Christian Franke <franke@computer.org>
10938
10939 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
10940 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
10941 last block of a cpio or tar stream.
10942 Check for "TRAILER!!!" instead of any empty data
10943 block to detect last block of a cpio stream.
10944 (grub_cpio_dir): Fix constness of variable np.
10945 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
10946 cpio or tar trailer is detected. This fixes a crash
10947 on open of a non existing file.
10948
10949 2008-02-05 Bean <bean123ch@gmail.com>
10950
10951 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
10952 address of entry.
10953 (grub_multiboot_load_elf64): Likewise.
10954 (grub_multiboot): Initialize mbi structure.
10955
10956 * util/grub-fstest.c: Don't include unused header file script.h.
10957
10958 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
10959 of file.
10960 (grub_fstest_SOURCES): Likewise.
10961
10962 2008-02-05 Robert Millan <rmh@aybabtu.com>
10963
10964 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
10965 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
10966 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
10967 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
10968
10969 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
10970 (translation_table): Replace hardcoded values with macros
10971 provided by `<grub/term.h>'.
10972
10973 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
10974 (keyboard_map): Correct/add a few values, with macros provided
10975 by `<grub/term.h>'.
10976 (keyboard_map_shift): Zero values that don't differ from their
10977 `keyboard_map' equivalents.
10978 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
10979 Discard the second scan code that is always sent by Caps lock.
10980 Only use `keyboard_map_shift' when it provides a non-zero value,
10981 otherwise fallback to `keyboard_map'.
10982
10983 2008-02-04 Bean <bean123ch@gmail.com>
10984
10985 * Makefile.in (enable_grub_fstest): New variable.
10986
10987 * conf/common.rmk (grub_fstest_init.lst): New rule.
10988 (grub_fstest_init.h): Likewise.
10989 (grub_fstest_init.c): Likewise.
10990 (util/grub-fstest.c_DEPENDENCIES): New variable.
10991 (grub_fstest_SOURCES): Likewise.
10992
10993 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
10994
10995 * util/grub-fstest.c: New file.
10996
10997 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
10998
10999 Make grub-setup handle a separate root device.
11000
11001 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11002 so that the root device can be compared with the destination
11003 device.
11004 When embedding the core image, if the root and destination devices
11005 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11006 0xFF.
11007 When not embedding, set ROOT_DRIVE to 0xFF.
11008
11009 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11010
11011 Add support for having a grub directory in a different drive. This
11012 is still only the data handling part.
11013
11014 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11015 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11016 (grub_root_drive): New variable.
11017
11018 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11019 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11020 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11021 as it was.
11022
11023 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11024
11025 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11026 macro.
11027 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11028
11029 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11030 is bogus, because PXE booting does not specify any drive
11031 correctly.
11032
11033 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11034 am not sure if this is really correct.
11035
11036 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11037 is always identical to the boot drive when booting from a CD.
11038
11039 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11040 longer.
11041 (root_drive): New variable.
11042 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11043 (setup_sectors): Push %dx right after popping it, because %dh will
11044 be modified later.
11045 (copy_buffer): Restore %dx.
11046
11047 2008-02-03 Robert Millan <rmh@aybabtu.com>
11048
11049 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11050 use `cdboot.img' for cdrom images.
11051
11052 2008-02-03 Robert Millan <rmh@aybabtu.com>
11053
11054 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11055 only setup gfxterm when `font' command has succeeded.
11056
11057 2008-02-03 Robert Millan <rmh@aybabtu.com>
11058
11059 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11060 (grub_rescue_cmd_multiboot_loader)
11061 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11062
11063 2008-02-03 Pavel Roskin <proski@gnu.org>
11064
11065 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
11066 %edx and %esi from stack only after grub_gate_a20() is called.
11067 grub_gate_a20() clobbers %edx.
11068
11069 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11070
11071 * configure.ac (AC_INIT): Bumped to 1.96.
11072
11073 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
11074 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
11075 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
11076 video/readers/png.c.
11077
11078 2008-02-03 Bean <bean123ch@gmail.com>
11079
11080 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
11081 (cdboot_img_SOURCES): New variable.
11082 (cdboot_img_ASFLAGS): New variable.
11083 (cdboot_img_LDFLAGS): New variable.
11084
11085 * boot/i386/pc/cdboot.S: New file.
11086
11087 * disk/i386/pc/biosdisk.c (cd_start): New variable.
11088 (cd_count): Likewise.
11089 (grub_biosdisk_get_drive): Add support for cd device.
11090 (grub_biosdisk_call_hook): Likewise.
11091 (grub_biosdisk_iterate): Likewise.
11092 (grub_biosdisk_open): Likewise.
11093 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
11094 (grub_biosdisk_rw): Support reading from cd device.
11095 (GRUB_MOD_INIT): Iterate cd devices.
11096
11097 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
11098 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
11099 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
11100
11101 * kern/i386/pc/init.c (make_install_device): Check for cd device.
11102
11103 2008-02-02 Robert Millan <rmh@aybabtu.com>
11104
11105 * commands/read.c: New file.
11106 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
11107 (read_mod_SOURCES): New variable.
11108 (read_mod_CFLAGS): Likewise.
11109 (read_mod_LDFLAGS): Likewise.
11110
11111 2008-02-02 Robert Millan <rmh@aybabtu.com>
11112
11113 * normal/main.c (grub_normal_execute): Check for `menu->size' when
11114 determining whether menu has to be displayed.
11115
11116 2008-02-02 Marco Gerards <marco@gnu.org>
11117
11118 * bus/pci.c: New file.
11119
11120 * include/grub/pci.h: Likewise.
11121
11122 * include/grub/i386/pc/pci.h: Likewise.
11123
11124 * commands/lspci.c: Likewise.
11125
11126 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
11127 `lspci.mod'.
11128 (pci_mod_SOURCES): New variable.
11129 (pci_mod_CFLAGS): Likewise.
11130 (pci_mod_LDFLAGS): Likewise.
11131 (lspci_mod_SOURCES): Likewise.
11132 (lspci_mod_CFLAGS): Likewise.
11133 (lspci_mod_LDFLAGS): Likewise.
11134
11135 2008-02-02 Bean <bean123ch@gmail.com>
11136
11137 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
11138 (grub_ufs_get_file_block): Fix indirect block calculation problem.
11139
11140 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
11141 (grub_xfs_btree_node): New structure.
11142 (grub_xfs_btree_root): New structure.
11143 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
11144 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
11145 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11146 (GRUB_XFS_EXTENT_SIZE): Likewise.
11147 (grub_xfs_read_block): Support btree format type.
11148 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
11149 Use directory block as basic unit.
11150
11151 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
11152
11153 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
11154 __attribute__ ((__regparm__ (1))).
11155
11156 2008-02-01 Robert Millan <rmh@aybabtu.com>
11157
11158 Correct a mistake in previous commit.
11159
11160 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
11161 top.
11162 (normal/command.c_DEPENDENCIES): New variable.
11163
11164 2008-02-01 Robert Millan <rmh@aybabtu.com>
11165
11166 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
11167 top.
11168 (normal/command.c_DEPENDENCIES): New variable.
11169 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
11170 * conf/i386-ieee1275.rmk: Likewise.
11171 * conf/i386-linuxbios.rmk: Likewise.
11172 * conf/i386-pc.rmk: Likewise.
11173 * conf/sparc64-ieee1275.rmk: Likewise.
11174 * conf/powerpc-ieee1275.rmk: Likewise.
11175 (grub_emu_SOURCES): Add `fs/fshelp.c'.
11176
11177 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
11178
11179 2008-02-01 Robert Millan <rmh@aybabtu.com>
11180
11181 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
11182 call at beginning of function.
11183
11184 2008-01-31 Pavel Roskin <proski@gnu.org>
11185
11186 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
11187 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
11188 (grub_mkrescue_SOURCES): Likewise.
11189 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
11190
11191 2008-01-30 Robert Millan <rmh@aybabtu.com>
11192
11193 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
11194 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
11195 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
11196 (grub_probe_SOURCES): ... to here.
11197
11198 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
11199 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
11200 * conf/i386-ieee1275.rmk: Likewise.
11201 * conf/i386-linuxbios.rmk: Likewise.
11202 * conf/powerpc-ieee1275.rmk: Likewise.
11203
11204 2008-01-30 Tristan Gingold <gingold@free.fr>
11205
11206 * kern/rescue.c: Silently accept empty lines.
11207
11208 2008-01-29 Bean <bean123ch@gmail.com>
11209
11210 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
11211 (real_code_2): Code cleanup and change comment style.
11212 (move_memory): Avoid using 32-bit address mode.
11213
11214 2008-01-29 Bean <bean123ch@gmail.com>
11215
11216 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
11217 (png_mod_SOURCES): New variable.
11218 (png_mod_CFLAGS): Likewise.
11219 (png_mod_LDFLAGS): Likewise.
11220
11221 * video/readers/png.c: New file.
11222
11223 2008-01-28 Robert Millan <rmh@aybabtu.com>
11224
11225 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
11226 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
11227 `ifndef GRUB_MOD_GAP' hack.
11228 * util/elf/grub-mkimage.c (add_segments): Likewise.
11229
11230 2008-01-27 Robert Millan <rmh@aybabtu.com>
11231
11232 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
11233 `GRUB_MOD_GAP' for platforms in which it's not defined.
11234 * util/elf/grub-mkimage.c (add_segments): Likewise.
11235
11236 2008-01-27 Robert Millan <rmh@aybabtu.com>
11237
11238 Get grub-emu to build again (including parallel builds).
11239
11240 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
11241 Split into ...
11242 (util/grub-emu.c_DEPENDENCIES): ... this, ...
11243 (normal/execute.c_DEPENDENCIES): ... this, ...
11244 (grub-emu_DEPENDENCIES): ... and this.
11245
11246 * conf/i386-efi.rmk: Likewise.
11247 * conf/i386-linuxbios.rmk: Likewise.
11248 * conf/i386-ieee1275.rmk: Likewise.
11249 * conf/powerpc-ieee1275.rmk: Likewise.
11250 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
11251
11252 2008-01-27 Robert Millan <rmh@aybabtu.com>
11253
11254 * NEWS: Add a few items.
11255
11256 2008-01-27 Robert Millan <rmh@aybabtu.com>
11257
11258 Fix parallel builds with grub-emu. Based on earlier commit for
11259 grub-probe and grub-setup.
11260
11261 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11262 (util/grub-emu.c_DEPENDENCIES): ... this.
11263 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11264 (util/grub-emu.c_DEPENDENCIES): ... this.
11265 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11266 (util/grub-emu.c_DEPENDENCIES): ... this.
11267 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11268 (util/grub-emu.c_DEPENDENCIES): ... this.
11269 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11270 (util/grub-emu.c_DEPENDENCIES): ... this.
11271
11272 2008-01-27 Pavel Roskin <proski@gnu.org>
11273
11274 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
11275 to create a gap between _end and the modules added to the image
11276 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
11277 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
11278 * util/elf/grub-mkimage.c (add_segments): Likewise.
11279
11280 2008-01-26 Pavel Roskin <proski@gnu.org>
11281
11282 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
11283 just return an error.
11284
11285 2008-01-26 Bean <bean123ch@gmail.com>
11286
11287 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
11288 (grub_reiserfs_get_item): Save offset of the next item.
11289 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
11290
11291 2008-01-25 Robert Millan <rmh@aybabtu.com>
11292
11293 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
11294 make all filesystem sources appear together (possibly fixing omissions
11295 while at it).
11296 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11298 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11300
11301 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
11302 add `kern/file.c'.
11303 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
11304 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11305 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
11306 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11307
11308 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
11309 (probe): Add a sanity check to make sure of our ability to read
11310 requested files when probing for filesystem type.
11311
11312 * genmk.rb: Update copyright year (2007).
11313
11314 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
11315 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
11316 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
11317 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
11318 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
11319 : Remove function prototypes.
11320
11321 2008-01-25 Robert Millan <rmh@aybabtu.com>
11322
11323 Revert my previous commits (based on wrong assumption of how grub_errno
11324 works).
11325
11326 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
11327 * kern/file.c (grub_file_open): Likewise.
11328
11329 2008-01-24 Pavel Roskin <proski@gnu.org>
11330
11331 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
11332 that hang if GRUB tries to setup colors.
11333 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
11334 colors for firmwares that don't support it.
11335 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
11336 Recognize Open Hack'Ware, set flags to work around its
11337 limitations.
11338
11339 2008-01-24 Robert Millan <rmh@aybabtu.com>
11340
11341 * kern/file.c (grub_file_open): Do not account previous failures of
11342 unrelated functions when grub_errno is checked for.
11343 Reported by Oleg Strikov.
11344
11345 2008-01-24 Bean <bean123ch@gmail.com>
11346
11347 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
11348 (grub_ufs_sblock): New member volume name.
11349 (grub_ufs_find_file): Fix string copy bug.
11350 (grub_ufs_label): Implement this function properly.
11351
11352 * fs/hfs.c (grub_hfs_cnid_type): New enum.
11353 (grub_hfs_iterate_records): Use the correct file number for extents
11354 and catalog file. Fix problem in next index calculation.
11355 (grub_hfs_find_node): Replace recursive function call with loop.
11356 (grub_hfs_iterate_dir): Replace recursive function call with loop.
11357
11358 2008-01-23 Robert Millan <rmh@aybabtu.com>
11359
11360 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
11361 `<grub/symbol.h>' and `<grub/multiboot.h>'.
11362 (grub_multiboot2_real_boot): New function prototype.
11363
11364 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
11365 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
11366
11367 * kern/i386/ieee1275/init.c (grub_os_area_addr)
11368 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
11369
11370 2008-01-23 Robert Millan <rmh@aybabtu.com>
11371
11372 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
11373 #ifdef'ed out grub_printf().
11374
11375 2008-01-23 Robert Millan <rmh@aybabtu.com>
11376
11377 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
11378 grub_dprintf calls, since they make "debug=all" mode unusable.
11379 (grub_console_checkkey): Likewise.
11380
11381 2008-01-23 Robert Millan <rmh@aybabtu.com>
11382
11383 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11384 `term/i386/pc/at_keyboard.c'.
11385 (pkglib_MODULES): Add `serial.mod'.
11386 (serial_mod_SOURCES): New variable.
11387 (serial_mod_CFLAGS): Likewise.
11388 (serial_mod_LDFLAGS): Likewise.
11389
11390 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
11391 `<grub/powerpc/ieee1275/console.h>'.
11392 (grub_keyboard_controller_init): New function prototype.
11393 (grub_console_checkkey): Likewise.
11394 (grub_console_getkey): Likewise.
11395
11396 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
11397 keyboard on i386.
11398
11399 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
11400 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
11401
11402 2008-01-23 Robert Millan <rmh@aybabtu.com>
11403
11404 * kern/i386/pc/init.c (make_install_device): When memdisk image is
11405 present, "(memdisk)/boot/grub" becomes the default prefix.
11406
11407 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
11408 a memdisk tarball with all the modules. Add --overlay=DIR option that
11409 allows users to overlay additional files into the image.
11410
11411 2008-01-23 Robert Millan <rmh@aybabtu.com>
11412
11413 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
11414 and `machine/memory.h'.
11415 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
11416 (_multiboot_mod_SOURCES): New variable.
11417 (_multiboot_mod_CFLAGS): Likewise.
11418 (_multiboot_mod_LDFLAGS): Likewise.
11419 (multiboot_mod_SOURCES): Likewise.
11420 (multiboot_mod_CFLAGS): Likewise.
11421 (multiboot_mod_LDFLAGS): Likewise.
11422
11423 * include/grub/i386/ieee1275/loader.h: New file.
11424
11425 * include/grub/i386/ieee1275/machine.h: Likewise.
11426
11427 * include/grub/i386/ieee1275/memory.h: Likewise.
11428
11429 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
11430 variable declaration.
11431 (grub_os_area_size): Likewise.
11432
11433 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
11434 (grub_lower_mem, grub_upper_mem): New variables.
11435 (grub_stop_floppy): New function (just to make
11436 grub_multiboot2_real_boot() happy).
11437
11438 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
11439 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
11440 (grub_stop): New function.
11441 Include `"../realmode.S"' and `"../loader.S"'.
11442
11443 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
11444 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
11445
11446 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
11447 rely on grub_multiboot2_real_boot() for final boot.
11448
11449 2008-01-22 Robert Millan <rmh@aybabtu.com>
11450
11451 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
11452 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
11453 device that doesn't look like an SD card.
11454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
11455 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
11456 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
11457 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
11458 found.
11459
11460 2008-01-22 Robert Millan <rmh@aybabtu.com>
11461
11462 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
11463 avoid claiming over our own code.
11464
11465 2008-01-22 Bean <bean123ch@gmail.com>
11466
11467 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
11468 (jpeg_mod_SOURCES): New variable.
11469 (jpeg_mod_CFLAGS): Likewise.
11470 (jpeg_mod_LDFLAGS): Likewise.
11471
11472 * video/readers/jpeg.c : New file.
11473
11474 2008-01-22 Bean <bean123ch@gmail.com>
11475
11476 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
11477 there are no more items.
11478
11479 2008-01-21 Robert Millan <rmh@aybabtu.com>
11480
11481 * kern/mm.c (grub_mm_init_region): Improve debug message.
11482
11483 2008-01-21 Robert Millan <rmh@aybabtu.com>
11484
11485 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
11486 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
11487 address.
11488 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
11489 a C macro.
11490 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
11491 Indicates start of upper memory.
11492 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
11493 (generate_image): Abort when image size is big enough to corrupt
11494 upper memory.
11495
11496 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
11497 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
11498 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11499 instead of hardcoding 0xA0000.
11500 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
11501 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11502 instead of hardcoding 0xA0000.
11503
11504 2008-01-21 Robert Millan <rmh@aybabtu.com>
11505
11506 * disk/memdisk.c (memdisk_size): New variable.
11507 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
11508 `memdisk_size'.
11509 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
11510 image to dynamic memory.
11511 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
11512 `memdisk_size'. Free memdisk block.
11513
11514 2008-01-21 Robert Millan <rmh@aybabtu.com>
11515
11516 Fix detection of very small filesystems (like tar).
11517
11518 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
11519 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
11520 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
11521 a problem with this disk).
11522
11523 2008-01-21 Robert Millan <rmh@aybabtu.com>
11524
11525 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
11526 on grub_biosdisk_rw_standard() error.
11527
11528 2008-01-21 Robert Millan <rmh@aybabtu.com>
11529
11530 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
11531 recent changes.
11532 * kern/elf.c: Likewise.
11533 * kern/ieee1275/ieee1275.c: Likewise.
11534 * kern/powerpc/ieee1275/openfw.c: Likewise.
11535 * term/ieee1275/ofconsole.c: Likewise.
11536
11537 2008-01-21 Robert Millan <rmh@aybabtu.com>
11538
11539 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
11540
11541 * include/grub/kernel.h (grub_arch_memdisk_addr)
11542 (grub_arch_memdisk_size): Moved from here ...
11543
11544 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
11545 (grub_arch_memdisk_size): ... to here.
11546
11547 2008-01-21 Robert Millan <rmh@aybabtu.com>
11548
11549 Mostly based on bugfix from Bean.
11550
11551 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
11552 attribute with hook() parameter.
11553 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
11554 declaration.
11555 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
11556 attribute with hook() parameter.
11557 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
11558 declaration.
11559
11560 2008-01-21 Robert Millan <rmh@aybabtu.com>
11561
11562 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
11563 (pkglib_MODULES): Add `memdisk.mod'.
11564 (memdisk_mod_SOURCES): New variable.
11565 (memdisk_mod_CFLAGS): Likewise.
11566 (memdisk_mod_LDFLAGS): Likewise.
11567
11568 * disk/memdisk.c: New file.
11569
11570 * include/grub/disk.h (grub_disk_dev_id): Add
11571 `GRUB_DISK_DEVICE_MEMDISK_ID'.
11572
11573 * include/grub/i386/pc/kernel.h
11574 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
11575 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
11576 (grub_kernel_image_size): New variable declaration.
11577 (grub_total_module_size): Likewise.
11578 (grub_memdisk_image_size): Likewise.
11579
11580 * include/grub/i386/pc/memory.h
11581 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
11582
11583 * include/grub/kernel.h: Include `<grub/symbol.h>'.
11584 (grub_arch_memdisk_addr): New variable declaration.
11585 (grub_arch_memdisk_size): Likewise.
11586
11587 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
11588 (grub_arch_memdisk_size): Likewise.
11589
11590 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
11591 (codestart): Replace hardcoded `0x100000' with
11592 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
11593
11594 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
11595 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
11596 not NULL, append the contents of the file it refers to, at the end of
11597 the compressed kernel image. Initialize `grub_memdisk_image_size'
11598 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
11599 (options): Add "memdisk"|'m' option.
11600 (main): Parse --memdisk|-m option, and pass user-provided path as
11601 parameter to generate_image().
11602
11603 2008-01-20 Robert Millan <rmh@aybabtu.com>
11604
11605 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
11606 grub_dprintf() calls from here ...
11607 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
11608
11609 2008-01-20 Robert Millan <rmh@aybabtu.com>
11610
11611 Fix detection of "real mode" when /options/real-mode? doesn't exist.
11612
11613 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
11614 declaration.
11615 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
11616 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
11617 `GRUB_IEEE1275_FLAG_REAL_MODE'.
11618 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
11619 property).
11620 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
11621 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
11622
11623 2008-01-19 Robert Millan <rmh@aybabtu.com>
11624
11625 Get rid of confusing function (superseded by
11626 `grub_ieee1275_get_integer_property')
11627 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
11628 prototype.
11629 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
11630 function.
11631 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
11632 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
11633 in native endianness from grub_ieee1275_get_integer_property().
11634
11635 2008-01-19 Robert Millan <rmh@aybabtu.com>
11636
11637 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
11638 command after "shut-down", since implementations differ on which
11639 the command for halt is.
11640
11641 2008-01-19 Robert Millan <rmh@aybabtu.com>
11642
11643 * include/grub/i386/linuxbios/console.h: Add header protection.
11644 (grub_keyboard_controller_init): New function prototype.
11645 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
11646 (KEYBOARD_COMMAND_READ): Likewise.
11647 (KEYBOARD_COMMAND_WRITE): Likewise.
11648 (KEYBOARD_SCANCODE_SET1): Likewise.
11649 (grub_keyboard_controller_write): New function.
11650 (grub_keyboard_controller_read): Likewise.
11651 (grub_keyboard_controller_init): Likewise.
11652
11653 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
11654 (grub_console_init): On coreboot/LinuxBIOS, call
11655 grub_keyboard_controller_init().
11656
11657 2008-01-19 Robert Millan <rmh@aybabtu.com>
11658
11659 PowerPC changes provided by Pavel Roskin.
11660
11661 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
11662 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
11663 don't rely on cmain() doing it.
11664 * kern/i386/ieee1275/startup.S (_start): Store %eax in
11665 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
11666
11667 2008-01-16 Robert Millan <rmh@aybabtu.com>
11668
11669 * include/grub/i386/linuxbios/memory.h
11670 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
11671 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
11672 receive `table_header' as argument. Instead, probe for it in the
11673 known memory ranges where it can be present.
11674 (grub_available_iterate): Do not pass a fixed `table_header' address
11675 to grub_linuxbios_table_iterate().
11676
11677 2008-01-15 Robert Millan <rmh@aybabtu.com>
11678
11679 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
11680 * conf/i386-ieee1275.rmk: New file.
11681 * include/grub/i386/ieee1275/console.h: Likewise.
11682 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
11683 * include/grub/i386/ieee1275/kernel.h: Likewise.
11684 * include/grub/i386/ieee1275/time.h: Likewise.
11685 * kern/i386/ieee1275/init.c: Likewise.
11686 * kern/i386/ieee1275/startup.S: Likewise.
11687
11688 2008-01-15 Robert Millan <rmh@aybabtu.com>
11689
11690 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
11691 when pointers are 32-bit (but still do set it to one when they are
11692 64-bit).
11693
11694 2008-01-15 Robert Millan <rmh@aybabtu.com>
11695
11696 * include/grub/ieee1275/ieee1275.h
11697 (grub_ieee1275_get_integer_property): New function prototype.
11698
11699 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
11700 (grub_ieee1275_get_integer_property): New function. Wraps around
11701 grub_ieee1275_get_property() to handle endianness.
11702
11703 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
11704 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
11705 where appropriate.
11706 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
11707 (grub_map): Likewise.
11708 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
11709
11710 2008-01-15 Bean <bean123ch@gmail.com>
11711
11712 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
11713 (grub_script_execute_cmdline): Reset grub_errno.
11714
11715 * normal/main.c (read_config_file): Reset grub_errno.
11716
11717 * normal/parse.y (script_init): New.
11718 (script): Move function and menuentry here.
11719 (delimiter): New.
11720 (command): Add delimiter at the end of command.
11721 (commands): Adjust to match the new command.
11722 (commandblock): Remove grub_script_lexer_record_start.
11723 (menuentry): Add grub_script_lexer_record_start, use the new commands.
11724 (if): Use the new commands.
11725
11726 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
11727
11728 2008-01-15 Robert Millan <rmh@aybabtu.com>
11729
11730 * normal/menu.c (run_menu): Move timeout message from here ...
11731 (print_timeout): ... to here.
11732 (run_menu): Use print_timeout() once during initial draw to print
11733 the whole message, and again in every clock tick to update only
11734 the number of seconds.
11735
11736 2008-01-15 Robert Millan <rmh@aybabtu.com>
11737
11738 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
11739 actual size of `available' from grub_ieee1275_get_property(), and
11740 restrict parsing to that bound.
11741
11742 2008-01-15 Christian Franke <franke@computer.org>
11743
11744 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
11745 (argp_program_version): Remove variable.
11746 (argp_program_bug_address): Likewise.
11747 (options): Convert from struct argp_option to struct option.
11748 (struct arguments): Remove.
11749 (parse_opt): Remove.
11750 (usage): New function.
11751 (main): Replace struct args members by simple variables.
11752 Replace argp_parse() by getopt_long().
11753 Add switch to evaluate options.
11754 Add missing "(...)" around root_dev in prefix string.
11755
11756 2008-01-14 Robert Millan <rmh@aybabtu.com>
11757
11758 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
11759 for grub_ieee1275_exit(), in order to improve portability.
11760
11761 2008-01-14 Robert Millan <rmh@aybabtu.com>
11762
11763 * util/grub.d/10_linux.in (prefix): Define.
11764 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
11765
11766 2008-01-13 Pavel Roskin <proski@gnu.org>
11767
11768 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
11769 grub_errno if no errors have been detected.
11770
11771 2008-01-12 Robert Millan <rmh@aybabtu.com>
11772
11773 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
11774 (grub_util_get_dev_abstraction): New function prototype.
11775
11776 * util/getroot.c: Include `<grub/util/getroot.h>'
11777 (grub_util_get_grub_dev): Move detection of abstraction type to ...
11778 (grub_util_get_dev_abstraction): ... here (new function).
11779
11780 * util/grub-probe.c: Convert PRINT_* to an enum. Add
11781 `PRINT_ABSTRACTION'.
11782 (probe): Probe for abstraction type when requested.
11783 (main): Understand `--target=abstraction'.
11784
11785 * util/i386/efi/grub-install.in: Add abstraction module to core
11786 image when it is found to be necessary.
11787 * util/i386/pc/grub-install.in: Likewise.
11788 * util/powerpc/ieee1275/grub-install.in: Likewise.
11789
11790 * util/update-grub_lib.in (font_path): Return system path without
11791 converting to GRUB path.
11792 * util/update-grub.in: Convert system path returned by font_path()
11793 to a GRUB path. Use `grub-probe -t abstraction' to determine what
11794 abstraction module is needed for loading fonts (if any). Export
11795 that as `GRUB_PRELOAD_MODULES'.
11796 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
11797 insmod commands).
11798
11799 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
11800
11801 Remove some unused code from reiserfs.
11802
11803 * fs/reiserfs.c (struct grub_reiserfs_key)
11804 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
11805 (struct grub_reiserfs_node_body): Removed.
11806 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11807 Likewise.
11808 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11809 Likewise.
11810 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11811 Likewise.
11812 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11813 Likewise.
11814 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11815 Likewise.
11816 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
11817 Likewise.
11818 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11819 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11820 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11821
11822 2008-01-10 Robert Millan <rmh@aybabtu.com>
11823
11824 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
11825 Determines if a file is garbage left by packaging systems, etc.
11826 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
11827 for processing /etc/grub.d scripts.
11828 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
11829 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
11830 as a condition for processing Linux images.
11831
11832 2008-01-10 Pavel Roskin <proski@gnu.org>
11833
11834 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
11835 to compile reiserfs.c on PowerPC.
11836
11837 2008-01-10 Robert Millan <rmh@aybabtu.com>
11838
11839 * kern/device.c (grub_device_iterate): Do not abort device iteration
11840 when one of the devices cannot be opened.
11841 * kern/disk.c (grub_disk_open): Do not account previous failures of
11842 unrelated functions when grub_errno is checked for.
11843
11844 2008-01-08 Robert Millan <rmh@aybabtu.com>
11845
11846 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
11847 `! grub_linux_is_bzimage', change order of address comparison to make
11848 it more intuitive, and improve "too big zImage" error message.
11849
11850 2008-01-08 Robert Millan <rmh@aybabtu.com>
11851
11852 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
11853 `$(update-grub_DATA)'.
11854 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
11855 targets.
11856
11857 2008-01-07 Robert Millan <rmh@aybabtu.com>
11858
11859 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
11860 which instruction is modified by grub-setup during installation
11861 (since it wasn't obvious by only looking at this file).
11862
11863 2008-01-07 Robert Millan <rmh@aybabtu.com>
11864
11865 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
11866 listing actual TODO items.
11867
11868 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11869
11870 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
11871 correctly.
11872 (grub_reiserfs_get_key_offset): Likewise.
11873 (grub_reiserfs_set_key_offset): Likewise.
11874 (grub_reiserfs_set_key_type): Likewise.
11875 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
11876
11877 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
11878 better to remove the bitfield version completely.
11879
11880 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11881
11882 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
11883 allocated from the heap, due to the fshelp implementation.
11884 (grub_reiserfs_dir): Free NODE, due to the same reason.
11885
11886 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11887
11888 Mostly from Vincent Pelletier:
11889
11890 * fs/reiserfs.c: New file.
11891
11892 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
11893 (reiserfs_mod_SOURCES): New variable.
11894 (reiserfs_mod_CFLAGS): Likewise.
11895 (reiserfs_mod_LDFLAGS): Likewise.
11896
11897 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
11898 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
11899 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
11900 normal/color.c.
11901
11902 2008-01-06 Robert Millan <rmh@aybabtu.com>
11903
11904 * normal/color.c: Remove `<grub/env.h>'.
11905
11906 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
11907
11908 * include/grub/normal.h: Include <grub/env.h>.
11909
11910 2008-01-05 Robert Millan <rmh@aybabtu.com>
11911
11912 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
11913 usage example with `(hd0,1)'.
11914 Reported by Samuel Thibault.
11915
11916 2008-01-05 Robert Millan <rmh@aybabtu.com>
11917
11918 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
11919 (grub_linux_boot_zimage): Rename to ...
11920 (grub_linux_boot): ... this.
11921 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
11922 (grub_linux_boot_zimage): Conditionalize zImage copy.
11923
11924 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
11925 (grub_linux_boot_bzimage): Remove prototype.
11926 (grub_linux_boot_zimage): Rename to ...
11927 (grub_linux_boot): ... this.
11928
11929 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
11930 (grub_linux_boot): Remove function.
11931
11932 2008-01-05 Robert Millan <rmh@aybabtu.com>
11933
11934 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
11935 (grub_env_write_color_highlight): Likewise.
11936 (grub_wait_after_message): Likewise.
11937
11938 * normal/color.c: New file.
11939
11940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11941 (normal_mod_DEPENDENCIES): Likewise.
11942
11943 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11944 (normal_mod_DEPENDENCIES): Likewise.
11945
11946 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11947 (normal_mod_DEPENDENCIES): Likewise.
11948
11949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11950 (normal_mod_DEPENDENCIES): Likewise.
11951
11952 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
11953 for waiting after a message is printed.
11954 * normal/main.c (read_config_file): Likewise.
11955 (grub_normal_init): Register grub_env_write_color_normal() and
11956 grub_env_write_color_highlight() hooks. Mark `color_normal' and
11957 `color_highlight' variables as global.
11958
11959 * normal/menu.c (grub_wait_after_message): New function.
11960 (grub_color_menu_normal): New variable. Replaces ...
11961 (GRUB_COLOR_MENU_NORMAL): ... this macro.
11962 (grub_color_menu_highlight): New variable. Replaces ...
11963 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
11964 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
11965 `GRUB_TERM_COLOR_STANDARD'.
11966 (print_message): Use `grub_setcolorstate' to reload colors. Rename
11967 `normal_code' and `highlight_code' to `old_color_normal' and
11968 `old_color_highlight', respectively.
11969 (grub_menu_init_page): Update colors when drawing the menu, based on
11970 `menu_color_normal' and `menu_color_highlight' variables.
11971 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
11972 a message is printed.
11973
11974 2008-01-05 Robert Millan <rmh@aybabtu.com>
11975
11976 * kern/env.c (grub_env_context_open): Propagate hooks for global
11977 variables to new context.
11978
11979 * kern/main.c (grub_set_root_dev): Export `root' variable.
11980
11981 2008-01-05 Robert Millan <rmh@aybabtu.com>
11982
11983 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
11984 discs unconditionally, since udev and others have options to provide
11985 them.
11986
11987 2008-01-05 Robert Millan <rmh@aybabtu.com>
11988
11989 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
11990
11991 2008-01-04 Christian Franke <franke@computer.org>
11992
11993 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
11994 of eisa_mmap.
11995
11996 2008-01-03 Pavel Roskin <proski@gnu.org>
11997
11998 * kern/i386/linuxbios/init.c: Put "void" to all function
11999 declarations with no arguments.
12000 * kern/powerpc/ieee1275/init.c: Likewise.
12001 * term/i386/pc/at_keyboard.c: Likewise.
12002 * term/i386/pc/vga_text.c: Likewise.
12003 * util/grub-mkdevicemap.c: Likewise.
12004
12005 2008-01-02 Robert Millan <rmh@aybabtu.com>
12006
12007 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12008 message when loaded image is out of bounds.
12009 (grub_multiboot_load_elf64): Likewise.
12010
12011 2008-01-02 Pavel Roskin <proski@gnu.org>
12012
12013 * util/grub.d/10_linux.in: Try version without ".old" when
12014 looking for initrd. It's better to use initrd from the newer
12015 kernel of the same version than no initrd at all.
12016
12017 2008-01-01 Robert Millan <rmh@aybabtu.com>
12018
12019 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12020
12021 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12022
12023 * include/grub/video.h: Added grub_video_unmap_color and
12024 grub_video_get_active_render_target.
12025 (grub_video_adapter): Added unmap_color and get_active_render_target.
12026
12027 * video/video.c: Added grub_video_unmap_color and
12028 grub_video_get_active_render_target.
12029 (grub_video_get_info): Changed method to accept NULL pointer as an
12030 argument to allow detection of active video adapter.
12031
12032 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12033 grub_video_vbe_unmap_color_int.
12034 Added grub_video_vbe_unmap_color and
12035 grub_video_vbe_get_active_render_target.
12036 (grub_video_vbe_adapter): Added unmap_color and
12037 get_active_render_target.
12038
12039 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
12040 with grub_video_vbe_unmap_color_int.
12041
12042 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12043 (DEFAULT_NORMAL_COLOR): Likewise.
12044 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12045 (DEFAULT_FG_COLOR): Removed.
12046 (DEFAULT_BG_COLOR): Likewise.
12047 (DEFAULT_CURSOR_COLOR): Changed value.
12048 (grub_virtual_screen): Added standard_color_setting,
12049 normal_color_setting, highlight_color_setting and term_color.
12050 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12051 (bitmap_width): Added.
12052 (bitmap_height): Likewise.
12053 (bitmap): Likewise.
12054 (set_term_color): Likewise.
12055 (grub_virtual_screen_setup): Changed to use new terminal coloring
12056 settings.
12057 (grub_gfxterm_init): Added init for bitmap.
12058 (grub_gfxterm_fini): Added destroy for bitmap.
12059 (redraw_screen_rect): Updated to use background bitmap and new
12060 terminal coloring.
12061 (scroll_up): Added optimization for case when there is no bitmap.
12062 (grub_gfxterm_cls): Fixed to use correct background color.
12063 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12064 coloring.
12065 (grub_virtual_screen_setcolor): Likewise.
12066 (grub_virtual_screen_getcolor): Added.
12067 (grub_gfxterm_background_image_cmd): Likewise.
12068 (grub_video_term): Added setcolor and getcolor.
12069 (MOD_INIT): Added registration of background_image command.
12070 (MOD_TERM): Added unregistration for background_image command.
12071
12072 2007-12-30 Pavel Roskin <proski@gnu.org>
12073
12074 * loader/multiboot_loader.c: Fix multiboot command
12075 unregistration. Fix all typos in the word "multiboot".
12076
12077 2007-12-29 Pavel Roskin <proski@gnu.org>
12078
12079 * util/grub.d/10_linux.in: Refactor search for initrd. Add
12080 support for initrd names used in Fedora.
12081
12082 2007-12-26 Bean <bean123ch@gmail.com>
12083
12084 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
12085 (cpio_mod_SOURCES): New variable.
12086 (cpio_mod_CFLAGS): Likewise.
12087 (cpio_mod_LDFLAGS): Likewise.
12088
12089 * fs/cpio.c: New file.
12090
12091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
12092
12093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12094
12095 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12096
12097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12098
12099 2007-12-25 Robert Millan <rmh@aybabtu.com>
12100
12101 * include/grub/term.h (struct grub_term): Add `getcolor' function.
12102 (grub_getcolor): New function.
12103
12104 * kern/term.c (grub_getcolor): New function.
12105 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
12106 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
12107 (print_entry): Set normal and highlight colors to
12108 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
12109 respectively, before printing and restore them to old
12110 values afterwards.
12111 (grub_menu_init_page): Likewise. Fill an additional colored space
12112 that would otherwise be left blank.
12113
12114 * term/efi/console.c (grub_console_getcolor): New function.
12115 (struct grub_console_term.getcolor): New variable.
12116 * term/i386/pc/console.c (grub_console_getcolor): New function.
12117 (struct grub_console_term.getcolor): New variable.
12118 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
12119 (struct grub_console_term.getcolor): New variable.
12120
12121 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
12122 (struct grub_console_term.setcolor): Remove variable.
12123 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
12124 (struct grub_console_term.setcolor): Remove variable.
12125 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
12126 (struct grub_console_term.setcolor): Remove variable.
12127 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
12128 (struct grub_console_term.setcolor): Remove variable.
12129
12130 2007-12-25 Robert Millan <rmh@aybabtu.com>
12131
12132 * configure.ac: Search for possible unifont.hex locations, and
12133 define UNIFONT_HEX if found.
12134
12135 * Makefile.in (UNIFONT_HEX): Define variable.
12136 (DATA): Rename to ...
12137 (PKGLIB): ... this. Update all users.
12138 (PKGDATA): New variable.
12139 (pkgdata_IMAGES): Rename to ...
12140 (pkglib_IMAGES): ... this. Update all users.
12141 (pkgdata_MODULES): Rename to ...
12142 (pkglib_MODULES): ... this. Update all users.
12143 (pkgdata_PROGRAMS): Rename to ...
12144 (pkglib_PROGRAMS): ... this. Update all users.
12145 (pkgdata_DATA): Rename to ...
12146 (pkglib_DATA): ... this. Update all users.
12147 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
12148 (unicode.pff, ascii.pff): New rules.
12149 (all-local): Add `$(PKGDATA)' dependency.
12150 (install-local): Process `$(PKGDATA)'.
12151
12152 * util/update-grub_lib.in (font_path): Search for *.pff files in
12153 a few more locations, including `${pkgdata}'.
12154
12155 2007-12-23 Robert Millan <rmh@aybabtu.com>
12156
12157 Patch from Bean <bean123ch@gmail.com>:
12158 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
12159 `size'.
12160
12161 2007-12-21 Bean <bean123ch@gmail.com>
12162
12163 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
12164 (ntfscomp_mod_SOURCES): New variable.
12165 (ntfscomp_mod_CFLAGS): Likewise.
12166 (ntfscomp_mod_LDFLAGS): Likewise.
12167
12168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
12169 (grub_probe_SOURCES): Likewise.
12170 (grub_emu_SOURCES): Likewise.
12171
12172 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12173 (grub_emu_SOURCES): Likewise.
12174
12175 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12176 (grub_emu_SOURCES): Likewise.
12177
12178 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12179 (grub_emu_SOURCES): Likewise.
12180
12181 * fs/ntfs.c (grub_ntfscomp_func): New variable.
12182 (read_run_list): Renamed to grub_ntfs_read_run_list.
12183 (decomp_nextvcn): Moved to ntfscomp.c.
12184 (decomp_getch): Likewise.
12185 (decomp_get16): Likewise.
12186 (decomp_block): Likewise.
12187 (read_block): Likewise.
12188 (read_data): Partially moved to ntfscomp.c.
12189 (fixup): Change unsigned to grub_uint16_t.
12190 (read_mft): Change unsigned long to grub_uint32_t.
12191 (read_attr): Likewise.
12192 (read_data): Likewise.
12193 (read_run_data): Likewise.
12194 (read_run_list): Likewise.
12195 (read_mft): Likewise.
12196
12197 * fs/ntfscomp.c: New file.
12198
12199 * include/grub/ntfs.h: New file.
12200
12201 2007-12-16 Robert Millan <rmh@aybabtu.com>
12202
12203 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
12204 IDE disk check, since Linux is known to support 20 IDE disks.
12205 Reported by Colin Watson.
12206
12207 2007-12-15 Bean <bean123ch@gmail.com>
12208
12209 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
12210 (lnxboot_img_SOURCES): New variable.
12211 (lnxboot_img_ASFLAGS): Likewise.
12212 (lnxboot_img_LDFLAGS): Likewise.
12213
12214 * boot/i386/pc/lnxboot.S: New file.
12215
12216 2007-11-24 Pavel Roskin <proski@gnu.org>
12217
12218 * configure.ac: Test if '--build-id=none' is supported by the
12219 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
12220 objcopy to generate incorrect binary files (binutils
12221 2.17.50.0.18-1 as shipped by Fedora 8).
12222 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
12223 linking, so that build ID doesn't break the test.
12224
12225 2007-11-24 Pavel Roskin <proski@gnu.org>
12226
12227 * include/grub/i386/time.h: use "void" in the argument list
12228 of grub_cpu_idle().
12229 * include/grub/powerpc/time.h: Likewise.
12230 * include/grub/sparc64/time.h: Likewise.
12231
12232 2007-11-18 Christian Franke <franke@computer.org>
12233
12234 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
12235 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
12236 This fixes the problem that function keys did not work in grub-emu.
12237
12238 2007-11-18 Christian Franke <franke@computer.org>
12239
12240 * disk/host.c (grub_host_open): Remove attribute unused from
12241 name parameter. Add check for "host". This fixes the problem
12242 that grub-emu does not find partitions.
12243
12244 2007-11-18 Christian Franke <franke@computer.org>
12245
12246 * util/hostfs.c (is_dir): New function.
12247 (grub_hostfs_dir): Handle missing dirent.d_type case.
12248 (grub_hostfs_read): Add missing fseek().
12249 (grub_hostfs_label): Clear label pointer. This fixes a crash
12250 of grub-emu on "ls (host)".
12251
12252 2007-11-18 Christian Franke <franke@computer.org>
12253
12254 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
12255 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
12256 to 64 bit boundary by default.
12257
12258 2007-11-18 Bean <bean123ch@gmail.com>
12259
12260 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
12261 (hexdump_mod_SOURCES): New variable.
12262 (hexdump_mod_CFLAGS): Likewise.
12263 (hexdump_mod_LDFLAGS): Likewise.
12264
12265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12266
12267 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12268
12269 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12270
12271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12272
12273 * include/grub/hexdump.h: New file.
12274
12275 * commands/hexdump.c: New file.
12276
12277 2007-11-10 Robert Millan <rmh@aybabtu.com>
12278
12279 * commands/i386/pc/play.c (beep_off): Switch order of arguments
12280 in grub_outb() calls.
12281 (beep_on): Likewise.
12282
12283 2007-11-10 Christian Franke <franke@computer.org>
12284
12285 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
12286 (grub_menu_run): Likewise.
12287
12288 2007-11-10 Robert Millan <rmh@aybabtu.com>
12289
12290 * include/grub/i386/efi/machine.h: New file.
12291 * include/grub/i386/linuxbios/machine.h: Likewise.
12292 * include/grub/i386/pc/machine.h: Likewise.
12293 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12294 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12295
12296 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
12297 (serial_hw_io_addr): New variable.
12298 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
12299 instead of `(unsigned short *) 0x400'.
12300
12301 2007-11-10 Bean <bean123ch@gmail.com>
12302
12303 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
12304
12305 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12306
12307 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
12308 (vga_mod_SOURCES): Added.
12309 (vga_mod_CFLAGS): Likewise.
12310 (vga_mod_LDFLAGS): Likewise.
12311
12312 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
12313 grub_outb() calls.
12314 (set_map_mask): Likewise.
12315 (set_read_map): Likewise.
12316 (set_read_address): Likewise.
12317 (vga_font): Removed variable.
12318 (get_vga_glyph): Removed function.
12319 (invalidate_char): Likewise.
12320 (write_char): Changed to use grub_font_get_glyph() for font
12321 information.
12322 (grub_vga_putchar): Likewise.
12323 (grub_vga_getcharwidth): Likewise.
12324
12325 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12326
12327 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
12328 flags.
12329 (pxeboot_img_LDFLAGS): Likewise.
12330 (diskboot_img_LDFLAGS): Likewise.
12331 (kernel_img_LDFLAGS): Likewise.
12332
12333 2007-11-06 Robert Millan <rmh@aybabtu.com>
12334
12335 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
12336 in grub_outb() calls.
12337 (serial_hw_init): Likewise.
12338
12339 2007-11-05 Robert Millan <rmh@aybabtu.com>
12340
12341 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
12342 spaces. Skip non-regular files.
12343
12344 2007-11-05 Robert Millan <rmh@aybabtu.com>
12345
12346 * kern/disk.c (grub_disk_firmware_fini)
12347 (grub_disk_firmware_is_tainted): New variables.
12348
12349 * include/grub/disk.h (grub_disk_firmware_fini)
12350 (grub_disk_firmware_is_tainted): Likewise.
12351
12352 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
12353 (grub_disk_biosdisk_fini): ... to here.
12354 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
12355 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
12356 is set. Register grub_disk_biosdisk_fini() in
12357 `grub_disk_firmware_fini'.
12358
12359 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
12360 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
12361 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
12362 to finish existing firmware disk interface.
12363
12364 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
12365 (ata_mod_SOURCES): New variable.
12366 (ata_mod_CFLAGS): Likewise.
12367 (ata_mod_LDFLAGS): Likewise.
12368
12369 2007-11-05 Robert Millan <rmh@aybabtu.com>
12370
12371 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
12372 (grub_ata_wait): Reimplement using grub_millisleep().
12373
12374 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
12375 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
12376
12377 2007-11-03 Marco Gerards <marco@gnu.org>
12378
12379 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
12380 (CRTC_ADDR_PORT): New macro.
12381 (CRTC_DATA_PORT): Likewise.
12382 (CRTC_CURSOR): Likewise.
12383 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12384 (CRTC_CURSOR_ADDR_LOW): Likewise.
12385 (update_cursor): New function.
12386 (grub_console_real_putchar): Call `update_cursor'.
12387 (grub_console_gotoxy): Likewise.
12388 (grub_console_cls): Set the default color when clearing the
12389 screen.
12390 (grub_console_setcursor): Implemented.
12391
12392 2007-11-03 Marco Gerards <marco@gnu.org>
12393
12394 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
12395 become activate.
12396 (grub_ata_pio_write): Likewise.
12397
12398 (grub_atapi_identify): Wait after issuing an ATA command.
12399 (grub_atapi_packet): Likewise.
12400 (grub_ata_identify): Likewise.
12401 (grub_ata_readwrite): Likewise.
12402
12403 2007-11-03 Marco Gerards <marco@gnu.org>
12404
12405 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
12406 (grub_ata_pio_write): Likewise.
12407 (grub_ata_readwrite): Use `grub_error', instead of
12408 returning `grub_errno'.
12409
12410 2007-11-03 Marco Gerards <marco@gnu.org>
12411
12412 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
12413 grub_ata_pio_write once for every single sector, instead of for
12414 multiple sectors.
12415
12416 2007-10-31 Robert Millan <rmh@aybabtu.com>
12417
12418 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
12419
12420 * conf/i386-linuxbios.rmk: New file.
12421
12422 * kern/i386/pc/hardware.c: Likewise.
12423 * term/i386/pc/at_keyboard.c: Likewise.
12424 * term/i386/pc/vga_text.c: Likewise.
12425
12426 * include/grub/i386/linuxbios/boot.h: Likewise.
12427 * include/grub/i386/linuxbios/console.h: Likewise.
12428 * include/grub/i386/linuxbios/init.h: Likewise.
12429 * include/grub/i386/linuxbios/kernel.h: Likewise.
12430 * include/grub/i386/linuxbios/loader.h: Likewise.
12431 * include/grub/i386/linuxbios/memory.h: Likewise.
12432 * include/grub/i386/linuxbios/serial.h: Likewise.
12433 * include/grub/i386/linuxbios/time.h: Likewise.
12434
12435 * kern/i386/linuxbios/init.c: Likewise.
12436 * kern/i386/linuxbios/startup.S: Likewise.
12437 * kern/i386/linuxbios/table.c: Likewise.
12438
12439 2007-10-31 Marco Gerards <marco@gnu.org>
12440
12441 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
12442 (ata_mod_SOURCES): New variable.
12443 (ata_mod_CFLAGS): Likewise.
12444 (ata_mod_LDFLAGS): Likewise.
12445
12446 * disk/ata.c: New file.
12447
12448 * include/grub/disk.h (grub_disk_dev_id): Add
12449 `GRUB_DISK_DEV_ATA_ID'.
12450
12451 2007-10-31 Robert Millan <rmh@aybabtu.com>
12452
12453 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
12454 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
12455
12456 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
12457 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
12458
12459 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
12460 `<grub/types.h>'.
12461
12462 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
12463
12464 2007-10-27 Robert Millan <rmh@aybabtu.com>
12465
12466 * include/grub/types.h (ULONG_MAX): Define macro.
12467
12468 2007-10-22 Robert Millan <rmh@aybabtu.com>
12469
12470 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
12471 `"../realmode.S"'.
12472 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
12473
12474 2007-10-22 Robert Millan <rmh@aybabtu.com>
12475
12476 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
12477 (pkgdata_MODULES): Add `biosdisk.mod'.
12478 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
12479 variables.
12480
12481 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
12482 (grub_biosdisk_init): Replace with ...
12483 (GRUB_MOD_INIT(biosdisk)): ... this.
12484 (grub_biosdisk_fini): Replace with ...
12485 (GRUB_MOD_FINI(biosdisk)): ... this.
12486
12487 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
12488 (grub_machine_init): Remove call to grub_biosdisk_init().
12489 (grub_machine_fini): Remove call to grub_machine_fini().
12490
12491 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
12492
12493 2007-10-22 Robert Millan <rmh@aybabtu.com>
12494
12495 * include/grub/time.h: New file.
12496 * include/grub/i386/time.h: Likewise.
12497 * include/grub/powerpc/time.h: Likewise.
12498 * include/grub/sparc64/time.h: Likewise.
12499
12500 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
12501 instances to ...
12502 (KERNEL_MACHINE_TIME_HEADER): ... this.
12503 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12504 instances to ...
12505 (KERNEL_MACHINE_TIME_HEADER): ... this.
12506 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12507 instances to ...
12508 (KERNEL_MACHINE_TIME_HEADER): ... this.
12509
12510 * kern/i386/efi/init.c: Include `<grub/time.h>'.
12511 (grub_millisleep): New function.
12512 * kern/i386/pc/init.c: Include `<grub/time.h>'.
12513 (grub_millisleep): New function.
12514 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
12515 Remove `grub/machine/time.h' include.
12516 (grub_millisleep): New function.
12517 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
12518 Remove `grub/machine/time.h' include.
12519 (grub_millisleep): New function.
12520
12521 * include/grub/misc.h (grub_div_roundup): New function.
12522
12523 * kern/misc.c: Include `<grub/time.h>'.
12524 (grub_millisleep_generic): New function.
12525
12526 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
12527 Add `time.h'.
12528 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
12529 Add `time.h'.
12530 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
12531 `machine/time.h'. Add `time.h'.
12532 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
12533
12534 2007-10-21 Robert Millan <rmh@aybabtu.com>
12535
12536 * include/grub/misc.h (grub_max): New function.
12537
12538 2007-10-21 Robert Millan <rmh@aybabtu.com>
12539
12540 * util/misc.c (grub_util_info): Call fflush() before returning.
12541
12542 2007-10-20 Robert Millan <rmh@aybabtu.com>
12543
12544 * genmk.rb (Image): Copy `extra_flags' from here ...
12545 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
12546
12547 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
12548 to `argc' and `args' arguments.
12549
12550 2007-10-17 Robert Millan <rmh@aybabtu.com>
12551
12552 * kern/i386/loader.S: New file.
12553
12554 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
12555 * kern/i386/loader.S (grub_linux_prot_size)... to here.
12556 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
12557 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
12558 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
12559 * kern/i386/loader.S (grub_linux_real_addr)... to here.
12560 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
12561 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
12562 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
12563 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
12564 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
12565 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
12566 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
12567 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
12568
12569 * kern/i386/realmode.S: New file.
12570
12571 * kern/i386/pc/startup.S (protstack): Moved from here ...
12572 * kern/i386/realmode.S (protstack)... to here.
12573 * kern/i386/pc/startup.S (gdt): Moved from here ...
12574 * kern/i386/realmode.S (gdt)... to here.
12575 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
12576 * kern/i386/realmode.S (prot_to_real)... to here.
12577
12578 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
12579 `kern/i386/realmode.S'.
12580
12581 2007-10-17 Robert Millan <rmh@aybabtu.com>
12582
12583 * include/grub/i386/loader.h: New file.
12584
12585 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
12586 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12587 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12588 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12589 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
12590 * include/grub/i386/loader.h (grub_linux_prot_size)
12591 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12592 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12593 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12594 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
12595
12596 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
12597
12598 2007-10-15 Robert Millan <rmh@aybabtu.com>
12599
12600 * normal/misc.c (grub_normal_print_device_info): Do not probe for
12601 filesystem when dev->disk is unset.
12602 Do probe for filesystem even when dev->disk->has_partitions is set.
12603 In case a filesystem is found, always report it.
12604 In case it isn't, if dev->disk->has_partitions is set, report that
12605 a partition table was found instead of reporting that no filesystem
12606 could be identified.
12607
12608 2007-10-12 Robert Millan <rmh@aybabtu.com>
12609
12610 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
12611 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
12612
12613 * include/grub/types.h (grub_host_to_target16): New macro.
12614 (grub_host_to_target32): Likewise.
12615 (grub_host_to_target64): Likewise.
12616 (grub_target_to_host16): Likewise.
12617 (grub_target_to_host32): Likewise.
12618 (grub_target_to_host64): Likewise.
12619
12620 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
12621 Renamed from to ...
12622 (GRUB_MOD_ALIGN): ...this. Update all users.
12623
12624 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
12625 grub_host_to_target32.
12626 Replace grub_be_to_cpu32 with grub_target_to_host32.
12627 (load_modules): Likewise.
12628 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
12629 Replace grub_be_to_cpu32 with grub_target_to_host32.
12630 Replace grub_cpu_to_be16 with grub_host_to_target16.
12631 Replace grub_cpu_to_be32 grub_host_to_target32.
12632
12633 2007-10-12 Robert Millan <rmh@aybabtu.com>
12634
12635 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
12636 * util/elf/grub-mkimage.c: ... here.
12637
12638 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
12639 `util/powerpc/ieee1275/grub-mkimage.c'.
12640
12641 2007-10-07 Robert Millan <rmh@aybabtu.com>
12642
12643 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
12644 and make it easier to figure out.
12645 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
12646 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
12647 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
12648 leave us with less than HEAP_MIN_SIZE total heap.
12649 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
12650
12651 2007-10-03 Robert Millan <rmh@aybabtu.com>
12652
12653 * include/grub/i386/io.h: New file.
12654 * commands/i386/pc/play.c (inb): Removed.
12655 (outb): Removed.
12656 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12657 with grub_outb().
12658 * term/i386/pc/serial.c (inb): Removed.
12659 (outb): Removed.
12660 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12661 with grub_outb().
12662 * term/i386/pc/vga.c (inb): Removed.
12663 (outb): Removed.
12664 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12665 with grub_outb().
12666
12667 2007-10-02 Robert Millan <rmh@aybabtu.com>
12668
12669 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
12670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12671 Reported by Marcin Kurek.
12672
12673 2007-09-07 Robert Millan <rmh@aybabtu.com>
12674
12675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
12676 SmartFirmware version updates (as released by Sven Luther), and avoid
12677 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
12678 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
12679 known broken.
12680
12681 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12682
12683 From Hitoshi Ozeki:
12684 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
12685 when merging two regions.
12686
12687 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12688
12689 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
12690 * normal/completion.c (grub_normal_do_completion): Likewise.
12691 Reported by Hitoshi Ozeki.
12692
12693 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12694
12695 Do not use devices at boot in chainloading.
12696
12697 * loader/i386/pc/chainloader.c (boot_drive): New variable.
12698 (boot_part_addr): Likewise.
12699 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
12700 with BOOT_DRIVE and BOOT_PART_ADDR.
12701 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
12702 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
12703
12704 2007-08-29 Robert Millan <rmh@aybabtu.com>
12705
12706 Patch from Simon Peter <dn.tlp@gmx.net>:
12707 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
12708 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
12709 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
12710 util/i386/pc/grub-setup.c_DEPENDENCIES.
12711 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
12712 util/grub-probe.c_DEPENDENCIES.
12713 * conf/powerpc-ieee1275.rmk: Likewise.
12714
12715 2007-08-28 Robert Millan <rmh@aybabtu.com>
12716
12717 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
12718 to tell grub-mkdevicemap how to name devices.
12719 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
12720 feature).
12721
12722 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
12723 util/i386/get_disk_name.c.
12724 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
12725 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
12726 util/ieee1275/get_disk_name.c.
12727
12728 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
12729
12730 * DISTLIST: Add util/i386/get_disk_name.c and
12731 util/ieee1275/get_disk_name.c.
12732
12733 * util/grub-mkdevicemap.c: Replace device naming logic with
12734 grub_util_get_disk_name() calls.
12735
12736 2007-08-20 Robert Millan <rmh@aybabtu.com>
12737
12738 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
12739 (so that it works for both plural and singular quantities).
12740
12741 2007-08-05 Robert Millan <rmh@aybabtu.com>
12742
12743 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
12744 so that [xz] isn't taken into account when determining order.
12745
12746 2007-08-02 Marco Gerards <marco@gnu.org>
12747
12748 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
12749 `include/multiboot2.h', `include/grub/elfload.h',
12750 `include/multiboot.h', `include/grub/multiboot.h',
12751 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
12752 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
12753 `kern/elf.c', `loader/multiboot_loader.c',
12754 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
12755 `loader/i386/pc/multiboot2.c',
12756 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
12757 `util/i386/pc/grub-mkrescue.in'. Remove
12758 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
12759 `include/grub/i386/pc/util/biosdisk.h' and
12760 `include/grub/powerpc/ieee1275/multiboot.h'.
12761
12762 2007-08-02 Bean <bean123ch@gmail.com>
12763
12764 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
12765 (ntfs_mod_SOURCES): New variable.
12766 (ntfs_mod_CFLAGS): Likewise.
12767 (ntfs_mod_LDFLAGS): Likewise.
12768
12769 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
12770 (grub_probe_SOURCES): Likewise.
12771 (grub_emu_SOURCES): Likewise.
12772
12773 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12774 (grub_emu_SOURCES): Likewise.
12775
12776 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12777 (grub_emu_SOURCES): Likewise.
12778
12779 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
12780
12781 * fs/ntfs.c: New file.
12782
12783 2007-08-02 Bean <bean123ch@gmail.com>
12784
12785 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
12786
12787 * file.h (grub_file): Likewise.
12788
12789 * fshelp.h (grub_fshelp_read_file): Likewise.
12790
12791 * util/i386/pc/grub-setup.c (setup): Likewise.
12792 (save_first_sector): Likewise.
12793 (save_blocklists): Likewise.
12794
12795 * fs/affs.c (grub_affs_read_file): Likewise.
12796
12797 * fs/ext2.c (grub_ext2_read_file): Likewise.
12798
12799 * fs/fat.c (grub_fat_read_data): Likewise.
12800
12801 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
12802
12803 * fs/hfs.c (grub_hfs_read_file): Likewise.
12804
12805 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
12806
12807 * fs/jfs.c (grub_jfs_read_file): Likewise.
12808
12809 * fs/minix.c (grub_minix_read_file): Likewise.
12810
12811 * fs/sfs.c (grub_sfs_read_file): Likewise.
12812
12813 * fs/ufs.c (grub_ufs_read_file): Likewise.
12814
12815 * fs/xfs.c (grub_xfs_read_file): Likewise.
12816
12817 * command/blocklist.c (read_blocklist): Likewise.
12818 (print_blocklist): Likewise.
12819
12820 2007-08-02 Marco Gerards <marco@gnu.org>
12821
12822 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
12823 `util/hostfs.c'.
12824
12825 * disk/host.c: New file.
12826
12827 * util/hostfs.c: Likewise.
12828
12829 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
12830 return `GRUB_ERR_BAD_FS'.
12831 * fs/sfs.c (grub_sfs_mount): Likewise.
12832 * fs/xfs.c (grub_xfs_mount): Likewise.
12833
12834 * include/grub/disk.h (enum grub_disk_dev_id): Add
12835 `GRUB_DISK_DEVICE_HOST_ID'.
12836
12837 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
12838
12839 2007-07-24 Jerone Young <jerone@gmail.com>
12840
12841 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
12842 modules for compilation.
12843 * conf/powerpc-ieee1275.rmk: Likewise.
12844
12845 * include/multiboot.h: Move multiboot definitions to one file. Rename
12846 many definitions to not get grub specific.
12847 * include/multiboot2.h: Create header with multiboot 2 definitions.
12848 * include/grub/multiboot.h: Header for grub specific function
12849 prototypes and definitions.
12850 * include/grub/multiboot2.h: Likewise.
12851 * include/grub/multiboot_loader.h: Likewise.
12852 * include/grub/i386/pc/multiboot.h: Removed.
12853 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
12854
12855 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
12856 and 2 to allow for one multiboot and module commands.
12857 * loader/multiboot2.c: Add multiboot2 functionality.
12858 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
12859 and definition names.
12860 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
12861 2 functions.
12862 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
12863 ieee1275 specific multiboot2 code.
12864
12865 * kern/i386/pc/startup.S: Change headers and definition names for
12866 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
12867
12868 2007-07-22 Robert Millan <rmh@aybabtu.com>
12869
12870 * geninitheader.sh: Process file specified in first parameter rather
12871 than hardcoding grub_modules_init.lst.
12872 * geninit.sh: Likewise. Also, construct header name dynamically rather
12873 than hardcoding grub_modules_init.h.
12874
12875 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
12876 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
12877 grub_probe_init.[ch] and grub_setup_init.[ch].
12878
12879 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
12880 grub_modules_init.h with grub_emu_init.h.
12881 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
12882 grub_probe_init.[ch] files.
12883 * conf/i386-efi.rmk: Likewise.
12884 * conf/i386-pc.rmk: Likewise.
12885 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
12886 grub_setup_init.[ch] files.
12887
12888 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
12889 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
12890 to initialize modules rather than a list of hardcoded functions.
12891 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
12892 grub_init_all() to initialize modules rather than a list of hardcoded
12893 functions.
12894
12895 2007-07-22 Robert Millan <rmh@aybabtu.com>
12896
12897 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12898 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
12899
12900 2007-07-22 Robert Millan <rmh@aybabtu.com>
12901
12902 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12903 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
12904 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
12905 flag when running on SmartFirmware.
12906 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
12907 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
12908 was set.
12909
12910 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12911 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
12912 rather than decreasing it.
12913
12914 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
12915 there's not enough space to do it, fail in the same way as when it
12916 can't be done because there are no partitions.
12917
12918 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
12919 when nvsetenv failed.
12920
12921 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12922
12923 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
12924 because this rule is automatically generated.
12925 (grub-mkrescue): Removed for the same reason as above.
12926
12927 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12928
12929 Migrate to GNU General Public License Version 3.
12930
12931 * COPYING: Replaced with the plain text version of GPLv3.
12932
12933 * config.guess: Updated from gnulib.
12934 * config.sub: Likewise.
12935
12936 * geninit.sh: Output a GPLv3 copyright notice.
12937 * geninitheader.sh: Likewise.
12938 * genmodsrc.sh: Likewise.
12939 * gensymlist.sh.in: Likewise.
12940
12941 * boot/i386/pc/boot.S: Upgraded to GPLv3.
12942 * boot/i386/pc/diskboot.S: Likewise.
12943 * boot/i386/pc/pxeboot.S: Likewise.
12944 * commands/blocklist.c: Likewise.
12945 * commands/boot.c: Likewise.
12946 * commands/cat.c: Likewise.
12947 * commands/cmp.c: Likewise.
12948 * commands/configfile.c: Likewise.
12949 * commands/echo.c: Likewise.
12950 * commands/help.c: Likewise.
12951 * commands/ls.c: Likewise.
12952 * commands/search.c: Likewise.
12953 * commands/terminal.c: Likewise.
12954 * commands/test.c: Likewise.
12955 * commands/videotest.c: Likewise.
12956 * commands/i386/cpuid.c: Likewise.
12957 * commands/i386/pc/halt.c: Likewise.
12958 * commands/i386/pc/play.c: Likewise.
12959 * commands/i386/pc/reboot.c: Likewise.
12960 * commands/i386/pc/vbeinfo.c: Likewise.
12961 * commands/i386/pc/vbetest.c: Likewise.
12962 * commands/ieee1275/halt.c: Likewise.
12963 * commands/ieee1275/reboot.c: Likewise.
12964 * commands/ieee1275/suspend.c: Likewise.
12965 * disk/loopback.c: Likewise.
12966 * disk/lvm.c: Likewise.
12967 * disk/raid.c: Likewise.
12968 * disk/efi/efidisk.c: Likewise.
12969 * disk/i386/pc/biosdisk.c: Likewise.
12970 * disk/ieee1275/ofdisk.c: Likewise.
12971 * font/manager.c: Likewise.
12972 * fs/affs.c: Likewise.
12973 * fs/ext2.c: Likewise.
12974 * fs/fat.c: Likewise.
12975 * fs/fshelp.c: Likewise.
12976 * fs/hfs.c: Likewise.
12977 * fs/hfsplus.c: Likewise.
12978 * fs/iso9660.c: Likewise.
12979 * fs/jfs.c: Likewise.
12980 * fs/minix.c: Likewise.
12981 * fs/sfs.c: Likewise.
12982 * fs/ufs.c: Likewise.
12983 * fs/xfs.c: Likewise.
12984 * hello/hello.c: Likewise.
12985 * include/grub/acorn_filecore.h: Likewise.
12986 * include/grub/arg.h: Likewise.
12987 * include/grub/bitmap.h: Likewise.
12988 * include/grub/boot.h: Likewise.
12989 * include/grub/cache.h: Likewise.
12990 * include/grub/device.h: Likewise.
12991 * include/grub/disk.h: Likewise.
12992 * include/grub/dl.h: Likewise.
12993 * include/grub/elfload.h: Likewise.
12994 * include/grub/env.h: Likewise.
12995 * include/grub/err.h: Likewise.
12996 * include/grub/file.h: Likewise.
12997 * include/grub/font.h: Likewise.
12998 * include/grub/fs.h: Likewise.
12999 * include/grub/fshelp.h: Likewise.
13000 * include/grub/gzio.h: Likewise.
13001 * include/grub/hfs.h: Likewise.
13002 * include/grub/kernel.h: Likewise.
13003 * include/grub/loader.h: Likewise.
13004 * include/grub/lvm.h: Likewise.
13005 * include/grub/misc.h: Likewise.
13006 * include/grub/mm.h: Likewise.
13007 * include/grub/net.h: Likewise.
13008 * include/grub/normal.h: Likewise.
13009 * include/grub/parser.h: Likewise.
13010 * include/grub/partition.h: Likewise.
13011 * include/grub/pc_partition.h: Likewise.
13012 * include/grub/raid.h: Likewise.
13013 * include/grub/rescue.h: Likewise.
13014 * include/grub/script.h: Likewise.
13015 * include/grub/setjmp.h: Likewise.
13016 * include/grub/symbol.h: Likewise.
13017 * include/grub/term.h: Likewise.
13018 * include/grub/terminfo.h: Likewise.
13019 * include/grub/tparm.h: Likewise.
13020 * include/grub/types.h: Likewise.
13021 * include/grub/video.h: Likewise.
13022 * include/grub/efi/api.h: Likewise.
13023 * include/grub/efi/chainloader.h: Likewise.
13024 * include/grub/efi/console.h: Likewise.
13025 * include/grub/efi/console_control.h: Likewise.
13026 * include/grub/efi/disk.h: Likewise.
13027 * include/grub/efi/efi.h: Likewise.
13028 * include/grub/efi/pe32.h: Likewise.
13029 * include/grub/efi/time.h: Likewise.
13030 * include/grub/i386/linux.h: Likewise.
13031 * include/grub/i386/setjmp.h: Likewise.
13032 * include/grub/i386/types.h: Likewise.
13033 * include/grub/i386/efi/kernel.h: Likewise.
13034 * include/grub/i386/efi/loader.h: Likewise.
13035 * include/grub/i386/efi/time.h: Likewise.
13036 * include/grub/i386/pc/biosdisk.h: Likewise.
13037 * include/grub/i386/pc/boot.h: Likewise.
13038 * include/grub/i386/pc/chainloader.h: Likewise.
13039 * include/grub/i386/pc/console.h: Likewise.
13040 * include/grub/i386/pc/init.h: Likewise.
13041 * include/grub/i386/pc/kernel.h: Likewise.
13042 * include/grub/i386/pc/loader.h: Likewise.
13043 * include/grub/i386/pc/memory.h: Likewise.
13044 * include/grub/i386/pc/multiboot.h: Likewise.
13045 * include/grub/i386/pc/serial.h: Likewise.
13046 * include/grub/i386/pc/time.h: Likewise.
13047 * include/grub/i386/pc/vbe.h: Likewise.
13048 * include/grub/i386/pc/vbeblit.h: Likewise.
13049 * include/grub/i386/pc/vbefill.h: Likewise.
13050 * include/grub/i386/pc/vbeutil.h: Likewise.
13051 * include/grub/i386/pc/vga.h: Likewise.
13052 * include/grub/ieee1275/ieee1275.h: Likewise.
13053 * include/grub/ieee1275/ofdisk.h: Likewise.
13054 * include/grub/powerpc/libgcc.h: Likewise.
13055 * include/grub/powerpc/setjmp.h: Likewise.
13056 * include/grub/powerpc/types.h: Likewise.
13057 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13058 * include/grub/powerpc/ieee1275/console.h: Likewise.
13059 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13060 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13061 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13062 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13063 * include/grub/powerpc/ieee1275/time.h: Likewise.
13064 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13065 * include/grub/sparc64/libgcc.h: Likewise.
13066 * include/grub/sparc64/setjmp.h: Likewise.
13067 * include/grub/sparc64/types.h: Likewise.
13068 * include/grub/sparc64/ieee1275/console.h: Likewise.
13069 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13070 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13071 * include/grub/sparc64/ieee1275/time.h: Likewise.
13072 * include/grub/util/biosdisk.h: Likewise.
13073 * include/grub/util/getroot.h: Likewise.
13074 * include/grub/util/lvm.h: Likewise.
13075 * include/grub/util/misc.h: Likewise.
13076 * include/grub/util/raid.h: Likewise.
13077 * include/grub/util/resolve.h: Likewise.
13078 * io/gzio.c: Likewise.
13079 * kern/device.c: Likewise.
13080 * kern/disk.c: Likewise.
13081 * kern/dl.c: Likewise.
13082 * kern/elf.c: Likewise.
13083 * kern/env.c: Likewise.
13084 * kern/err.c: Likewise.
13085 * kern/file.c: Likewise.
13086 * kern/fs.c: Likewise.
13087 * kern/loader.c: Likewise.
13088 * kern/main.c: Likewise.
13089 * kern/misc.c: Likewise.
13090 * kern/mm.c: Likewise.
13091 * kern/parser.c: Likewise.
13092 * kern/partition.c: Likewise.
13093 * kern/rescue.c: Likewise.
13094 * kern/term.c: Likewise.
13095 * kern/efi/efi.c: Likewise.
13096 * kern/efi/init.c: Likewise.
13097 * kern/efi/mm.c: Likewise.
13098 * kern/i386/dl.c: Likewise.
13099 * kern/i386/efi/init.c: Likewise.
13100 * kern/i386/efi/startup.S: Likewise.
13101 * kern/i386/pc/init.c: Likewise.
13102 * kern/i386/pc/lzo1x.S: Likewise.
13103 * kern/i386/pc/startup.S: Likewise.
13104 * kern/ieee1275/ieee1275.c: Likewise.
13105 * kern/powerpc/cache.S: Likewise.
13106 * kern/powerpc/dl.c: Likewise.
13107 * kern/powerpc/ieee1275/cmain.c: Likewise.
13108 * kern/powerpc/ieee1275/crt0.S: Likewise.
13109 * kern/powerpc/ieee1275/init.c: Likewise.
13110 * kern/powerpc/ieee1275/openfw.c: Likewise.
13111 * kern/sparc64/cache.S: Likewise.
13112 * kern/sparc64/dl.c: Likewise.
13113 * kern/sparc64/ieee1275/init.c: Likewise.
13114 * kern/sparc64/ieee1275/openfw.c: Likewise.
13115 * loader/efi/chainloader.c: Likewise.
13116 * loader/efi/chainloader_normal.c: Likewise.
13117 * loader/i386/efi/linux.c: Likewise.
13118 * loader/i386/efi/linux_normal.c: Likewise.
13119 * loader/i386/pc/chainloader.c: Likewise.
13120 * loader/i386/pc/chainloader_normal.c: Likewise.
13121 * loader/i386/pc/linux.c: Likewise.
13122 * loader/i386/pc/linux_normal.c: Likewise.
13123 * loader/i386/pc/multiboot.c: Likewise.
13124 * loader/i386/pc/multiboot_normal.c: Likewise.
13125 * loader/powerpc/ieee1275/linux.c: Likewise.
13126 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13127 * normal/arg.c: Likewise.
13128 * normal/cmdline.c: Likewise.
13129 * normal/command.c: Likewise.
13130 * normal/completion.c: Likewise.
13131 * normal/execute.c: Likewise.
13132 * normal/function.c: Likewise.
13133 * normal/lexer.c: Likewise.
13134 * normal/main.c: Likewise.
13135 * normal/menu.c: Likewise.
13136 * normal/menu_entry.c: Likewise.
13137 * normal/misc.c: Likewise.
13138 * normal/parser.y: Likewise.
13139 * normal/script.c: Likewise.
13140 * normal/i386/setjmp.S: Likewise.
13141 * normal/powerpc/setjmp.S: Likewise.
13142 * normal/sparc64/setjmp.S: Likewise.
13143 * partmap/acorn.c: Likewise.
13144 * partmap/amiga.c: Likewise.
13145 * partmap/apple.c: Likewise.
13146 * partmap/gpt.c: Likewise.
13147 * partmap/pc.c: Likewise.
13148 * partmap/sun.c: Likewise.
13149 * term/gfxterm.c: Likewise.
13150 * term/terminfo.c: Likewise.
13151 * term/efi/console.c: Likewise.
13152 * term/i386/pc/console.c: Likewise.
13153 * term/i386/pc/serial.c: Likewise.
13154 * term/i386/pc/vesafb.c: Likewise.
13155 * term/i386/pc/vga.c: Likewise.
13156 * term/ieee1275/ofconsole.c: Likewise.
13157 * util/biosdisk.c: Likewise.
13158 * util/console.c: Likewise.
13159 * util/genmoddep.c: Likewise.
13160 * util/getroot.c: Likewise.
13161 * util/grub-emu.c: Likewise.
13162 * util/grub-mkdevicemap.c: Likewise.
13163 * util/grub-probe.c: Likewise.
13164 * util/lvm.c: Likewise.
13165 * util/misc.c: Likewise.
13166 * util/raid.c: Likewise.
13167 * util/resolve.c: Likewise.
13168 * util/update-grub.in: Likewise.
13169 * util/update-grub_lib.in: Likewise.
13170 * util/grub.d/00_header.in: Likewise.
13171 * util/grub.d/10_hurd.in: Likewise.
13172 * util/grub.d/10_linux.in: Likewise.
13173 * util/i386/efi/grub-install.in: Likewise.
13174 * util/i386/efi/grub-mkimage.c: Likewise.
13175 * util/i386/pc/grub-install.in: Likewise.
13176 * util/i386/pc/grub-mkimage.c: Likewise.
13177 * util/i386/pc/grub-mkrescue.in: Likewise.
13178 * util/i386/pc/grub-setup.c: Likewise.
13179 * util/i386/pc/misc.c: Likewise.
13180 * util/powerpc/ieee1275/grub-install.in: Likewise.
13181 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
13182 * util/powerpc/ieee1275/misc.c: Likewise.
13183 * video/bitmap.c: Likewise.
13184 * video/video.c: Likewise.
13185 * video/i386/pc/vbe.c: Likewise.
13186 * video/i386/pc/vbeblit.c: Likewise.
13187 * video/i386/pc/vbefill.c: Likewise.
13188 * video/i386/pc/vbeutil.c: Likewise.
13189 * video/readers/tga.c: Likewise.
13190
13191 2007-07-02 Robert Millan <rmh@aybabtu.com>
13192
13193 * conf/i386-efi.rmk: Replace obsolete reference to
13194 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
13195 with util/getroot.c.
13196 * conf/powerpc-ieee1275.rmk: Likewise.
13197 * conf/sparc64-ieee1275.rmk: Likewise.
13198
13199 * util/grub-emu.c (main): Fix unchecked pointer handling.
13200
13201 2007-07-02 Robert Millan <rmh@aybabtu.com>
13202
13203 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
13204 invocation to fail, in order to support partition-less media.
13205
13206 * util/i386/pc/grub-install.in: Likewise.
13207
13208 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
13209 which fs or partmap modules are needed (akin to its sister scripts).
13210
13211 Also use grub-probe to get rid of unportable /proc/mounts check.
13212
13213 Print the same informational message that the other scripts do, before
13214 exiting.
13215
13216 2007-06-23 Robert Millan <rmh@aybabtu.com>
13217
13218 * util/update-grub_lib.in (font_path): New function. Determine whether
13219 a font file can be found and, if so, echo the GRUB path to it.
13220
13221 * util/update-grub.in: Handle multiple terminals depending on user
13222 input, platform availability and font file presence. Propagate
13223 variables of our findings to /etc/grub.d/ children.
13224
13225 * util/grub.d/00_header.in: Handle multiple terminals, based on
13226 environment setup by update-grub.
13227
13228 2007-06-23 Robert Millan <rmh@aybabtu.com>
13229
13230 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
13231
13232 2007-06-21 Robert Millan <rmh@aybabtu.com>
13233
13234 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
13235 indicate end of data section in kernel image.
13236 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
13237 GRUB_KERNEL_MACHINE_DATA_END.
13238
13239 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
13240 space for it.
13241 * kern/i386/efi/startup.S: Likewise.
13242
13243 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
13244 during image generation. Implement --prefix option to override this
13245 patch.
13246 * util/i386/efi/grub-mkimage.c: Likewise.
13247
13248 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
13249 code to make path relative to its root into a separate function.
13250
13251 * util/i386/pc/grub-install.in: Use newly provided
13252 make_system_path_relative_to_its_root() to convert ${grubdir}, then
13253 pass the result to grub-install --prefix.
13254
13255 2007-06-13 Robert Millan <rmh@aybabtu.com>
13256
13257 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
13258 DEFAULT_DEVICE_MAP.
13259 * util/grub-emu.c: Use above definitions from misc.h instead of
13260 defining them.
13261 * util/grub-mkdevicemap.c: Likewise.
13262 * util/i386/pc/grub-setup.c: Likewise.
13263 * util/grub-probe.c: Likewise.
13264 (probe): Abort with grub_util_error() when either
13265 grub_guess_root_device or grub_util_get_grub_dev fails.
13266
13267 2007-06-12 Robert Millan <rmh@aybabtu.com>
13268
13269 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
13270 "pager" assignment.
13271 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
13272 "pcdata".
13273 * util/grub-probe.c (probe): Likewise for "drive_name".
13274
13275 2007-06-11 Robert Millan <rmh@aybabtu.com>
13276
13277 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
13278 not just the cdrom one.
13279
13280 2007-06-11 Robert Millan <rmh@aybabtu.com>
13281
13282 * util/i386/pc/grub-mkrescue.in: Add "set -e".
13283 Add --pkglibdir=DIR option to override pkglibdir.
13284 Mention --image-type=TYPE in help output.
13285 Fix --grub-mkimage (it was a no-op).
13286 Abort gracefully when no parameter is given.
13287
13288 2007-06-11 Robert Millan <rmh@aybabtu.com>
13289
13290 * util/i386/pc/grub-mkrescue.in: New file.
13291 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
13292 * Makefile.in: Handle bin_SCRIPTS.
13293
13294 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
13295
13296 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
13297 list of video modes.
13298
13299 2007-06-06 Robert Millan <rmh@aybabtu.com>
13300
13301 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
13302 file doesn't exist, or if it is in a filesystem grub can't read.
13303
13304 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
13305 not abort if GRUB_DRIVE could not be defined. Rearrange generated
13306 header comment to fit in 80 columns when the variables are resolved.
13307
13308 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
13309 could be identified by update-grub. Remove redundant check for
13310 unifont.pff existence (since convert_system_path_to_grub_path now
13311 handles that).
13312
13313 2007-06-04 Robert Millan <rmh@aybabtu.com>
13314
13315 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
13316
13317 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
13318
13319 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
13320
13321 2007-06-04 Robert Millan <rmh@aybabtu.com>
13322
13323 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
13324
13325 * include/grub/partition.h: Declare grub_apple_partition_map_init and
13326 grub_apple_partition_map_fini.
13327
13328 * util/biosdisk.c
13329 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
13330 to access >2 TiB disks).
13331
13332 Print disk->total_sectors with %llu instead of %lu, since this
13333 variable is always 64-bit (prevents wrong disk size from being displayed
13334 on either >2 TiB disk or big-endian CPU).
13335
13336 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
13337 into a generic case that supports all (sane) partition maps.
13338
13339 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
13340 breaks big-endian.
13341
13342 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
13343 and grub_apple_partition_map_fini() after that.
13344
13345 2007-06-01 Robert Millan <rmh@aybabtu.com>
13346
13347 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
13348
13349 * util/grub.d/00_header.in: Only enable gfxterm when
13350 convert_system_path_to_grub_path() succeeds.
13351
13352 2007-05-20 Robert Millan <rmh@aybabtu.com>
13353
13354 * util/update-grub_lib.in: New file.
13355 * DISTLIST: Add update-grub_lib.in.
13356 * conf/common.rmk: Generate update-grub_lib and install it in
13357 $(lib_DATA).
13358 * Makefile.in: Add install routine for $(lib_DATA).
13359
13360 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
13361 function provided by update-grub_lib to support arbitrary paths of
13362 unifont.pff.
13363 * util/update-grub.in: Use convert_system_path_to_grub_path() to
13364 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
13365
13366 2007-05-19 Robert Millan <rmh@aybabtu.com>
13367
13368 * commands/i386/cpuid.c: New module.
13369 * DISTLIST: Add it.
13370 * conf/i386-efi.rmk: Enable cpuid.mod.
13371 * conf/i386-pc.rmk: Likewise.
13372
13373 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13374
13375 * kern/disk.c (grub_disk_read): Check return value of
13376 grub_realloc().
13377
13378 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13379
13380 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
13381 arrays.
13382 * disk/raid.c (grub_raid_open): Likewise.
13383
13384 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13385
13386 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
13387 stack instead of on the heap.
13388
13389 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
13390 before doing a read on it.
13391
13392 * configure.ac: Only use -fno-stack-protector for the target
13393 environment.
13394
13395 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13396
13397 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
13398 __attribute_ ((unused)) to mode_type argument.
13399
13400 * util/getroot.c (grub_guess_root_device): Fix #endif.
13401
13402 * kern/misc.c (memcmp): Fix prototype.
13403
13404 * include/grub/partition.h [GRUB_UTIL]
13405 (grub_gpt_partition_map_init): Add prototype.
13406 (grub_gpt_partition_map_fini): Likewise.
13407
13408 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
13409 at the right place.
13410
13411 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
13412 (grub_fat_read_data): Likewise.
13413 (grub_fat_find_dir): Likewise.
13414
13415 * font/manager.c (find_glyph): Make table a const.
13416 (grub_font_get_glyph): Remove bitmap from if statement.
13417
13418 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
13419
13420 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
13421 code, first search for device in /dev/mapper, then in /dev.
13422 (grub_util_get_grub_dev): New function.
13423 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
13424 prototype.
13425 * util/grub-probe.c (probe): Remove check for RAID, call
13426 grub_util_get_grub_dev() instead of
13427 grub_util_biosdisk_get_grub_dev().
13428 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
13429 grub_util_biosdisk_get_grub_dev().
13430 * util/i386/pc/grub-setup.c (main): Likewise.
13431
13432 2007-05-16 Robert Millan <rmh@aybabtu.com>
13433
13434 * DISTLIST: Update for the latest changes.
13435 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
13436 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
13437 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
13438 grub/util/biosdisk.h.
13439 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
13440 grub/util/biosdisk.h.
13441
13442 2007-05-16 Robert Millan <rmh@aybabtu.com>
13443
13444 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
13445
13446 2007-05-16 Robert Millan <rmh@aybabtu.com>
13447
13448 * util/i386/efi/grub-install.in: New.
13449 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
13450 newly added grub-install.
13451 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
13452 include.
13453 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
13454 grub/util/biosdisk.h.
13455 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
13456 grub/util/biosdisk.h.
13457
13458 2007-05-16 Robert Millan <rmh@aybabtu.com>
13459
13460 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
13461 * include/grub/util/biosdisk.h: ... here.
13462 * util/i386/pc/biosdisk.c: Moved to ...
13463 * util/biosdisk.c: ... here.
13464 * util/i386/pc/getroot.c: Moved to ...
13465 * util/getroot.c: ... here.
13466 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
13467 * util/grub-mkdevicemap.c: ... here.
13468 * util/i386/pc/grub-probe.c: Moved to ...
13469 * util/grub-probe.c: ... here.
13470
13471 2007-05-15 Robert Millan <rmh@aybabtu.com>
13472
13473 * util/update-grub.in: Remove duplicated line in grub.cfg header
13474 message.
13475
13476 2007-05-13 Robert Millan <rmh@aybabtu.com>
13477
13478 * util/update-grub.in: Fix a few assumptions about the devices holding
13479 /, /boot and /boot/grub being the same.
13480 * util/grub.d/00_header.in: Likewise.
13481 * util/grub.d/10_hurd.in: Likewise.
13482 * util/grub.d/10_linux.in: Likewise.
13483
13484 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
13485 patterns. Use that to define the `.old' suffix as older than `'.
13486
13487 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
13488
13489 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
13490 the grub.cfg header message.
13491
13492 2007-05-11 Robert Millan <rmh@aybabtu.com>
13493
13494 * util/update-grub.in: Create device.map if it doesn't already exist,
13495 before attempting to run grub-probe.
13496 Check for grub-probe and grub-mkdevicemap with the same code
13497 grub-install is using.
13498 Remove test mode.
13499
13500 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
13501
13502 * Makefile.in: Add the datarootdir autoconf variable.
13503
13504 2007-05-09 Robert Millan <rmh@aybabtu.com>
13505
13506 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
13507 fail gracefully if dev->disk->partition == NULL.
13508
13509 2007-05-07 Robert Millan <rmh@aybabtu.com>
13510
13511 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
13512 determine partition map module.
13513 * util/i386/pc/grub-install.in: Use this feature to decide which
13514 partition module to load, instead of hardcoding pc and gpt.
13515
13516 2007-05-07 Robert Millan <rmh@aybabtu.com>
13517
13518 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
13519 source directory differs from build directory.
13520
13521 2007-05-05 Robert Millan <rmh@aybabtu.com>
13522
13523 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
13524 initialisation.
13525
13526 2007-05-05 Robert Millan <rmh@aybabtu.com>
13527
13528 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
13529
13530 2007-05-05 Robert Millan <rmh@aybabtu.com>
13531
13532 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
13533 command-line arguments via ${GRUB_CMDLINE_LINUX}.
13534
13535 2007-05-05 Robert Millan <rmh@aybabtu.com>
13536
13537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
13538 (grub_probe_SOURCES): Likewise.
13539 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
13540 GPT and initialize dos_part and bsd_part accordingly.
13541 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
13542 install_bsd_part.
13543 (main): Activate gpt module for use during partition identification,
13544 and deactivate it afterwards.
13545 * util/i386/pc/grub-install.in: Add gpt module to core.img.
13546 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
13547 partition identification, and deactivate it afterwards.
13548
13549 2007-05-05 Robert Millan <rmh@aybabtu.com>
13550
13551 * term/i386/pc/console.c (grub_console_fini): Call
13552 grub_term_set_current() before grub_term_unregister().
13553
13554 2007-05-04 Robert Millan <rmh@aybabtu.com>
13555
13556 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
13557 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
13558 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
13559 and update-grub_DATA.
13560 * conf/common.rmk: Build and install update-grub components.
13561 * conf/common.mk: Regenerate.
13562 * util/update-grub.in: New. Core of update-grub.
13563 * util/grub.d/00_header.in: New. Generates grub.cfg header.
13564 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
13565 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
13566 * util/grub.d/README: New. Document grub.d directory layout.
13567
13568 2007-05-01 Robert Millan <rmh@aybabtu.com>
13569
13570 * util/grub-emu.c: Move initialization functions
13571 grub_util_biosdisk_init() and grub_init_all() before
13572 grub_util_biosdisk_get_grub_dev(), which relies on them.
13573
13574 2007-04-19 Robert Millan <rmh@aybabtu.com>
13575
13576 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
13577 it is used later.
13578
13579 2007-04-18 Jerone Young <jerone@gmail.com>
13580
13581 * kernel/elf.c: Add missing parenthesis for conditional statement
13582 stanza.
13583
13584 2007-04-10 Jerone Young <jerone@gmail.com>
13585
13586 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
13587 continue on and look for device node with real device name.
13588
13589 2007-04-10 Jerone Young <jerone@gmail.com>
13590
13591 * configure.ac: Add argument for autoconf to use transformation
13592 ability.
13593 * Makefile.in: Add autoconf package transformation code.
13594 * util/i386/pc/grub-install.in: Likewise.
13595 * util/powerpc/ieee1275/grub-install.in: Likewise.
13596
13597 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
13598
13599 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
13600 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
13601 (EXT2_REVISION): Likewise.
13602 (EXT2_INODE_SIZE): Likewise.
13603 (struct grub_ext2_block_group): Added a missing member
13604 "used_dirs".
13605 (grub_ext2_read_inode): Divide by the inode size in a superblock
13606 instead of 128 to obtain INODES_PER_BLOCK.
13607 Use the macro EXT2_INODE_SIZE instead of directly using
13608 SBLOCK->INODE_SIZE.
13609
13610 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
13611
13612 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
13613 superblock instead of the structure size to compute an
13614 offset. This fixes the problem that GRUB could not read a
13615 filesystem when inode size is different from 128-byte.
13616
13617 2007-03-05 Marco Gerards <marco@gnu.org>
13618
13619 * normal/main.c (read_config_file): When "menu" is not set, create
13620 an initial context.
13621
13622 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13623
13624 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
13625 (HEAP_LIMIT): New macro.
13626 (grub_claim_heap): Claim memory up to `heaplimit'.
13627
13628 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13629
13630 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
13631 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
13632 (_start): Likewise.
13633 (grub_arch_modules_addr): Return address after `_end'.
13634 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
13635 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
13636 (add_segments): Calculate `_end' from phdr size and location.
13637 (ALIGN_UP): Moved to ...
13638 * include/grub/misc.h: here.
13639 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13640 New macro.
13641 (GRUB_IEEE1275_MODULE_BASE): Removed.
13642
13643 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13644
13645 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
13646 loop boundary.
13647
13648 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13649
13650 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
13651 All users updated.
13652 (grub_elf64_load_hook_t): Likewise.
13653 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
13654 debug output.
13655
13656 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13657
13658 * kern/mm.c: Update copyright.
13659 (grub_mm_debug): Correct syntax error.
13660 (grub_mm_dump_free): New function.
13661 (grub_debug_free): Call `grub_free'.
13662 * include/grub/mm.h: Update copyright.
13663 (grub_mm_dump_free): Add declaration.
13664
13665 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13666
13667 * include/grub/ieee1275/ieee1275.h: Update copyright.
13668 * kern/powerpc/ieee1275/init.c: Likewise.
13669 * kern/powerpc/ieee1275/openfw.c: Likewise.
13670
13671 * loader/powerpc/ieee1275/linux.c: Likewise.
13672 * include/grub/elfload.h: Likewise.
13673 * kern/elf.c: Likewise.
13674 (grub_elf32_load): Pass `base' and `size' parameters. Update all
13675 callers.
13676 (grub_elf64_load): Likewise.
13677 (grub_elf32_load_segment): Move to a nested function.
13678 (grub_elf64_load_segment): Likewise.
13679
13680 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13681
13682 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
13683 prototype.
13684 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
13685 (grub_heap_len): Likewise.
13686 (HEAP_SIZE): New macro.
13687 (grub_claim_heap): New function.
13688 (grub_machine_init): Don't claim heap directly. Call
13689 `grub_claim_heap'.
13690 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
13691 (grub_available_iterate): New function.
13692
13693 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
13694
13695 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
13696 * configure.ac: Use it for testing the HOST and TARGET compilers.
13697
13698 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
13699
13700 * Makefile.in (enable_grub_emu): New variable.
13701 * configure.ac (--enable-grub-emu): New option.
13702 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
13703 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
13704 * conf/i386-pc.rmk: Likewise.
13705 * conf/powerpc-ieee1275.rmk: Likewise.
13706 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
13707
13708 2006-12-12 Marco Gerards <marco@gnu.org>
13709
13710 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
13711
13712 * kern/env.c (grub_env_unset): Don't free the member `value' when
13713 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
13714 pointer.
13715
13716 * normal/main.c (current_menu): Removed.
13717 (free_menu): Unset the `menu' environment variable.
13718 (grub_normal_menu_addentry): Make use of the environment variable
13719 `menu', instead of using the global `current_menu'. Allocate
13720 memory for the sourcecode of this entry.
13721 (read_config_file): New argument `nested', changed all callers.
13722 Only in the case of a new context, initialize a new menu. Set the
13723 `menu' environment variable.
13724 (grub_normal_execute): Don't set and unset the environment
13725 variable `menu' here anymore. Only free the menu when leaving the
13726 context.
13727
13728 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
13729 leak.
13730
13731 2006-12-11 Marco Gerards <marco@gnu.org>
13732
13733 * normal/menu_entry.c (run): Fix off by one bug so the last line
13734 is executed. Move the loader check to outside the loop.
13735
13736 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
13737
13738 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
13739
13740 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
13741
13742 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
13743 the number of sectors. Reported by Andrey Shuvikov
13744 <mr_hyro@yahoo.com>.
13745
13746 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
13747
13748 * kern/disk.c (grub_disk_read): When there is a read error, always
13749 try to read only the necessary data.
13750
13751 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
13752 disk/raid.c.
13753 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
13754 prototype.
13755 [GRUB_UTIL] (grub_raid_fini): Likewise.
13756 [GRUB_UTIL] (grub_lvm_init): Likewise.
13757 [GRUB_UTIL] (grub_lvm_fini): Likewise.
13758 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
13759 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
13760 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
13761 and grub_raid_fini().
13762
13763 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
13764
13765 * include/grub/types.h (__unused): Rename to UNUSED.
13766 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
13767 (grub_elf64_size): Likewise.
13768
13769 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13770
13771 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
13772 grub_error_push and grub_error_pop in the error-handling path.
13773 (grub_elf32_load_segment): Only call grub_file_read with non-zero
13774 length.
13775
13776 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13777
13778 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
13779 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13781 (kernel_elf_SOURCES): Likewise.
13782 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
13783 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
13784 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13785 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13786 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
13787 (elf_mod_SOURCES): New variable.
13788 (elf_mod_CFLAGS): Likewise.
13789 (elf_mod_LDFLAGS): Likewise.
13790 * include/grub/types.h (__unused): New macro.
13791 * include/grub/elfload.h: New file.
13792 * kern/elf.c: Likewise.
13793 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
13794 (ELF32_LOADMASK): New macro.
13795 (ELF64_LOADMASK): Likewise.
13796 (vmlinux): Removed.
13797 (grub_linux_load32): New function.
13798 (grub_linux_load64): Likewise.
13799 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
13800 Use grub_elf_t instead of grub_file_t.
13801
13802 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
13803
13804 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
13805 `catch_result' to struct set_color_args.
13806
13807 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
13808
13809 * normal/menu.c: Include grub/script.h.
13810 * normal/menu_entry.c: Likewise.
13811 * include/grub/normal.h: Do not include grub/script.h.
13812
13813 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13814
13815 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
13816
13817 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13818
13819 * kern/disk.c (grub_disk_open): Print debug messages when opening a
13820 disk.
13821 (grub_disk_close): Print debug messages when closing a disk.
13822 (grub_disk_read): Print debug messages when disk read fails.
13823 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
13824 filesystem type.
13825 * kern/partition.c: Include misc.h.
13826 (grub_partition_iterate): Print debug messages when detecting
13827 partition type.
13828
13829 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13830
13831 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
13832 is negative.
13833 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
13834
13835 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
13836
13837 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13838 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
13839
13840 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
13841
13842 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
13843 instead of sizeof(lv). Patch by Michael Guntsche.
13844
13845 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
13846
13847 * disk/lvm.c: Rename VGS to VG_LIST.
13848 (grub_lvm_iterate): Change VGS->LV to VG-LV.
13849 (grub_lvm_open): Likewise.
13850 Thanks to Michael Guntsche for finding this bug.
13851
13852 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
13853
13854 * configure.ac (AC_INIT): Bumped to 1.95.
13855
13856 2006-10-14 Robert Millan <rmh@aybabtu.com>
13857
13858 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
13859 with "/dev/.static/dev/md".
13860
13861 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13862
13863 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
13864 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
13865 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
13866 DRIVE_NAME are always freed.
13867
13868 * util/i386/pc/biosdisk.c (make_device_name): Add one into
13869 DOS_PART, as a DOS partition is counted from one instead of zero
13870 now. Reported by Robert Millan.
13871
13872 2006-10-14 Robert Millan <rmh@aybabtu.com>
13873
13874 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
13875 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
13876 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
13877 string returned by grub_guess_root_device.
13878 * util/i386/pc/grub-setup.c: Likewise.
13879 * util/i386/pc/grub-probefs.c: Likewise.
13880
13881 * util/i386/pc/grub-probefs.c: Rename to ...
13882 * util/i386/pc/grub-probe.c: ... this.
13883 * DISTLIST: Remove grub-probefs, add grub-probe.
13884 * conf/i386-efi.rmk: Likewise.
13885 * conf/i386-pc.rmk: Likewise.
13886 * util/i386/pc/grub-install.in: Likewise.
13887
13888 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
13889 choose which information we want to print.
13890
13891 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13892
13893 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
13894 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
13895 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
13896 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
13897 video/readers/tga.c and video/i386/pc/vbeutil.c.
13898
13899 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
13900
13901 Added support for RAID and LVM.
13902
13903 * disk/lvm.c: New file.
13904 * disk/raid.c: Likewise.
13905 * include/grub/lvm.h: Likewise.
13906 * include/grub/raid.h: Likewise.
13907 * include/grub/util/lvm.h: Likewise.
13908 * include/grub/util/raid.h: Likewise.
13909 * util/lvm.c: Likewise.
13910 * util/raid.c: Likewise.
13911
13912 * include/grub/disk.h (grub_disk_dev_id): Add
13913 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
13914 (grub_disk_get_size): New prototype.
13915 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
13916 returns a partition.
13917 (grub_disk_get_size): New function.
13918
13919 * kern/i386/pc/init.c (make_install_device): Copy the prefix
13920 verbatim if grub_install_dos_part is -2.
13921
13922 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
13923 and LVM devices.
13924
13925 * util/i386/pc/grub-setup.c (setup): New argument
13926 MUST_EMBED. Force embedding of GRUB when the argument is
13927 true. Close FILE before returning.
13928 (main): Add support for RAID and LVM.
13929
13930 * conf/common.rmk: Add RAID and LVM modules.
13931 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
13932 util/lvm.c.
13933 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
13934
13935 * kern/misc.c (grub_strstr): New function.
13936 * include/grub/misc.h (grub_strstr): New prototype.
13937
13938 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
13939
13940 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
13941
13942 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
13943
13944 * kern/misc.c (grub_strtoull): Guess the base only if not
13945 specified.
13946
13947 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
13948
13949 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
13950 PowerMac support.
13951
13952 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
13953
13954 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
13955
13956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
13957 Remove `flags' argument. All callers changed.
13958 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
13959 (IEEE1275_IHANDLE_INVALID): New variable.
13960 (IEEE1275_CELL_INVALID): New variable.
13961 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13962 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
13963 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
13964 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
13965 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
13966 codes from Open Firmware. All callers updated.
13967 (grub_ieee1275_next_property): Directly return Open Firmware return
13968 code.
13969 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13970 Standardize error checking from `grub_ieee1275_get_property'.
13971 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
13972 `devalias' to `aliases'. Correct comments. Consolidate error paths.
13973
13974 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
13975
13976 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
13977 `instance_to_package_args' to `instance_to_path_args'.
13978
13979 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
13980 `grub_ieee1275_chosen'.
13981
13982 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
13983 `grub_ieee1275_interpret'.
13984
13985 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
13986
13987 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
13988
13989 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
13990
13991 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
13992 (__cmpdi): Likewise.
13993
13994 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
13995 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
13996 `grub_ssize_t'.
13997
13998 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
13999
14000 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14001 to type `grub_ssize_t'.
14002 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14003
14004 2006-09-22 Marco Gerards <marco@gnu.org>
14005
14006 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14007 newlines.
14008
14009 2006-09-22 Marco Gerards <marco@gnu.org>
14010
14011 * commands/echo.c: New file.
14012
14013 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14014
14015 * conf/common.rmk (echo_mod_SOURCES): New variable.
14016 (echo_mod_CFLAGS): Likewise.
14017 (echo_mod_LDFLAGS): Likewise.
14018
14019 2006-09-22 Marco Gerards <marco@gnu.org>
14020
14021 * normal/main.c (get_line): Malloc memory instead of using
14022 preallocated memory. Removed the arguments `cmdline' and
14023 `max_len'. Updated all callers.
14024
14025 2006-09-22 Marco Gerards <marco@gnu.org>
14026
14027 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14028 (normal_mod_DEPENDENCIES): Likewise.
14029
14030 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14031 (normal_mod_DEPENDENCIES): Likewise.
14032
14033 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14034
14035 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
14036
14037 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14038 programs.
14039 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14040 (normal_mod_DEPENDENCIES): Likewise.
14041 * conf/i386-pc.mk: Regenerate.
14042 * conf/i386-efi.mk: Likewise
14043 * conf/common.mk: Likewise.
14044 * conf/powerpc-ieee1275.mk: Likewise.
14045 * conf/sparc64-ieee1275.mk: Likewise.
14046
14047 2006-09-22 Robert Millan <rmh@aybabtu.com>
14048
14049 Sync with i386 version.
14050 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14051 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14052
14053 2006-09-21 Robert Millan <rmh@aybabtu.com>
14054
14055 Import from GRUB Legacy (lib/device.c):
14056 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14057 (init_device_map) [__linux__]: Add support for I2O devices.
14058
14059 2006-09-14 Marco Gerards <marco@gnu.org>
14060
14061 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14062 `-melf_i386'.
14063
14064 2006-09-14 Robert Millan <rmh@aybabtu.com>
14065
14066 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14067 /boot/grub/*.lst.
14068
14069 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
14070
14071 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
14072 before adding it to device.map.
14073
14074 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
14075
14076 * genmk.rb: Let GCC generate dependencies the first time it
14077 compiles a file; using the -MD option.
14078 * conf/common.mk: Regenerate.
14079 * conf/i386-pc.mk: Likewise.
14080 * conf/i386-efi.mk: Likewise.
14081 * conf/powerpc-ieee1275.mk: Likewise.
14082 * conf/sparc64-ieee1275.mk: Likewise.
14083
14084 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
14085
14086 Move the prototypes of grub_setjmp and grub_longjmp to
14087 cpu/setjmp.h, so that each architecture may specify different
14088 attributes.
14089
14090 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
14091 (grub_longjmp): Likewise.
14092 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
14093 (grub_longjmp): Likewise.
14094 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
14095 (grub_longjmp): Likewise.
14096
14097 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
14098 [!GRUB_UTIL] (grub_longjmp): Removed.
14099
14100 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
14101
14102 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
14103 "color!" method does not return any value.
14104
14105 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14106
14107 * include/grub/bitmap.h: New file.
14108
14109 * include/grub/i386/pc/vbeutil.h: Likewise.
14110
14111 * video/bitmap.c: Likewise.
14112
14113 * video/readers/tga.c: Likewise.
14114
14115 * video/i386/pc/vbeutil.c: Likewise.
14116
14117 * commands/videotest.c: Code cleanup and updated to reflect to new
14118 video API.
14119
14120 * term/gfxterm.c: Likewise.
14121
14122 * video/video.c: Likewise.
14123
14124 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
14125 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
14126 (bitmap_mod_SOURCES): New entry.
14127 (bitmap_mod_CFLAGS): Likewise.
14128 (bitmap_mod_LDFLAGS): Likewise.
14129 (tga_mod_SOURCES): Likewise.
14130 (tga_mod_CFLAGS): Likewise.
14131 (tga_mod_LDFLAGS): Likewise.
14132
14133 * include/grub/video.h (grub_video_blit_operators): New enum type.
14134 (grub_video_render_target): Changed as forward declaration and moved
14135 actual definition to be video driver specific.
14136 (grub_video_adapter.blit_bitmap): Added blitting operator.
14137 (grub_video_adapter.blit_render_target): Likewise.
14138 (grub_video_blit_bitmap): Likewise.
14139 (grub_video_blit_render_target): Likewise.
14140
14141 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
14142 driver specific render target definition.
14143 (grub_video_vbe_map_rgba): Added driver internal helper.
14144 (grub_video_vbe_unmap_color): Updated to use
14145 grub_video_i386_vbeblit_info.
14146 (grub_video_vbe_get_video_ptr): Likewise.
14147
14148 * include/grub/i386/pc/vbeblit.h
14149 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
14150 grub_video_i386_vbeblit_info.
14151 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14152 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14153 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14154 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14155 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14156 (grub_video_i386_vbeblit_index_index): Likewise.
14157 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
14158 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14159 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14160 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
14161 operator.
14162 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
14163 operator.
14164
14165 * video/i386/pc/vbeblit.c: Updated to reflect changes on
14166 include/grub/i386/pc/vbeblit.h.
14167
14168 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
14169 Updated to use grub_video_i386_vbeblit_info.
14170 (grub_video_i386_vbefill_R8G8B8): Likewise.
14171 (grub_video_i386_vbefill_index): Likewise.
14172 (grub_video_i386_vbefill): Added generic filler.
14173
14174 * video/i386/pc/vbefill.c: Updated to reflect changes on
14175 include/grub/i386/pc/vbefill.h.
14176
14177 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
14178 grub_video_i386_vbeblit_info.
14179 (grub_video_vbe_unmap_color): Likewise.
14180 (grub_video_vbe_blit_glyph): Likewise.
14181 (grub_video_vbe_scroll): Likewise.
14182 (grub_video_vbe_draw_pixel): Removed function.
14183 (grub_video_vbe_get_pixel): Likewise.
14184 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
14185 updated code to use it.
14186 (common_blitter): Added common blitter for render target and bitmap.
14187 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
14188 (grub_video_vbe_blit_render_target): Likewise.
14189
14190 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
14191
14192 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
14193 is in text mode if there is no console control protocol instance
14194 available.
14195
14196 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14197
14198 * include/grub/video.h: Code cleanup.
14199
14200 * include/grub/i386/pc/vbe.h: Likewise.
14201
14202 * video/i386/pc/vbe.c: Likewise.
14203
14204 * video/i386/pc/vbeblit.c: Likewise.
14205
14206 * video/i386/pc/vbefill.c: Likewise.
14207
14208 * video/video.c: Likewise. Also added more comments.
14209
14210 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14211
14212 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
14213 (struct grub_biosdisk_dap): Likewise.
14214
14215 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
14216 linkage settings for all functions.
14217
14218 2006-07-12 Marco Gerards <marco@gnu.org>
14219
14220 * configure.ac (--enable-mm-debug): Fix typo.
14221
14222 * genkernsyms.sh.in: Use proper quoting for `CC'.
14223
14224 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
14225
14226 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
14227 (normal_mod_ASFLAGS): Remove "-m32".
14228
14229 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
14230
14231 * util/misc.c: Include config.h.
14232 [!HAVE_MEMALIGN]: Do not include malloc.h.
14233 (grub_memalign): Use posix_memalign, if present. Then, use
14234 memalign, if present. Otherwise, emit an error.
14235
14236 * util/grub-emu.c: Do not include malloc.h.
14237
14238 * include/grub/util/misc.h: Include unistd.h. This is required for
14239 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
14240 D. Eades III <hde@foobar-qux.org>.
14241
14242 * configure.ac (AC_GNU_SOURCE): Added.
14243 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
14244 type.
14245
14246 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
14247
14248 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
14249 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
14250
14251 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
14252
14253 * include/grub/types.h (grub_host_addr_t): Rename to
14254 grub_target_addr_t.
14255 (grub_host_off_t): Rename to grub_target_off_t.
14256 (grub_host_size_t): Rename to grub_target_size_t.
14257 (grub_host_ssize_t): Rename to grub_target_ssize_t.
14258 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
14259
14260 * include/grub/kernel.h (struct grub_module_header): Change type
14261 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
14262 (grub_module_info): Likewise.
14263
14264 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14265
14266 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
14267 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
14268 Velazquez <jesus.velazquez@gmail.com>.
14269
14270 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14271
14272 Count partitions from 1 instead of 0 in the string representation
14273 of partitions. Still use 0-based internally.
14274
14275 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
14276 (sun_partition_map_iterate): Use grub_partition_t instead of
14277 struct grub_partition *. Cast DESC->START_CYLINDER to
14278 grub_uint64_t after converting the endian.
14279 (sun_partition_map_probe): Subtract 1 for PARTNUM.
14280 (sun_partition_map_get_name): Add 1 to P->INDEX.
14281
14282 * partmap/pc.c (grub_partition_parse): Subtract 1 for
14283 PCDATA->DOS_PART.
14284 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
14285
14286 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
14287 zero instead of one.
14288 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
14289 (gpt_partition_map_get_name): Add 1 into P->INDEX.
14290
14291 * partmap/apple.c (apple_partition_map_iterate): Change the type
14292 of POS to unsigned.
14293 (apple_partition_map_probe): Subtract 1 for PARTNUM.
14294 (apple_partition_map_get_name): Add 1 into P->INDEX.
14295
14296 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
14297 of POS to unsigned.
14298 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
14299 calculate the offset of a partition.
14300 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
14301 (amiga_partition_map_get_name): Add 1 into P->INDEX.
14302
14303 * partmap/acorn.c (acorn_partition_map_find): Change the type of
14304 SECTOR to grub_disk_addr_t.
14305 (acorn_partition_map_iterate): Likewise.
14306 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
14307 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
14308 top.
14309 (acorn_partition_map_get_name): Add 1 into P->INDEX.
14310
14311 * kern/i386/pc/init.c (make_install_device): Add 1 into
14312 GRUB_INSTALL_DOS_PART.
14313
14314 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
14315 conditional.
14316
14317 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14318
14319 Clean up the code to support 64-bit addressing in disks and
14320 files. This change is not enough for filesystems yet.
14321
14322 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
14323 type of "start" to grub_uint64_t.
14324 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
14325 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
14326 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
14327 convert addresses.
14328
14329 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
14330 to grub_disk_addr_t.
14331
14332 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
14333 string.
14334
14335 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14336
14337 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
14338 to char *.
14339
14340 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
14341
14342 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
14343
14344 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
14345
14346 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
14347 to grub_off_t, to detect an error from grub_file_seek.
14348 (grub_multiboot_load_elf32): Likewise.
14349
14350 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
14351 maximum unsigned long value when an overflow is detected.
14352 (grub_strtoull): New function.
14353 (grub_divmod64): Likewise.
14354 (grub_lltoa): use grub_divmod64.
14355
14356 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
14357 grub_disk_addr_t.
14358 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
14359 the pointer to next character. Use grub_strtoull instead of
14360 grub_strtoul.
14361 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
14362 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
14363 respectively.
14364
14365 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
14366 return value is signed.
14367 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
14368 test if OFFSET is less than zero, as OFFSET is unsigned now.
14369
14370 * kern/disk.c (struct grub_disk_cache): Change the type of
14371 "sector" to grub_disk_addr_t.
14372 (grub_disk_cache_get_index): Change the type of SECTOR to
14373 grub_disk_addr_t. Calculate the hash with SECTOR casted to
14374 unsigned after shifting.
14375 (grub_disk_cache_invalidate): Change the type of SECTOR to
14376 grub_disk_addr_t.
14377 (grub_disk_cache_unlock): Likewise.
14378 (grub_disk_cache_store): Likewise.
14379 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
14380 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
14381 grub_disk_addr_t and grub_uint64_t, respectively.
14382 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
14383 body, as the value of OFFSET is tweaked by
14384 grub_disk_check_range. Change the types of START_SECTOR, LEN and
14385 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
14386 respectively.
14387 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
14388 body, as the value of OFFSET is tweaked by
14389 grub_disk_check_range. Change the types of LEN and N to
14390 grub_size_t.
14391
14392 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
14393 and "saved_offset" to grub_off_t.
14394 (test_header): Cast BUF to char *.
14395 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
14396 to char *.
14397 (grub_gzio_read): Change the types of OFFSET and SIZE to
14398 grub_off_t and grub_size_t, respectively.
14399
14400 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
14401 Removed.
14402 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
14403 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
14404 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
14405 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
14406 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
14407
14408 * include/grub/types.h (grub_off_t): Unconditionally set to
14409 grub_uint64_t.
14410 (grub_disk_addr_t): Changed to grub_uint64_t.
14411
14412 * include/grub/partition.h (struct grub_partition): Change the
14413 types of "start", "len" and "offset" to grub_disk_addr_t,
14414 grub_uint64_t and grub_disk_addr_t, respectively.
14415 (grub_partition_get_start): Return grub_disk_addr_t.
14416 (grub_partition_get_len): Return grub_uint64_t.
14417
14418 * include/grub/misc.h (grub_strtoull): New prototype.
14419 (grub_divmod64): Likewise.
14420
14421 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
14422 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
14423 grub_off_t, respectively.
14424 All callers and references changed.
14425
14426 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
14427 grub_size_t in "read".
14428 All callers and references changed.
14429
14430 * include/grub/file.h (struct grub_file): Change the types of
14431 "offset" and "size" to grub_off_t and grub_off_t,
14432 respectively. Change the type of SECTOR to grub_disk_addr_t in
14433 "read_hook".
14434 (grub_file_read): Change the type of LEN to grub_size_t.
14435 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
14436 grub_off_t.
14437 (grub_file_size): Return grub_off_t.
14438 (grub_file_tell): Likewise.
14439 All callers and references changed.
14440
14441 * include/grub/disk.h (struct grub_disk_dev): Change the types of
14442 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
14443 "write".
14444 (struct grub_disk): Change the type of "total_sectors" to
14445 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
14446 "read_hook".
14447 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
14448 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
14449 (grub_disk_write): Likewise.
14450 All callers and references changed.
14451
14452 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
14453 char * for grub_strncmp to silence gcc.
14454 (grub_iso9660_mount): Likewise.
14455 (grub_iso9660_mount): Likewise.
14456 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
14457 return statement.
14458 (grub_iso9660_iterate_dir): Likewise.
14459 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
14460
14461 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
14462 LEN to grub_disk_addr_t and grub_size_t, respectively.
14463
14464 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14465
14466 * fs/jfs.c (grub_jfs_read_file): Likewise.
14467
14468 * fs/minix.c (grub_jfs_read_file): Likewise.
14469
14470 * fs/sfs.c (grub_jfs_read_file): Likewise.
14471
14472 * fs/ufs.c (grub_jfs_read_file): Likewise.
14473
14474 * fs/xfs.c (grub_jfs_read_file): Likewise.
14475
14476 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
14477 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
14478 respectively.
14479
14480 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
14481 BLKNR to -1 instead of returning GRUB_ERRNO.
14482 (grub_ext2_read_file): Change the types of SECTOR and
14483 LEN to grub_disk_addr_t and grub_size_t, respectively.
14484
14485 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
14486 LEN to grub_disk_addr_t and grub_size_t, respectively.
14487
14488 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
14489 grub_file_read.
14490
14491 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
14492 string. Do not cast SECTOR explicitly.
14493
14494 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
14495 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
14496 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
14497 grub_disk_addr_t and grub_size_t, respectively. If the sector is
14498 over 2TB and LBA mode is not supported, raise an error.
14499 (get_safe_sectors): New function.
14500 (grub_biosdisk_read): Use get_safe_sectors.
14501 (grub_biosdisk_write): Likewise.
14502
14503 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
14504 (grub_efidisk_write): Likewise.
14505
14506 * disk/loopback.c (delete_loopback): Cosmetic changes.
14507 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
14508 correctly.
14509 (grub_loopback_open): Likewise.
14510 (grub_loopback_read): Likewise. Also, change the type of POS to
14511 grub_off_t, and fix the usage of grub_memset.
14512
14513 * commands/i386/pc/play.c: Include grub/machine/time.h.
14514
14515 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
14516 print FILE->SIZE.
14517
14518 * commands/configfile.c: Include grub/env.h.
14519
14520 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
14521 GRUB_ERRNO directly instead. Change the type of POS to
14522 grub_off_t. Follow the coding standard.
14523
14524 * commands/blocklist.c: Include grub/partition.h.
14525 (grub_cmd_blocklist): Return an error if the underlying device is
14526 not a disk. Take the starting sector of a partition into account,
14527 if a partition is used.
14528
14529 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
14530 a length field.
14531 (lba_mode): Support 64-bit addresses.
14532 (chs_mode): Likewise.
14533 (copy_buffer): Adapted to the new offsets of a length field and a
14534 segment field.
14535 (blocklist_default_start): Allocate 64-bit space.
14536
14537 * boot/i386/pc/boot.S (force_lba): Removed.
14538 (boot_drive): Moved to under KERNEL_SECTOR.
14539 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
14540 space.
14541 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
14542 is useless.
14543 (lba_mode): Refactored to support a 64-bit address. More size
14544 optimization.
14545 (setup_sectors): Likewise.
14546
14547 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14548
14549 * DISTLIST: Added include/grub/i386/linux.h. Removed
14550 include/grub/i386/pc/linux.h
14551
14552 * configure.ac (AC_INIT): Bumped to 1.94.
14553
14554 * config.guess: Updated from gnulib.
14555 * config.sub: Likewise.
14556 * install-sh: Likewise.
14557 * mkinstalldirs: Likewise.
14558
14559 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14560
14561 * conf/common.rmk (grub_modules_init.lst): Depended on
14562 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
14563 MODSRCFILES.
14564
14565 * genmk.rb (PModule::rule): Reverted the previous change.
14566
14567 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14568
14569 * conf/common.rmk (grub_modules_init.lst): Depends on
14570 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
14571 that the target does not exist before producing.
14572 (grub_modules_init.h): Remove the target before generating.
14573 (grub_emu_init.c): Likewise.
14574
14575 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
14576
14577 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
14578
14579 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
14580 for the target-specific tests. Make sure that we also have the
14581 up-to-date target variables for those tests.
14582
14583 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14584
14585 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
14586 (PModule::rule): Likewise.
14587
14588 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14589
14590 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
14591 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
14592 target-specific flags should be prefixed.
14593 (PModule::rule): Likewise.
14594
14595 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
14596
14597 * configure.ac (CMP): Check if cmp is available explicitly.
14598
14599 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
14600
14601 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
14602 (target_cpu): New variable.
14603 (pkglibdir): Use target_cpu instead of host_cpu.
14604
14605 * util/i386/pc/grub-install.in (host_cpu): Removed.
14606 (target_cpu): New variable.
14607 (pkglibdir): Use target_cpu instead of host_cpu.
14608
14609 * util/genmoddep.c: Removed.
14610
14611 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
14612 instead of GRUB_HOST_SIZEOF_VOID_P.
14613 * kern/dl.c: Likewise.
14614
14615 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
14616 ...
14617 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14618 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14619 (GRUB_TARGET_SIZEOF_LONG): ... this.
14620 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14621 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14622 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14623 to ...
14624 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14625 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14626 (GRUB_TARGET_SIZEOF_LONG): ... this.
14627 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14628 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14629 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14630 to ...
14631 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14632 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14633 (GRUB_TARGET_SIZEOF_LONG): ... this.
14634 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14635 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14636
14637 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
14638 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
14639 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
14640 instead of GRUB_HOST_SIZEOF_LONG.
14641 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
14642 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
14643 GRUB_CPU_WORDS_BIGENDIAN.
14644 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
14645 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
14646 grub_host_ssize_t.
14647
14648 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
14649 (genmoddep_SOURCES): Likewise.
14650 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
14651 (genmoddep_SOURCES): Likewise.
14652 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
14653 (genmoddep_SOURCES): Likewise.
14654 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
14655 Likewise.
14656 (genmoddep_SOURCES): Likewise.
14657
14658 * genmoddep.awk: New file.
14659
14660 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
14661 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
14662 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
14663 (PModule::rule): Likewise.
14664 (Program::rule): Likewise.
14665 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
14666 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
14667 respectively.
14668
14669 * configure.ac: Rewritten intensively to use host and target
14670 instead of build and host, respectively.
14671
14672 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
14673 (host_cpu): Removed.
14674 (target_cpu): New variable.
14675 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
14676 (BUILD_CC): Removed.
14677 (BUILD_CFLAGS): Likewise.
14678 (BUILD_CPPFLAGS): Likewise.
14679 (TARGET_CC): New variable.
14680 (TARGET_CFLAGS): Likewise.
14681 (TARGET_CPPFLAGS): Likewise.
14682 (TARGET_LDFLAGS): Likewise.
14683 (AWK): Likewise.
14684 (include): Use target_cpu instead of host_cpu.
14685 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
14686
14687 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
14688
14689 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
14690
14691 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
14692 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
14693 field 'false' to 'exec_on_false'.
14694 (grub_script_create_cmdif): Renamed argument names to reflect above
14695 changes.
14696
14697 * normal/execute.c (grub_script_execute_cmdif): Likewise.
14698
14699 * normal/script.c (grub_script_create_cmdif): Likewise.
14700
14701 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
14702
14703 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
14704 top.
14705 (grub_hfsplus_btree_recptr): Likewise.
14706 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
14707 FILEBLOCK both to pass a block number and store next block
14708 number.
14709 (grub_hfsplus_read_block): Rewritten heavily to support an extent
14710 overflow file correctly. Specify errors appropriately, because
14711 fshelp expects that GRUB_ERRNO is set when fails. Reuse
14712 grub_hfsplus_btree_recptr to get the pointer to a found key.
14713 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
14714 is found.
14715
14716 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
14717 linux.mod.
14718 (_linux_mod_SOURCES): New variable.
14719 (_linux_mod_CFLAGS): Likewise.
14720 (_linux_mod_LDFLAGS): Likewise.
14721 (linux_mod_SOURCES): Likewise.
14722 (linux_mod_CFLAGS): Likewise.
14723 (linux_mod_LDFLAGS): Likewise.
14724
14725 * DISTLIST: Added loader/i386/efi/linux.c,
14726 loader/i386/efi/linux_normal.c and
14727 include/grub/i386/efi/loader.h.
14728
14729 * loader/i386/efi/linux.c: New file.
14730 * loader/i386/efi/linux_normal.c: Likewise.
14731 * include/grub/i386/efi/loader.h: Likewise.
14732
14733 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
14734
14735 * commands/blocklist.c: New file.
14736
14737 * DISTLIST: Added commands/blocklist.c.
14738
14739 * term/efi/console.c (grub_console_highlight_color): Use a lighter
14740 color for the background, and a darker color for the foreground.
14741 (grub_console_checkkey): Return READ_KEY.
14742 (grub_console_cls): Set the background to
14743 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
14744
14745 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
14746
14747 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
14748 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
14749
14750 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
14751 prototype.
14752
14753 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
14754 BG. The spec is wrong again.
14755
14756 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
14757 prototype.
14758 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
14759
14760 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
14761 commands/blocklist.c.
14762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14763
14764 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
14765 (blocklist_mod_SOURCES): New variable.
14766 (blocklist_mod_CFLAGS): Likewise.
14767 (blocklist_mod_LDFLAGS): Likewise.
14768
14769 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
14770
14771 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
14772 duplication.
14773 (lba_mode): Use %eax more intensively to reduce the code size.
14774
14775 2006-05-20 Marco Gerards <marco@gnu.org>
14776
14777 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
14778
14779 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
14780 for `menuentry'.
14781 (script): Accept leading newlines.
14782 (newlines): New rule to describe 0 or more newlines.
14783 (commands): Accept `command' with trailing newline. Fixed the
14784 order in which arguments were passed to `grub_script_add_cmd'.
14785 Accept commands separated by newlines.
14786 (function): Changed to accept newlines.
14787 (menuentry) Rewritten.
14788
14789 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
14790 front of the list, instead of to the end.
14791
14792 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
14793
14794 * util/i386/pc/grub-install.in (bindir): New variable.
14795 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
14796 Shaver <lbgwjl@gmail.com>.
14797
14798 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
14799
14800 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
14801 grub/machine/linux.h
14802 * loader/i386/pc/linux.c: Likewise.
14803
14804 * include/grub/i386/pc/linux.h: Moved to ...
14805 * include/grub/i386/linux.h: ... here.
14806
14807 * include/grub/i386/linux.h (struct linux_kernel_params): New
14808 struct.
14809
14810 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
14811
14812 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
14813 checking.
14814 (grub_video_vbe_blit_glyph): Likewise.
14815 (grub_video_vbe_blit_bitmap): Likewise.
14816 (grub_video_vbe_blit_render_target): Likewise.
14817
14818 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
14819
14820 * configure.ac (--with-platform): Properly quote the square
14821 brackets.
14822
14823 2006-05-08 Marco Gerards <marco@gnu.org>
14824
14825 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
14826 this...
14827 (kernel_elf_HEADERS): ...to this. Updated all users.
14828 (grubof_symlist.c): Renamed from this...
14829 (kernel_elf_symlist.c): ...to this. Updated all users.
14830 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14831 (grubof_SOURCES): Renamed from this...
14832 (kernel_elf_SOURCES): ...to this.
14833 (grubof_HEADERS): Renamed from this...
14834 (kernel_elf_HEADERS): ...to this.
14835 (grubof_CFLAGS): Renamed from this...
14836 (kernel_elf_CFLAGS): ...to this.
14837 (grubof_ASFLAGS): Renamed from this...
14838 (kernel_elf_ASFLAGS): ...to this.
14839 (grubof_LDFLAGS): Renamed from this...
14840 (kernel_elf_LDFLAGS): ...to this.
14841
14842 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
14843 this...
14844 (kernel_elf_HEADERS): ...to this. Updated all users.
14845 (grubof_symlist.c): Renamed from this...
14846 (kernel_elf_symlist.c): ...to this. Updated all users.
14847 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14848 (grubof_SOURCES): Renamed from this...
14849 (kernel_elf_SOURCES): ...to this.
14850 (grubof_HEADERS): Renamed from this...
14851 (kernel_elf_HEADERS): ...to this.
14852 (grubof_CFLAGS): Renamed from this...
14853 (kernel_elf_CFLAGS): ...to this.
14854 (grubof_ASFLAGS): Renamed from this...
14855 (kernel_elf_ASFLAGS): ...to this.
14856 (grubof_LDFLAGS): Renamed from this...
14857 (kernel_elf_LDFLAGS): ...to this.
14858
14859 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
14860 `kernel.elf' instead of `grubof'.
14861
14862 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
14863
14864 Add --with-platform to configure. Use pkglibdir instead of
14865 pkgdatadir. This is reported by Roger Leigh.
14866
14867 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
14868 (host_vendor): Likewise.
14869 (host_os): Likewise.
14870 (pkgdatadir): Likewise.
14871 (platform): New variable.
14872 (pkglibdir): Likewise.
14873 Use PKGLIBDIR instead of PKGDATADIR.
14874
14875 * util/i386/pc/grub-install.in (datadir): Removed.
14876 (host_vendor): Likewise.
14877 (host_os): Likewise.
14878 (pkgdatadir): Likewise.
14879 (platform): New variable.
14880 (pkglibdir): Likewise.
14881 Use PKGLIBDIR instead of PKGDATADIR.
14882
14883 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
14884 instead of GRUB_DATADIR.
14885 (main): Likewise.
14886 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14887 (main): Likewise.
14888 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14889 (main): Likewise.
14890
14891 * configure.ac (--with-platform): New option.
14892 Use PLATFORM instead of HOST_VENDOR to specify a platform.
14893
14894 * Makefile.in: Include a makefile based on PLATFORM instead of
14895 HOST_VENDOR.
14896 (pkgdatadir): Not appended by the machine type.
14897 (pkglibdir): Appended by the machine type.
14898 (host_vendor): Removed.
14899 (platform): New variable.
14900 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
14901 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
14902 (uninstall): Likewise.
14903
14904 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
14905
14906 Use the environment context in the menu. Remove the commands
14907 "default" and "timeout", and use variables instead.
14908
14909 * normal/menu.c: Include grub/env.h.
14910 (print_entry): Cast TITLE to silence gcc.
14911 (get_timeout): New function.
14912 (set_timeout): Likewise.
14913 (get_entry_number): Likewise.
14914 (run_menu): Use a default entry, a fallback entry and a timeout
14915 in the environment variables "default", "fallback" and
14916 "timeout". Also, tweak the default entry if it is not within the
14917 current menu entries.
14918 (grub_menu_run): Use a fallback entry in the environment variable
14919 "fallback".
14920
14921 * normal/main.c (read_config_file): Do not initialize
14922 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
14923 NEWMENU->TIMEOUT.
14924 (grub_normal_execute): Use a data slot to store the menu.
14925
14926 * include/grub/normal.h (struct grub_menu): Removed default_entry,
14927 fallback_entry and timeout.
14928 (struct grub_menu_list): Removed.
14929 (grub_menu_list_t): Likewise.
14930 (struct grub_context): Likewise.
14931 (grub_context_t): Likewise.
14932 (grub_context_get): Likewise.
14933 (grub_context_get_current_menu): Likewise.
14934 (grub_context_push_menu): Likewise.
14935 (grub_context_pop_menu): Likewise.
14936 (grub_default_init): Likewise.
14937 (grub_default_fini): Likewise.
14938 (grub_timeout_init): Likewise.
14939 (grub_timeout_fini): Likewise.
14940
14941 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
14942 and timeout.mod.
14943 (normal_mod_SOURCES): Removed normal/context.c.
14944
14945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
14946 commands/default.c, commands/timeout.c and normal/context.c.
14947 (normal_mod_SOURCES): Removed normal/context.c.
14948
14949 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
14950 commands/timeout.c and normal/context.c.
14951 (normal_mod_SOURCES): Removed normal/context.c.
14952
14953 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
14954 commands/default.c, commands/timeout.c and normal/context.c.
14955 (normal_mod_SOURCES): Removed normal/context.c.
14956
14957 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
14958 timeout.mod.
14959 (default_mod_SOURCES): Removed.
14960 (default_mod_CFLAGS): Likewise.
14961 (default_mod_LDFLAGS): Likewise.
14962 (timeout_mod_SOURCES): Removed.
14963 (timeout_mod_CFLAGS): Likewise.
14964 (timeout_mod_LDFLAGS): Likewise.
14965
14966 * DISTLIST: Removed commands/default.c, commands/timeout.c and
14967 normal/context.c.
14968
14969 * commands/default.c: Removed.
14970 * commands/timeout.c: Likewise.
14971 * normal/context.c: Likewise.
14972
14973 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
14974
14975 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
14976
14977 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
14978
14979 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
14980 "next" to "prev" for readability.
14981 (struct grub_env_sorted_var): New struct.
14982 (grub_env_context): Renamed to ...
14983 (initial_context): ... this.
14984 (grub_env_var_context): Renamed to ...
14985 (current_context): ... this.
14986 (grub_env_find): Look only at CURRENT_CONTEXT.
14987 (grub_env_context_open): Rewritten to copy exported variables from
14988 previous context.
14989 (grub_env_context_close): Rewritten according to the new
14990 scheme. Also, add an assertion to prevent the initial context from
14991 removed.
14992 (grub_env_insert): Removed the code for the sorted list.
14993 (grub_env_remove): Likewise.
14994 (grub_env_export): Simply mark the variable with
14995 GRUB_ENV_VAR_GLOBAL.
14996 (grub_env_set): A cosmetic change for naming consistency.
14997 (grub_env_get): Likewise.
14998 (grub_env_unset): Likewise.
14999 (grub_env_iterate): Rewritten to sort variables within this
15000 function.
15001 (grub_register_variable_hook): Fixed for naming consistency. Call
15002 grub_env_find again, only if NAME is not found at the first time.
15003 (mangle_data_slot_name): New function.
15004 (grub_env_set_data_slot): Likewise.
15005 (grub_env_get_data_slot): Likewise.
15006 (grub_env_unset_data_slot): Likewise.
15007
15008 * include/grub/env.h (grub_env_var_type): New enum.
15009 (GRUB_ENV_VAR_LOCAL): New constant.
15010 (GRUB_ENV_VAR_GLOBAL): Likewise.
15011 (GRUB_ENV_VAR_DATA): Likewise.
15012 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15013 "type".
15014 (grub_env_set): Replace VAR with NAME for consistency.
15015 (grub_register_variable_hook): Likewise.
15016 (grub_env_export): Specify the name of the argument.
15017 (grub_env_set_data_slot): New prototype.
15018 (grub_env_get_data_slot): Likewise.
15019 (grub_env_unset_data_slot): Likewise.
15020
15021 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15022
15023 Extend the loader so that GRUB can accept a loader which comes
15024 back to GRUB when a loaded image exits. Also, this change adds
15025 support for a chainloader on EFI.
15026
15027 * term/efi/console.c: Include grub/misc.h.
15028 (grub_console_checkkey): Display a scan code on the top for
15029 debugging. This will be removed once the EFI port gets stable.
15030 Correct the scan code mapping.
15031
15032 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15033 allocate memory from larger regions, in order to reduce the number
15034 of allocated regions. Otherwise, the MacOSX loader panics.
15035 (filter_memory_map): Avoid less than 1MB for compatibility with
15036 other loaders.
15037 (add_memory_regions): Allocate from the tail of a region, if
15038 possible, to avoid allocating a region near to 1MB, for the MacOSX
15039 loader.
15040
15041 * kern/efi/init.c (grub_efi_set_prefix): Specify
15042 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15043
15044 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15045 argument IMAGE_HANDLE and specify it to get a loaded image.
15046 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15047 grub_efi_get_loaded_image.
15048 (grub_efi_get_filename): Divide the length by the size of
15049 grub_efi_char16_t.
15050 (grub_efi_get_device_path): New function.
15051 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15052 the length by the size of grub_efi_char16_t for a file path device
15053 path node.
15054
15055 * kern/loader.c (grub_loader_noreturn): New variable.
15056 (grub_loader_set): Accept a new argument NORETURN. Set
15057 GRUB_LOADER_NORETURN to NORETURN.
15058 All callers changed.
15059 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15060 grub_machine_fini.
15061
15062 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15063 prototype.
15064 (grub_efi_get_loaded_image): Take an argument to specify an image
15065 handle.
15066
15067 * include/grub/loader.h (grub_loader_set): Added one more argument
15068 NORETURN.
15069
15070 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
15071 instead of grub_efi_open_protocol.
15072 (grub_efidisk_get_device_name): Likewise.
15073 (grub_efidisk_close): Print a newline.
15074 (grub_efidisk_get_device_handle): Fixed to use
15075 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
15076 GRUB_EFI_DEVICE_PATH_TYPE.
15077
15078 * disk/efi/efidisk.c (device_path_guid): Moved to ...
15079 * kern/efi/efi.c (device_path_guid): ... here.
15080
15081 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
15082 chain.mod.
15083 (kernel_mod_HEADERS): Added efi/disk.h.
15084 (_chain_mod_SOURCES): New variable.
15085 (_chain_mod_CFLAGS): Likewise.
15086 (_chain_mod_LDFLAGS): Likewise.
15087 (chain_mod_SOURCES): Likewise.
15088 (chain_mod_CFLAGS): Likewise.
15089 (chain_mod_LDFLAGS): Likewise.
15090
15091 * DISTLIST: Added include/grub/efi/chainloader.h,
15092 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
15093
15094 * include/grub/efi/chainloader.h: New file.
15095 * loader/efi/chainloader.c: Likewise.
15096 * loader/efi/chainloader_normal.c: Likewise.
15097
15098 2006-04-30 Marco Gerards <marco@gnu.org>
15099
15100 * commands/configfile.c (grub_cmd_source): New function.
15101 (GRUB_MOD_INIT): Register the commands `source' and `.'.
15102 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
15103
15104 2006-04-30 Marco Gerards <marco@gnu.org>
15105
15106 * normal/execute.c (grub_script_execute_cmd): Change the return
15107 type to `grub_err_t'. Correctly return the error.
15108 (grub_script_execute_cmdline): In case a command line is not a
15109 command or a function, try to interpret it as an assignment.
15110
15111 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15112
15113 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
15114 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
15115 skip a node whose name is obviously invalid as UTF-16,
15116 i.e. contains a NUL character. Stop the iteration when the last
15117 directory entry is found. Instead of using the return value of
15118 grub_hfsplus_btree_iterate_node, store the value in RET and use
15119 it, because the iterator can be stopped by the last directory
15120 entry.
15121
15122 2006-04-30 Marco Gerards <marco@gnu.org>
15123
15124 * include/grub/env.h (grub_env_export): New prototype. Reported
15125 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
15126
15127 2006-04-30 Marco Gerards <marco@gnu.org>
15128
15129 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
15130 size of the extents in a catalog file record.
15131
15132 2006-04-29 Marco Gerards <marco@gnu.org>
15133
15134 * commands/configfile.c (grub_cmd_configfile): Execute the
15135 configfile within its own context.
15136
15137 * include/grub/env.h (grub_env_context_open): New prototype.
15138 (grub_env_context_close): Likewise.
15139
15140 * kern/env.c (grub_env): Removed.
15141 (grub_env_sorted): Likewise.
15142 (grub_env_context): New variable.
15143 (grub_env_var_context): Likewise.
15144 (grub_env_find): Search both the active context and the global
15145 context.
15146 (grub_env_context_open): New function.
15147 (grub_env_context_close): Likewise.
15148 (grub_env_insert): Likewise.
15149 (grub_env_remove): Likewise.
15150 (grub_env_export): Likewise.
15151 (grub_env_set): Changed to use helper functions to avoid code
15152 duplication.
15153 (grub_env_iterate): Rewritten so both the current context and the
15154 global context are being used.
15155
15156 * normal/command.c (export_command): New function.
15157 (grub_command_init): Register the `export' function.
15158
15159 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
15160
15161 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
15162 explicitly to suppress gcc's warnings.
15163 * fs/fat.c (grub_fat_find_dir): Likewise.
15164 (grub_fat_label): Likewise.
15165 * fs/xfs.c (grub_xfs_read_inode): Likewise.
15166 (grub_xfs_mount): Likewise.
15167 (grub_xfs_label): Likewise.
15168 * fs/affs.c (grub_affs_mount): Likewise.
15169 (grub_affs_label): Likewise.
15170 (grub_affs_iterate_dir): Likewise.
15171 * fs/sfs.c (grub_sfs_mount): Likewise.
15172 (grub_sfs_iterate_dir): Likewise.
15173 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
15174 * fs/hfs.c (grub_hfs_mount): Likewise.
15175 (grub_hfs_cmp_catkeys): Likewise.
15176 (grub_hfs_find_dir): Likewise.
15177 (grub_hfs_dir): Likewise.
15178 (grub_hfs_label): Likewise.
15179 * fs/jfs.c (grub_jfs_mount): Likewise.
15180 (grub_jfs_opendir): Likewise.
15181 (grub_jfs_getent): Likewise.
15182 (grub_jfs_lookup_symlink): Likewise.
15183 (grub_jfs_label): Likewise.
15184 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
15185 (grub_hfsplus_iterate_dir): Likewise.
15186 (grub_hfsplus_btree_iterate_node): Made static.
15187
15188 * util/grub-emu.c (prefix): New variable.
15189 (grub_machine_set_prefix): New function.
15190 (main): Do not set the environment variable "prefix" here. Only
15191 set PREFIX, which is used later by grub_machine_set_prefix.
15192
15193 * include/grub/video.h: Do not include grub/symbol.h.
15194 (grub_video_register): Not exported. This symbol is not defined in
15195 the kernel.
15196 (grub_video_unregister): Likewise.
15197 (grub_video_iterate): Likewise.
15198 (grub_video_setup): Likewise.
15199 (grub_video_restore): Likewise.
15200 (grub_video_get_info): Likewise.
15201 (grub_video_get_blit_format): Likewise.
15202 (grub_video_set_palette): Likewise.
15203 (grub_video_get_palette): Likewise.
15204 (grub_video_set_viewport): Likewise.
15205 (grub_video_get_viewport): Likewise.
15206 (grub_video_map_color): Likewise.
15207 (grub_video_map_rgb): Likewise.
15208 (grub_video_map_rgba): Likewise.
15209 (grub_video_fill_rect): Likewise.
15210 (grub_video_blit_glyph): Likewise.
15211 (grub_video_blit_bitmap): Likewise.
15212 (grub_video_blit_render_target): Likewise.
15213 (grub_video_scroll): Likewise.
15214 (grub_video_swap_buffers): Likewise.
15215 (grub_video_create_render_target): Likewise.
15216 (grub_video_delete_render_target): Likewise.
15217 (grub_video_set_active_render_target): Likewise.
15218
15219 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
15220 Undefined.
15221 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
15222
15223 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
15224 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15225 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15226 instead of $(srcdir)/genkernsyms.sh.
15227
15228 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
15229 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15230 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15231 instead of $(srcdir)/genkernsyms.sh.
15232
15233 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
15234 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15235 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15236 instead of $(srcdir)/genkernsyms.sh.
15237
15238 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
15239 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15240 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15241 instead of $(srcdir)/genkernsyms.sh.
15242
15243 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
15244 genkernsyms.sh.
15245
15246 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
15247 genkernsyms.sh.
15248 (gensymlist.sh): New target.
15249 (genkernsyms.sh): Likewise.
15250
15251 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
15252 genkernsyms.sh.in and gensymlist.sh.in.
15253
15254 * genkernsyms.sh: Removed.
15255 * gensymlist.sh: Likewise.
15256
15257 * genkernsyms.sh.in: New file.
15258 * gensymlist.sh.in: Likewise.
15259
15260 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15261
15262 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
15263 clobber "prefix", since we may have already set it manually.
15264
15265 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15266
15267 * kern/misc.c (abort): New alias for grub_abort.
15268
15269 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
15270
15271 A new machine-specific function "grub_machine_set_prefix" is
15272 defined. This is called after loading modules, so that a prefix
15273 initialization can use modules. Also, this change adds an
15274 intensive debugging feature for the memory manager via the
15275 configure option "--enable-mm-debug".
15276
15277 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
15278 PART.LEN.
15279
15280 * kern/sparc64/ieee1275/init.c (abort): Removed.
15281 (grub_stop): Likewise.
15282 (grub_exit): New function.
15283 (grub_set_prefix): Renamed to ...
15284 (grub_machine_set_prefix): ... this.
15285 (grub_machine_init): Do not call grub_set_prefix.
15286
15287 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
15288 (grub_machine_set_prefix): ... this.
15289 (grub_machine_init): Do not call grub_set_prefix.
15290
15291 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
15292 (grub_machine_init): Do not set the prefix here.
15293
15294 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
15295
15296 * kern/efi/init.c: Include grub/mm.h.
15297 (grub_efi_set_prefix): New function.
15298
15299 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
15300 (grub_efi_get_filename): New function.
15301 (grub_print_device_path): Renamed to ...
15302 (grub_efi_print_device_path): ... this.
15303
15304 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
15305 [MM_DEBUG] (grub_realloc): Likewise.
15306 [MM_DEBUG] (grub_free): Likewise.
15307 [MM_DEBUG] (grub_memalign): Likewise.
15308 [MM_DEBUG] (grub_mm_debug): New variable.
15309 [MM_DEBUG] (grub_debug_malloc): New function.
15310 [MM_DEBUG] (grub_debug_free): New function.
15311 [MM_DEBUG] (grub_debug_realloc): New function.
15312 [MM_DEBUG] (grub_debug_memalign): New function.
15313
15314 * kern/misc.c (grub_abort): Print a newline to distinguish
15315 the message.
15316
15317 * kern/main.c (grub_main): Call grub_machine_set_prefix and
15318 grub_set_root_dev after loading modules. This is necessary when
15319 setting a prefix depends on modules.
15320
15321 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
15322 (grub_efi_print_device_path): ... this.
15323 (grub_efi_get_filename): New prototype.
15324 (grub_efi_set_prefix): Likewise.
15325
15326 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
15327 and grub/disk.h.
15328 (grub_efidisk_get_device_handle): New prototype.
15329 (grub_efidisk_get_device_name): Likewise.
15330
15331 * include/grub/mm.h: Include config.h.
15332 (MM_DEBUG): Removed.
15333 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
15334 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
15335 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
15336 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
15337 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
15338 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
15339 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
15340 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
15341 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
15342
15343 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
15344
15345 * disk/efi/efidisk.c: Include grub/partition.h.
15346 (iterate_child_devices): New function.
15347 (add_device): First, compare only last device path nodes, so that
15348 devices are sorted by the types.
15349 (grub_efidisk_get_device_handle): New function.
15350 (grub_efidisk_get_device_name): Likewise.
15351
15352 * configure.ac (--enable-mm-debug): New option to enable the
15353 memory manager debugging feature. This makes the binary much
15354 bigger, so is disabled by default.
15355
15356 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
15357
15358 Use grub_abort instead of grub_stop, and grub_exit must be
15359 define in each architecture now. Also, this change adds support
15360 for EFI disks.
15361
15362 * util/i386/pc/grub-probefs.c: Include grub/term.h.
15363 (grub_getkey): New function.
15364 (grub_term_get_current): Likewise.
15365
15366 * util/i386/pc/grub-setup.c: Include grub/term.h.
15367 (grub_getkey): New function.
15368 (grub_term_get_current): Likewise.
15369
15370 * util/misc.c (grub_stop): Renamed to ...
15371 (grub_exit): ... this.
15372
15373 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
15374 (grub_exit): ... this.
15375 (grub_machine_init): Use grub_abort instead of abort.
15376 (grub_stop): Removed.
15377
15378 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
15379 abort.
15380
15381 * kern/i386/pc/startup.S (grub_exit): New function.
15382 (cold_reboot): New label.
15383
15384 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
15385 (grub_efi_init): Call grub_efidisk_init.
15386 (grub_efi_fini): Call grub_efidisk_fini.
15387
15388 * kern/efi/efi.c: Include grub/mm.h.
15389 (grub_efi_console_control_guid): Renamed to ...
15390 (console_control_guid): ... this.
15391 (grub_efi_loaded_image_guid): Renamed to ...
15392 (loaded_image_guid): ... this.
15393 (grub_efi_locate_handle): New function.
15394 (grub_efi_open_protocol): Likewise.
15395 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
15396 GRUB_EFI_CONSOLE_CONTROL_GUID.
15397 (grub_efi_exit): Removed.
15398 (grub_stop): Likewise.
15399 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
15400 (grub_exit): New function.
15401 (grub_print_device_path): Likewise.
15402
15403 * kern/rescue.c (grub_rescue_cmd_exit): New function.
15404 (grub_enter_rescue_mode): Register "exit".
15405
15406 * kern/misc.c (grub_real_dprintf): A cosmetic change.
15407 (grub_abort): New function.
15408
15409 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
15410
15411 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
15412
15413 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
15414
15415 * include/grub/efi/efi.h (grub_efi_exit): Removed.
15416 (grub_print_device_path): New prototype.
15417 (grub_efi_locate_handle): Likewise.
15418 (grub_efi_open_protocol): Likewise.
15419
15420 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
15421 * disk/efi/efidisk.c: Likewise.
15422
15423 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
15424
15425 * include/grub/efi/console_control.h
15426 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
15427
15428 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
15429 last 8 bytes as an array.
15430 (GRUB_EFI_DISK_IO_GUID): New macro.
15431 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
15432 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
15433 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
15434 grub_uint8_t.
15435 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
15436 (struct grub_efi_device_path): Rename the member "sub_type" to
15437 "subtype".
15438 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
15439 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
15440 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
15441 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
15442 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
15443 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
15444 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
15445 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
15446 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
15447 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
15448 (struct grub_efi_pci_device_path): New structure.
15449 (grub_efi_pci_device_path_t): New type.
15450 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
15451 (struct grub_efi_pccard_device_path): New structure.
15452 (grub_efi_pccard_device_path_t): New type.
15453 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
15454 (struct grub_efi_memory_mapped_device_path): New structure.
15455 (grub_efi_memory_mapped_device_path_t): New type.
15456 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
15457 (struct grub_efi_vendor_device_path): New structure.
15458 (grub_efi_vendor_device_path_t): New type.
15459 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
15460 (struct grub_efi_controller_device_path): New structure.
15461 (grub_efi_controller_device_path_t): New type.
15462 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
15463 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
15464 (struct grub_efi_acpi_device_path): New structure.
15465 (grub_efi_acpi_device_path_t): New type.
15466 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
15467 (struct grub_efi_expanded_acpi_device_path): New structure.
15468 (grub_efi_expanded_acpi_device_path_t): New type.
15469 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
15470 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
15471 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
15472 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
15473 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
15474 (struct grub_efi_atapi_device_path): New structure.
15475 (grub_efi_atapi_device_path_t): New type.
15476 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
15477 (struct grub_efi_fibre_channel_device_path): New structure.
15478 (grub_efi_fibre_channel_device_path_t): New type.
15479 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
15480 (struct grub_efi_1394_device_path): New structure.
15481 (grub_efi_1394_device_path_t): New type.
15482 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
15483 (struct grub_efi_usb_device_path): New structure.
15484 (grub_efi_usb_device_path_t): New type.
15485 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
15486 (struct grub_efi_usb_class_device_path): New structure.
15487 (grub_efi_usb_class_device_path_t): New type.
15488 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
15489 (struct grub_efi_i2o_device_path): New structure.
15490 (grub_efi_i2o_device_path_t): New type.
15491 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
15492 (struct grub_efi_mac_address_device_path): New structure.
15493 (grub_efi_mac_address_device_path_t): New type.
15494 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
15495 (struct grub_efi_ipv4_device_path): New structure.
15496 (grub_efi_ipv4_device_path_t): New type.
15497 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
15498 (struct grub_efi_ipv6_device_path): New structure.
15499 (grub_efi_ipv6_device_path_t): New type.
15500 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
15501 (struct grub_efi_infiniband_device_path): New structure.
15502 (grub_efi_infiniband_device_path_t): New type.
15503 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
15504 (struct grub_efi_uart_device_path): New structure.
15505 (grub_efi_uart_device_path_t): New type.
15506 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
15507 (struct grub_efi_vendor_messaging_device_path): New structure.
15508 (grub_efi_vendor_messaging_device_path_t): New type.
15509 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
15510 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
15511 (struct grub_efi_hard_drive_device_path): New structure.
15512 (grub_efi_hard_drive_device_path_t): New type.
15513 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
15514 (struct grub_efi_cdrom_device_path): New structure.
15515 (grub_efi_cdrom_device_path_t): New type.
15516 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
15517 (struct grub_efi_vendor_media_device_path): New structure.
15518 (grub_efi_vendor_media_device_path_t): New type.
15519 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
15520 (struct grub_efi_file_path_device_path): New structure.
15521 (grub_efi_file_path_device_path_t): New type.
15522 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
15523 (struct grub_efi_protocol_device_path): New structure.
15524 (grub_efi_protocol_device_path_t): New type.
15525 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
15526 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
15527 (struct grub_efi_bios_device_path): New structure.
15528 (grub_efi_bios_device_path_t): New type.
15529 (struct grub_efi_disk_io): New structure.
15530 (grub_efi_disk_io_t): New type.
15531 (struct grub_efi_block_io_media): New structure.
15532 (grub_efi_block_io_media_t): New type.
15533 (struct grub_efi_block_io): New structure.
15534 (grub_efi_block_io_t): New type.
15535
15536 * include/grub/misc.h (grub_stop): Removed.
15537 (grub_exit): New prototype.
15538 (grub_abort): Likewise.
15539
15540 * include/grub/disk.h (enum grub_disk_dev_id): Added
15541 GRUB_DISK_DEVICE_EFIDISK_ID.
15542
15543 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
15544 disk/efi/efidisk.c.
15545 (kernel_syms.lst): Remove the target if an error occurs.
15546
15547 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
15548
15549 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
15550 as it was simply too buggy.
15551
15552 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
15553
15554 * kern/misc.c (grub_lltoa): New function.
15555 (grub_vsprintf): Added support for the long long suffix,
15556 i.e. "ll".
15557
15558 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
15559
15560 * Makefile.in (LDFLAGS): Add variable.
15561 (LD): Remove variable.
15562 * configure.ac: Add -m32 to LDFLAGS.
15563 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
15564 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
15565 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
15566 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
15567 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
15568 variables.
15569 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
15570 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
15571 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
15572
15573 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
15574
15575 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
15576 length for unknown glyph.
15577
15578 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
15579
15580 Add support for pre-loaded modules into the EFI port.
15581
15582 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
15583 completely. Accept one more argument DIR. The caller has changed.
15584
15585 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
15586
15587 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
15588 (grub_efi_loaded_image_guid): New variable.
15589 (grub_efi_get_loaded_image): New function.
15590 (grub_arch_modules_addr): Likewise.
15591
15592 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
15593 prototype.
15594
15595 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
15596 (struct grub_efi_loaded_image): New structure.
15597 (grub_efi_loaded_image_t): New type.
15598
15599 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
15600
15601 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
15602 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
15603 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
15604
15605 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
15606
15607 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
15608
15609 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
15610
15611 * DISTLIST: Added include/grub/efi/console.h,
15612 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
15613 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15614
15615 * include/grub/efi/console.h: New file.
15616 * include/grub/efi/time.h: Likewise.
15617 * include/grub/i386/efi/kernel.h: Likewise.
15618 * kern/efi/init.c: Likewise.
15619 * kern/efi/mm.c: Likewise.
15620 * term/efi/console.c: Likewise.
15621
15622 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
15623 (grub_stop): Removed.
15624 (grub_get_rtc): Likewise.
15625 (grub_machine_init): Simply call grub_efi_init.
15626 (grub_machine_fini): Call grub_efi_fini.
15627
15628 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
15629 (grub_efi_output_string): Removed.
15630 (grub_efi_stall): New function.
15631 (grub_stop): Likewise.
15632 (grub_get_rtc): Likewise.
15633
15634 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
15635 (grub_efi_stall): New prototype.
15636 (grub_efi_allocate_pages): Likewise.
15637 (grub_efi_free_pages): Likewise.
15638 (grub_efi_get_memory_map): Likewise.
15639 (grub_efi_mm_init): Likewise.
15640 (grub_efi_mm_fini): Likewise.
15641 (grub_efi_init): Likewise.
15642 (grub_efi_fini): Likewise.
15643
15644 * include/grub/i386/efi/time.h: Do not include
15645 grub/symbol.h. Include grub/efi/time.h.
15646 (GRUB_TICKS_PER_SECOND): Removed.
15647 (grub_get_rtc): Likewise.
15648
15649 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
15650 Added padding. The EFI spec is buggy.
15651 (GRUB_EFI_BLACK): New macro.
15652 (GRUB_EFI_BLUE): Likewise.
15653 (GRUB_EFI_GREEN): Likewise.
15654 (GRUB_EFI_CYAN): Likewise.
15655 (GRUB_EFI_RED): Likewise.
15656 (GRUB_EFI_MAGENTA): Likewise.
15657 (GRUB_EFI_BROWN): Likewise.
15658 (GRUB_EFI_LIGHTGRAY): Likewise.
15659 (GRUB_EFI_BRIGHT): Likewise.
15660 (GRUB_EFI_DARKGRAY): Likewise.
15661 (GRUB_EFI_LIGHTBLUE): Likewise.
15662 (GRUB_EFI_LIGHTGREEN): Likewise.
15663 (GRUB_EFI_LIGHTCYAN): Likewise.
15664 (GRUB_EFI_LIGHTRED): Likewise.
15665 (GRUB_EFI_LIGHTMAGENTA): Likewise.
15666 (GRUB_EFI_YELLOW): Likewise.
15667 (GRUB_EFI_WHITE): Likewise.
15668 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
15669 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
15670 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
15671 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
15672 (GRUB_EFI_BACKGROUND_RED): Likewise.
15673 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
15674 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
15675 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
15676 (GRUB_EFI_TEXT_ATTR): Likewise.
15677
15678 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
15679 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15680 (kernel_mod_HEADERS): Added efi/time.h.
15681
15682 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
15683
15684 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
15685 include/grub/efi/api.h, include/grub/efi/console_control.h,
15686 include/grub/efi/efi.h, include/grub/efi/pe32.h,
15687 include/grub/i386/efi/time.h, kern/efi/efi.c,
15688 kern/i386/efi/init.c, kern/i386/efi/startup.S,
15689 and util/i386/efi/grub-mkimage.c.
15690
15691 * Makefile.in (RMKFILES): Added i386-efi.rmk.
15692
15693 * genmk.rb (PModule#rule): Do not export symbols if
15694 #{prefix}_EXPORTS is set to "no".
15695
15696 * conf/i386-efi.mk: New file.
15697 * conf/i386-efi.rmk: Likewise.
15698 * include/grub/efi/api.h: Likewise.
15699 * include/grub/efi/console_control.h: Likewise.
15700 * include/grub/efi/efi.h: Likewise.
15701 * include/grub/efi/pe32.h: Likewise.
15702 * include/grub/i386/efi/time.h: Likewise.
15703 * kern/efi/efi.c: Likewise.
15704 * kern/i386/efi/init.c: Likewise.
15705 * kern/i386/efi/startup.S: Likewise.
15706 * util/i386/efi/grub-mkimage.c: Likewise.
15707
15708 2006-04-17 Marco Gerards <marco@gnu.org>
15709
15710 * include/grub/script.h: Include <grub/parser.h> and
15711 "grub_script.tab.h".
15712 (struct grub_lexer_param): New struct.
15713 (struct grub_parser_param): Likewise.
15714 (grub_script_create_arglist): Pass the state in an argument.
15715 (grub_script_add_arglist): Likewise.
15716 (grub_script_create_cmdline): Likewise.
15717 (grub_script_create_cmdblock): Likewise.
15718 (grub_script_create_cmdif): Likewise.
15719 (grub_script_create_cmdmenu): Likewise.
15720 (grub_script_add_cmd): Likewise.
15721 (grub_script_arg_add): Likewise.
15722 (grub_script_lexer_ref): Likewise.
15723 (grub_script_lexer_deref): Likewise.
15724 (grub_script_lexer_record_start): Likewise.
15725 (grub_script_lexer_record_stop): Likewise.
15726 (grub_script_mem_record): Likewise.
15727 (grub_script_mem_record_stop): Likewise.
15728 (grub_script_malloc): Likewise.
15729 (grub_script_yylex): Likewise.
15730 (grub_script_yyparse): Likewise.
15731 (grub_script_yyerror): Likewise.
15732 (grub_script_yylex): Likewise.
15733 (grub_script_lexer_init): Return the state.
15734
15735 * normal/lexer.c (grub_script_lexer_state): Removed variable.
15736 (grub_script_lexer_done): Likewise.
15737 (grub_script_lexer_getline): Likewise.
15738 (grub_script_lexer_refs): Likewise.
15739 (script): Likewise.
15740 (newscript): Likewise.
15741 (record): Likewise.
15742 (recording): Likewise.
15743 (recordpos): Likewise.
15744 (recordlen): Likewise.
15745 (grub_script_lexer_init): Return the state instead of setting
15746 global variables.
15747 (grub_script_lexer_ref): Use the newly added argument for state
15748 instead of globals.
15749 (grub_script_lexer_deref): Likewise.
15750 (grub_script_lexer_record_start): Likewise.
15751 (grub_script_lexer_record_stop): Likewise.
15752 (recordchar): Likewise.
15753 (nextchar): Likewise.
15754 (grub_script_yylex2): Likewise.
15755 (grub_script_yylex): Likewise.
15756 (grub_script_yyerror): Likewise.
15757
15758 * normal/parser.y (func_mem): Removed variable.
15759 (menu_entry): Likewise.
15760 (err): Likewise.
15761 (%lex-param): New parser option.
15762 (%parse-param): Likewise.
15763 (script): Always return the AST.
15764 (argument): Pass the state around.
15765 (arguments): Likewise.
15766 (grubcmd): Likewise.
15767 (commands): Likewise.
15768 (function): Likewise.
15769 (menuentry): Likewise.
15770 (if_statement): Likewise.
15771 (if): Likewise.
15772
15773 * normal/script.c (grub_script_memused): Removed variable.
15774 (grub_script_parsed): Likewise.
15775 (grub_script_malloc): Added a state argument. Use that instead of
15776 global variables.
15777 (grub_script_mem_record): Likewise.
15778 (grub_script_mem_record_stop): Likewise.
15779 (grub_script_arg_add): Likewise.
15780 (grub_script_add_arglist): Likewise.
15781 (grub_script_create_cmdline): Likewise.
15782 (grub_script_create_cmdif): Likewise.
15783 (grub_script_create_cmdmenu): Likewise.
15784 (grub_script_add_cmd): Likewise.
15785 (grub_script_parse): Setup the state before calling the parser.
15786
15787 2006-04-16 Marco Gerards <marco@gnu.org>
15788
15789 * normal/command.c (grub_command_init): Remove the title command.
15790
15791 * normal/lexer.c (grub_script_yylex): Renamed from this...
15792 (grub_script_yylex2): ... to this.
15793 (grub_script_yylex): New function. Temporary
15794 introduced to filter some tokens.
15795 (grub_script_yyerror): Print a newline.
15796
15797 * normal/main.c (read_config_file): Output information about the
15798 lines that contain errors. Wait for a key after all lines have
15799 been processed. Don't return an empty menu.
15800
15801 * normal/parser.y (func_mem): Don't initialize.
15802 (menu_entry): Likewise.
15803 (err): New variable.
15804 (script): Don't return anything when an error was encountered.
15805 (ws, returns): Removed rules.
15806 (argument): Disabled concatenated variable support.
15807 (arguments): Remove explicit separators.
15808 (grubcmd): Likewise.
15809 (function): Likewise.
15810 (menuentry): Likewise.
15811 (if): Likewise.
15812 (commands): Likewise. Add error handling.
15813
15814 * normal/script.c (grub_script_create_cmdline): If
15815 `grub_script_parsed' is 0, assume the parser encountered an error.
15816
15817 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
15818
15819 * configure.ac: Add support for EFI. Fix the typo
15820 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
15821
15822 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15823
15824 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
15825 foreign multibyte characters should be shown correctly.
15826
15827 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15828
15829 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
15830 calculation.
15831 (read_config_file): Made it to close file before returning.
15832
15833 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
15834
15835 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
15836 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
15837 video/i386/pc/vbefill.c.
15838
15839 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
15840 video/i386/pc/vbefill.c.
15841
15842 * include/grub/video.h (grub_video_blit_format): New enum.
15843 (grub_video_mode_info): Added new member blit_format.
15844 (grub_video_get_blit_format): New function prototype.
15845
15846 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
15847 function prototype.
15848 (grub_video_vbe_map_rgb): Likewise.
15849 (grub_video_vbe_unmap_color): Likewise.
15850
15851 * include/grub/i386/pc/vbeblit.h: New file.
15852
15853 * include/grub/i386/pc/vbefill.h: New file.
15854
15855 * video/video.c (grub_video_get_blit_format): New function.
15856 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
15857 (grub_video_vbe_map_rgb): Likewise.
15858 (grub_video_vbe_unmap_color): Likewise.
15859
15860 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
15861 optimized fills.
15862 (grub_video_vbe_blit_render_target): Changed to use more optimized
15863 blits.
15864 (grub_video_vbe_setup): Added detection for optimized settings.
15865 (grub_video_vbe_create_render_target): Likewise.
15866
15867 * video/i386/pc/vbeblit.c: New file.
15868
15869 * video/i386/pc/vbefill.c: New file.
15870
15871 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
15872
15873 * font/manager.c (grub_font_get_glyph): Removed font fixup from
15874 here...
15875
15876 * util/unifont2pff.rb: ... and moved it to here. Improved argument
15877 parsing to support both hex and dec ranges. If filename was missing
15878 show usage information.
15879
15880 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
15881
15882 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
15883 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
15884
15885 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
15886 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
15887 (video_mod_SOURCES): Added.
15888 (video_mod_CFLAGS): Likewise.
15889 (video_mod_LDFLAGS): Likewise.
15890 (gfxterm_mod_SOURCES): Likewise.
15891 (gfxterm_mod_CFLAGS): Likewise.
15892 (gfxterm_mod_LDFLAGS): Likewise.
15893 (videotest_mod_SOURCES): Likewise.
15894 (videotest_mod_CFLAGS): Likewise.
15895 (videotest_mod_LDFLAGS): Likewise.
15896 (vesafb_mod_SOURCES): Removed.
15897 (vesafb_mod_CFLAGS): Likewise.
15898 (vesafb_mod_LDFLAGS): Likewise.
15899 (vga_mod_SOURCES): Likewise.
15900 (vga_mod_CFLAGS): Likewise.
15901 (vga_mod_LDFLAGS): Likewise.
15902
15903 * commands/videotest.c: New file.
15904
15905 * font/manager.c (fill_with_default_glyph): Modified to use
15906 grub_font_glyph.
15907 (grub_font_get_glyph): Likewise.
15908 (fontmanager): Renamed from this...
15909 (font_manager): ... to this.
15910
15911 * include/grub/font.h (grub_font_glyph): Added new structure.
15912 (grub_font_get_glyph): Modified to use grub_font_glyph.
15913
15914 * include/grub/misc.h (grub_abs): Added as inline function.
15915
15916 * include/grub/video.h: New file.
15917
15918 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
15919 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
15920 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
15921 (grub_vbe_get_controller_info): Renamed from this...
15922 (grub_vbe_bios_get_controller_info): ... to this.
15923 (grub_vbe_get_mode_info): Renamed from this...
15924 (grub_vbe_bios_get_mode_info): ... to this.
15925 (grub_vbe_set_mode): Renamed from this...
15926 (grub_vbe_bios_set_mode): ... to this.
15927 (grub_vbe_get_mode): Renamed from this...
15928 (grub_vbe_bios_get_mode): ... to this.
15929 (grub_vbe_set_memory_window): Renamed from this...
15930 (grub_vbe_bios_set_memory_window): ... to this.
15931 (grub_vbe_get_memory_window): Renamed from this...
15932 (grub_vbe_bios_get_memory_window): ... to this.
15933 (grub_vbe_set_scanline_length): Renamed from this...
15934 (grub_vbe_set_scanline_length): ... to this.
15935 (grub_vbe_get_scanline_length): Renamed from this...
15936 (grub_vbe_bios_get_scanline_length): ... to this.
15937 (grub_vbe_set_display_start): Renamed from this...
15938 (grub_vbe_bios_set_display_start): ... to this.
15939 (grub_vbe_get_display_start): Renamed from this...
15940 (grub_vbe_bios_get_display_start): ... to this.
15941 (grub_vbe_set_palette_data): Renamed from this...
15942 (grub_vbe_bios_set_palette_data): ... to this.
15943 (grub_vbe_set_pixel_rgb): Removed.
15944 (grub_vbe_set_pixel_index): Likewise.
15945
15946 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
15947 from this...
15948 (grub_vbe_bios_get_controller_info): ... to this.
15949 (grub_vbe_get_mode_info): Renamed from this...
15950 (grub_vbe_bios_get_mode_info): ... to this.
15951 (grub_vbe_set_mode): Renamed from this...
15952 (grub_vbe_bios_set_mode): ... to this.
15953 (grub_vbe_get_mode): Renamed from this...
15954 (grub_vbe_bios_get_mode): ... to this.
15955 (grub_vbe_set_memory_window): Renamed from this...
15956 (grub_vbe_bios_set_memory_window): ... to this.
15957 (grub_vbe_get_memory_window): Renamed from this...
15958 (grub_vbe_bios_get_memory_window): ... to this.
15959 (grub_vbe_set_scanline_length): Renamed from this...
15960 (grub_vbe_set_scanline_length): ... to this.
15961 (grub_vbe_get_scanline_length): Renamed from this...
15962 (grub_vbe_bios_get_scanline_length): ... to this.
15963 (grub_vbe_set_display_start): Renamed from this...
15964 (grub_vbe_bios_set_display_start): ... to this.
15965 (grub_vbe_get_display_start): Renamed from this...
15966 (grub_vbe_bios_get_display_start): ... to this.
15967 (grub_vbe_set_palette_data): Renamed from this...
15968 (grub_vbe_bios_set_palette_data): ... to this.
15969 (grub_vbe_bios_get_controller_info): Fixed problem with registers
15970 getting corrupted after calling it. Added more pushes and pops.
15971 (grub_vbe_bios_set_mode): Likewise.
15972 (grub_vbe_bios_get_mode): Likewise.
15973 (grub_vbe_bios_get_memory_window): Likewise.
15974 (grub_vbe_bios_set_scanline_length): Likewise.
15975 (grub_vbe_bios_get_scanline_length): Likewise.
15976 (grub_vbe_bios_get_display_start): Likewise.
15977 (grub_vbe_bios_set_palette_data): Likewise.
15978
15979 * normal/cmdline.c (cl_set_pos): Refresh the screen.
15980 (cl_insert): Likewise.
15981 (cl_delete): Likewise.
15982
15983 * term/gfxterm.c: New file.
15984
15985 * term/i386/pc/vesafb.c: Removed file.
15986
15987 * video/video.c: New file.
15988
15989 * video/i386/pc/vbe.c (real2pm): Added new function.
15990 (grub_video_vbe_draw_pixel): Likewise.
15991 (grub_video_vbe_get_video_ptr): Likewise.
15992 (grub_video_vbe_get_pixel): Likewise
15993 (grub_video_vbe_init): Likewise.
15994 (grub_video_vbe_fini): Likewise.
15995 (grub_video_vbe_setup): Likewise.
15996 (grub_video_vbe_get_info): Likewise.
15997 (grub_video_vbe_set_palette): Likewise.
15998 (grub_video_vbe_get_palette): Likewise.
15999 (grub_video_vbe_set_viewport): Likewise.
16000 (grub_video_vbe_get_viewport): Likewise.
16001 (grub_video_vbe_map_color): Likewise.
16002 (grub_video_vbe_map_rgb): Likewise.
16003 (grub_video_vbe_map_rgba): Likewise.
16004 (grub_video_vbe_unmap_color): Likewise.
16005 (grub_video_vbe_fill_rect): Likewise.
16006 (grub_video_vbe_blit_glyph): Likewise.
16007 (grub_video_vbe_blit_bitmap): Likewise.
16008 (grub_video_vbe_blit_render_target): Likewise.
16009 (grub_video_vbe_scroll): Likewise.
16010 (grub_video_vbe_swap_buffers): Likewise.
16011 (grub_video_vbe_create_render_target): Likewise.
16012 (grub_video_vbe_delete_render_target): Likewise.
16013 (grub_video_vbe_set_active_render_target): Likewise.
16014 (grub_vbe_set_pixel_rgb): Remove function.
16015 (grub_vbe_set_pixel_index): Likewise.
16016 (index_color_mode): Remove static variable.
16017 (active_mode): Likewise.
16018 (framebuffer): Likewise.
16019 (bytes_per_scan_line): Likewise.
16020 (grub_video_vbe_adapter): Added new static variable.
16021 (framebuffer): Likewise.
16022 (render_target): Likewise.
16023 (initial_mode): Likewise.
16024 (mode_in_use): Likewise.
16025 (mode_list): Likewise.
16026
16027 2006-03-10 Marco Gerards <marco@gnu.org>
16028
16029 * configure.ac (AC_INIT): Bumped to 1.93.
16030
16031 * DISTLIST: Added `include/grub/hfs.h'.
16032
16033 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16034
16035 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16036 18H, which might help the BIOS falling back to next boot media.
16037
16038 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16039
16040 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16041 Poe Chen <poe.poechen@gmail.com>.
16042
16043 2006-01-17 Marco Gerards <marco@gnu.org>
16044
16045 * include/grub/normal.h: Include <grub/script.h>.
16046 (grub_command_list): Removed struct.
16047 (grub_command_list_t): Removed type.
16048 (grub_menu_entry): Remove members `num' and `command_list'. Add
16049 members `commands' and `sourcecode'.
16050 * include/grub/script.h: Add inclusion guards.
16051 (grub_script_cmd_menuentry): New struct.
16052 (grub_script_execute_menuentry): New prototype.
16053 (grub_script_lexer_record_start): Likewise.
16054 (grub_script_lexer_record_stop): Likewise.
16055 * normal/execute.c (grub_script_execute_menuentry): New function.
16056 * normal/lexer.c (record, recording, recordpos, recordlen): New
16057 variables.
16058 (grub_script_lexer_record_start): New function.
16059 (grub_script_lexer_record_stop): Likewise.
16060 (recordchar): Likewise.
16061 (nextchar): Likewise.
16062 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16063 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16064 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16065 (current_menu): New variable.
16066 (free_menu): Mainly rewritten.
16067 (grub_normal_menu_addentry): New function.
16068 (read_config_file): Rewritten.
16069 * normal/menu.c (run_menu_entry): Mainly rewritten.
16070 * normal/menu_entry.c (make_screen): Rewritten the code to insert
16071 the menu entry.
16072 (run): Mainly rewritten.
16073 * normal/parser.y (menu_entry): New variable.
16074 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
16075 (menuentry): New rule.
16076 (command): Add `menuentry'.
16077 (if_statement): Allow additional returns before `fi'.
16078 * normal/script.c (grub_script_create_cmdmenu): New function.
16079
16080 2006-01-03 Marco Gerards <marco@gnu.org>
16081
16082 * INSTALL: GNU Bison is required.
16083 * configure.ac: Rewritten the test to detect Bison.
16084 * Makefile.in (YACC): New variable. Reported by Xun Sun
16085 <xun.sun.cn@gmail.com>.
16086
16087 2006-01-03 Marco Gerards <marco@gnu.org>
16088
16089 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
16090 the HFS+ filesystem to filesystem blocks.
16091 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
16092 GCC warning is silenced.
16093
16094 2006-01-03 Marco Gerards <marco@gnu.org>
16095
16096 * partmap/apple.c (apple_partition_map_iterate): Convert the data
16097 read from disk from big endian to host byte order.
16098
16099 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
16100
16101 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
16102 documentation.
16103 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
16104 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
16105 embedded HFS+ filesystem.
16106 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
16107 (grub_hfs_sblock): Move from here...
16108 * include/grub/hfs.h: To here... New file.
16109 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
16110 documentation.
16111 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
16112 New macros.
16113 (grub_hfsplus_volheader): Change type of member `magic' to
16114 `grub_uint16_t'.
16115 (grub_hfsplus_data): Add new member `embedded_offset'.
16116 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
16117 returned block.
16118 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
16119 Calculate the offset.
16120
16121 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16122
16123 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
16124 Removed.
16125 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
16126
16127 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16128
16129 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
16130 ENV->NAME is NULL after allocating ENV->VALUE.
16131
16132 2005-12-25 Marco Gerards <marco@gnu.org>
16133
16134 * kern/env.c (grub_env_set): Rewritten the error handling code.
16135
16136 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16137
16138 * geninit.sh: Made more robust, and more portable.
16139
16140 2005-12-25 Marco Gerards <marco@gnu.org>
16141
16142 Add support for Apple HFS+ filesystems.
16143
16144 * fs/hfsplus.c: New file.
16145
16146 * DISTLIST: Added `fs/hfsplus.c'.
16147
16148 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
16149 (hfsplus_mod_SOURCES): New variable.
16150 (hfsplus_mod_CFLAGS): Likewise.
16151 (hfsplus_mod_LDFLAGS): Likewise.
16152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
16153 (grub_setup_SOURCES): Likewise.
16154 (grub_mkdevicemap_SOURCES): Likewise.
16155 (grub_emu_SOURCES): Likewise.
16156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16157
16158 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
16159
16160 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
16161
16162 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16163
16164 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
16165 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
16166 include/grub/parser.h, include/grub/script.h, kern/parser.c,
16167 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
16168 normal/lexer.c, normal/parser.y, normal/script.c, and
16169 partmap/gpt.c.
16170 Removed kern/sparc64/cache.c.
16171
16172 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
16173 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
16174 grub_emu_init.c.
16175
16176 * configure.ac (AC_INIT): Bumped to 1.92.
16177
16178 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
16179
16180 * kern/err.c (grub_error_push): Added new function to support error
16181 stacks.
16182 (grub_error_pop): Likewise.
16183 (grub_error_stack_items): New local variable to support error stacks.
16184 (grub_error_stack_pos): Likewise.
16185 (grub_error_stack_assert): Likewise.
16186 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
16187 stack depth.
16188 (grub_print_error): Added support to print errors from error stack.
16189
16190 * include/grub/err.h (grub_error_push): Added function prototype.
16191 (grub_error_pop): Likewise.
16192
16193 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
16194
16195 * configure.ac: Accept `powerpc64' as host_cpu.
16196 (amd64): Rename to `biarch32'.
16197
16198 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
16199 non-cacheline-aligned addresses.
16200
16201 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
16202 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
16203 if `size' is non-zero.
16204
16205 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
16206
16207 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
16208 and `cd' to make sure the filename is not prefixed with a
16209 directory name.
16210 (pkgdata_MODULES): Add `gpt.mod'.
16211 (gpt_mod_SOURCES): New variable.
16212 (gpt_mod_CFLAGS): Likewise.
16213 (gpt_mod_LDFLAGS): Likewise.
16214
16215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
16216
16217 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
16218 New macro.
16219
16220 * partmap/gpt.c: New file.
16221
16222 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
16223 GPT partition map is detected.
16224
16225 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
16226
16227 * commands/i386/pc/play.c: New file.
16228 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
16229 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
16230 macros.
16231
16232 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
16233
16234 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
16235 ((unused))' to silence gcc warning.
16236
16237 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
16238
16239 * configure.ac: Correct `AC_PROG_YACC' test.
16240
16241 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16242
16243 * util/powerpc/ieee1275/grub-install.in: Run the mount point
16244 check before installing files.
16245
16246 2005-11-22 Mike Small <smallm@panix.com>
16247
16248 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
16249 number regex so multidigit numbers are recognized correctly.
16250
16251 2005-11-22 Mike Small <smallm@panix.com>
16252
16253 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
16254 debugging message before attempting to claim memory.
16255 (grub_rescue_cmd_initrd): Add a claim debugging message and try
16256 multiple addresses in case of failure.
16257
16258 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16259
16260 * term/tparm.c (get_space): Remove empty `if' statement.
16261
16262 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
16263
16264 * kern/parser.c (check_varstate): Rename `state' to 's'.
16265
16266 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16267
16268 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
16269 variable definitions to the beginning of each function. Sort stack
16270 variables by size.
16271 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
16272 `buf' argument to `char *'.
16273
16274 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16275
16276 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
16277 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
16278 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
16279 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16280 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16281 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16282 configfile.mod, search.mod, gzio.mod and test.mod.
16283 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16284 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16285 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16286 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16287 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16288 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16289 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16290 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16291 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16292 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16293 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16294 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16295 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16296 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16297 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16298 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16299 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16300 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16301 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16302 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16303 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16304 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16305 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
16306
16307 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
16308 `grep --include'.
16309 (pkgdata_MODULES): Add test.mod.
16310
16311 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16312
16313 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
16314 appending to variables with "+=".
16315 (PModule): Use full pathname to generate *.lst filenames.
16316
16317 * Makefile.in: Fixed list rules moved from genmk.rb.
16318 (.DELETE_ON_ERROR): New special target.
16319 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
16320
16321 * conf/i386-pc.rmk: Include conf/common.mk.
16322 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
16323 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
16324 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16325 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16326 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16327 configfile.mod, search.mod, gzio.mod and test.mod.
16328 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16329 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16330 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16331 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16332 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16333 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16334 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16335 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16336 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16337 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16338 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16339 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16340 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16341 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16342 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16343 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16344 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16345 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16346 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16347 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16348 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16349 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16350 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
16351 here...
16352 * conf/common.rmk: ... to here. New file.
16353
16354 * conf/common.mk: New file.
16355
16356 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
16357
16358 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
16359 (grub_script.tab.c): ... here.
16360
16361 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
16362 (grub_script.tab.c): ... here.
16363
16364 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
16365 (grub_script.tab.c): ... here.
16366
16367 * normal/command.c (grub_command_find): Fixed a memory leak of
16368 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
16369
16370 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16371
16372 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
16373 "@" which marks the start of a comment on ARM.
16374 (VARIABLE): Likewise.
16375
16376 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16377
16378 Add support for Linux/ADFS partition tables.
16379
16380 * partmap/acorn.c: New file.
16381
16382 * include/grub/acorn_filecore.h: Likewise.
16383
16384 * DISTLIST: Added `partmap/acorn.c' and
16385 `include/grub/acorn_filecore.h'.
16386
16387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16388 `partmap/acorn.c'.
16389 (pkgdata_MODULES): Add `acorn.mod'.
16390 (acorn_mod_SOURCES): New variable.
16391 (acorn_mod_CFLAGS): Likewise.
16392
16393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16394 `partmap/acorn.c'.
16395 (pkgdata_MODULES): Add `acorn.mod'.
16396 (acorn_mod_SOURCES): New variable.
16397 (acorn_mod_CFLAGS): Likewise.
16398
16399 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
16400 (pkgdata_MODULES): Add `acorn.mod'.
16401 (acorn_mod_SOURCES): New variable.
16402 (acorn_mod_CFLAGS): Likewise.
16403 (acorn_mod_LDFLAGS): Likewise.
16404
16405 * include/types.h (grub_disk_addr_t): New typedef.
16406
16407 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
16408
16409 * geninit.sh: New file.
16410
16411 * geninitheader.sh: Likewise.
16412
16413 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
16414 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
16415 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
16416 * commands/configfile.c (grub_configfile_init)
16417 (grub_configfile_fini): Likewise.
16418 * commands/default.c (grub_default_init, grub_default_fini):
16419 Likewise.
16420 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
16421 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
16422 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
16423 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
16424 Likewise.
16425 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
16426 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
16427 Likewise.
16428 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
16429 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
16430 Likewise.
16431 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
16432 Likewise.
16433 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
16434 Likewise.
16435 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
16436 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
16437 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
16438 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
16439 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
16440 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
16441 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
16442 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
16443 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
16444 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
16445 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
16446 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
16447 * partmap/amiga.c (grub_amiga_partition_map_init)
16448 (grub_amiga_partition_map_fini): Likewise.
16449 * partmap/apple.c (grub_apple_partition_map_init)
16450 (grub_apple_partition_map_fini): Likewise.
16451 * partmap/pc.c (grub_pc_partition_map_init)
16452 (grub_pc_partition_map_fini): Likewise.
16453 * partmap/sun.c (grub_sun_partition_map_init,
16454 grub_sun_partition_map_fini): Likewise.
16455 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
16456 Likewise.
16457
16458 * util/grub-emu.c: Include <grub_modules_init.h>.
16459 (main): Don't initialize and de-initialize any modules directly,
16460 use `grub_init_all' and `grub_fini_all' instead.
16461
16462 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
16463 `grub_vesafb_mod_init'.
16464 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
16465 all users.
16466 * term/i386/pc/vga.c (grub_vga_init): Renamed to
16467 `grub_vga_mod_init'. Updated all users.
16468 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
16469
16470 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
16471 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
16472 rules.
16473
16474 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
16475 Generate a function to initialize the module in utilities.
16476 Updated all callers.
16477 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
16478 initialize the module in utilities. Updated all callers.
16479
16480 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16481
16482 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
16483 escape sequence and a literal ^L to clear the screen.
16484
16485 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
16486 when returning from Open Firmware.
16487
16488 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16489
16490 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
16491 (grub_ofconsole_height): Likewise.
16492 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
16493 manually insert a '\n'.
16494 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
16495 `grub_ofconsole_height'. Return early if these are already set.
16496
16497 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
16498
16499 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16500 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
16501 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
16502 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
16503 and `normal/script.c'.
16504 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16505 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16506 (test_mod_SOURCES): New variable.
16507 (test_mod_CFLAGS): Likewise.
16508 (test_mod_LDFLAGS): Likewise.
16509 (pkgdata_MODULES): Add `test.mod'.
16510 (grub_script.tab.c): New rule.
16511 (grub_script.tab.h): Likewise.
16512
16513 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
16514
16515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16516 `commands/test.c', `normal/execute.c', `normal/lexer.c',
16517 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16518 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16519 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16520 (test_mod_SOURCES): New variable.
16521 (test_mod_CFLAGS): Likewise.
16522 (pkgdata_MODULES): Add `test.mod'.
16523 (grub_script.tab.c): New rule.
16524 (grub_script.tab.h): Likewise.
16525
16526 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
16527
16528 Add initial scripting support.
16529
16530 * commands/test.c: New file.
16531 * include/grub/script.h: Likewise.
16532 * normal/execute.c: Likewise.
16533 * normal/function.c: Likewise.
16534 * normal/lexer.c: Likewise.
16535 * normal/parser.y: Likewise.
16536 * normal/script.c: Likewise.
16537
16538 * configure.ac: Add `AC_PROG_YACC' test.
16539
16540 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
16541 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
16542 `normal/function.c' and `normal/script.c'.
16543 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16544 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16545 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
16546 variables.
16547 (pkgdata_MODULES): Add `test.mod'.
16548 (grub_script.tab.c): New rule.
16549 (grub_script.tab.h): Likewise.
16550
16551 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
16552
16553 * include/grub/normal.h (grub_test_init): New prototype.
16554 (grub_test_fini): Likewise.
16555
16556 * normal/command.c: Include <grub/script.h>.
16557 (grub_command_execute): Rewritten.
16558
16559 * util/grub-emu.c (main): Call `grub_test_init' and
16560 `grub_test_fini'.
16561
16562 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16563
16564 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
16565 to 0.
16566 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
16567 there are no pending characters.
16568
16569 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16570
16571 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
16572 `grub_strndup' to drop device arguments. Replace unnecessary
16573 `grub_strndup' with `grub_strdup'.
16574
16575 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16576
16577 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
16578 `debug' environment variable has been set.
16579
16580 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
16581
16582 * Makefile.in (install-local): Use $(DATA).
16583 (uninstall): Likewise.
16584 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
16585 (sbin_UTILITIES): ... to here.
16586 (sbin_SCRIPTS): New variable.
16587 (grub_install_SOURCES): New variable.
16588 * util/powerpc/ieee1275/grub-install.in: New file.
16589 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
16590 variable.
16591 (add_segments): Call `grub_util_get_path'.
16592
16593 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16594
16595 From Timothy Baldwin:
16596 * commands/ls.c (grub_ls_list_files): Close FILE with
16597 grub_file_close.
16598 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
16599
16600 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
16601
16602 * include/grub/parser.h: New file.
16603
16604 * kern/parser.c: Likewise.
16605
16606 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
16607 (grub_setup_SOURCES): Likewise.
16608 (grub_probefs_SOURCES): Likewise.
16609 (grub_emu_SOURCES): Likewise.
16610 (kernel_img_HEADERS): Add `parser.h'.
16611
16612 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16613 (grub_emu_SOURCES): Add `kern/parser.c'.
16614 (grubof_SOURCES): Likewise.
16615
16616 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16617 (grubof_SOURCES): Add `kern/parser.c'.
16618
16619 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
16620
16621 * kern/misc.c (grub_split_cmdline): Removed function.
16622
16623 * kern/rescue.c: Include <grub/parser.h>.
16624 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
16625 of `grub_split_cmdline'.
16626
16627 * normal/command.c: Include <grub/parser.h>.
16628 (grub_command_execute): Use `grub_parser_split_cmdline' instead
16629 of `grub_split_cmdline'.
16630
16631 * normal/completion.c: Include <grub/parser.h>.
16632 (cmdline_state): New variable.
16633 (iterate_dir): End the filename with a quote depending on the
16634 command line state.
16635 (get_state): new function.
16636 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
16637 split the arguments and determine the current argument. When the
16638 argument string is not quoted, escape all spaces.
16639
16640 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16641
16642 * normal/sparc64/setjmp.S: New file.
16643
16644 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16645
16646 * include/grub/sparc64/libgcc.h: New file.
16647 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
16648 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
16649 normal/sparc64/setjmp.c.
16650
16651 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16652
16653 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
16654 * kern/sparc64/cache.S: New file.
16655 * kern/sparc64/cache.c: Removed.
16656 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
16657 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
16658 -mtune=ultrasparc.
16659 (COMMON_LDFLAGS): Add -melf64_sparc.
16660 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
16661 (grubof_SOURCES): Use cache.S instead of cache.c.
16662 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
16663 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
16664 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
16665 commented though.
16666 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
16667 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
16668 (linux_mod_CFLAGS): Commented out.
16669 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
16670 out because module isn't built.
16671 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
16672 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
16673 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
16674 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
16675 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
16676 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16677 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16678 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
16679 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
16680 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
16681 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16682 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16683 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
16684 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
16685
16686 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
16687
16688 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
16689 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
16690 longer, because HFS should not be used on PC.
16691
16692 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16693
16694 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
16695 consistently within the loop.
16696
16697 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
16698
16699 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
16700 directory can not be read.
16701
16702 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16703
16704 * configure.ac (AC_INIT): Increase the version number to 1.91.
16705
16706 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
16707 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
16708 term/i386/pc/serial.c.
16709
16710 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16711
16712 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
16713 file size must be permitted.
16714
16715 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
16716 between %ah and %al.
16717
16718 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16719
16720 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
16721 grub_uint64_t.
16722 Call the hook with a NUL-terminated filename.
16723 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
16724 grub_cpu_to_be32.
16725
16726 * kern/term.c (cursor_state): New variable.
16727 (grub_term_set_current): Reset the cursor state on a new
16728 terminal.
16729 (grub_setcursor): Rewritten to use CURSOR_STATE.
16730 (grub_getcursor): New function.
16731
16732 * include/grub/term.h (grub_getcursor): New prototype.
16733
16734 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
16735 integers on ARM. Reported by Timothy Baldwin
16736 <T.E.Baldwin99@members.leeds.ac.uk>.
16737
16738 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
16739
16740 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
16741 allocated.
16742 (grub_sfs_dir): Likewise.
16743
16744 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
16745
16746 Add support for the SFS filesystem.
16747
16748 * fs/sfs.c: New file.
16749
16750 * DISTLIST: Added `fs/sfs.c'.
16751
16752 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
16753 (grub_probefs_SOURCES): Likewise.
16754 (grub_emu_SOURCES): Likewise.
16755 (pkgdata_MODULES): Add `sfs.mod'.
16756 (sfs_mod_SOURCES): New variable.
16757 (sfs_mod_CFLAGS): Likewise.
16758 (sfs_mod_LDFLAGS): Likewise.
16759
16760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
16761 (pkgdata_MODULES): Add `sfs.mod'.
16762 (sfs_mod_SOURCES): New variable.
16763 (sfs_mod_CFLAGS): Likewise.
16764
16765 * util/grub-emu.c (main): Call `grub_sfs_init' and
16766 `grub_sfs_fini'.
16767
16768 * include/grub/fs.h (grub_sfs_init): New prototype.
16769 (grub_sfs_fini): Likewise.
16770
16771 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
16772
16773 Add support for the AFFS filesystem.
16774
16775 * fs/affs.c: New file.
16776
16777 * DISTLIST: Added `fs/affs.c'.
16778
16779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
16780 (grub_probefs_SOURCES): Likewise.
16781 (grub_emu_SOURCES): Likewise.
16782 (pkgdata_MODULES): Add `affs.mod'.
16783 (affs_mod_SOURCES): New variable.
16784 (affs_mod_CFLAGS): Likewise.
16785 (affs_mod_LDFLAGS): Likewise.
16786
16787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
16788 (pkgdata_MODULES): Add `affs.mod'.
16789 (affs_mod_SOURCES): New variable.
16790 (affs_mod_CFLAGS): Likewise.
16791
16792 * util/grub-emu.c (main): Call `grub_affs_init' and
16793 `grub_affs_fini'.
16794
16795 * include/grub/fs.h (grub_affs_init): New prototype.
16796 (grub_affs_fini): Likewise.
16797
16798 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
16799
16800 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
16801
16802 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
16803
16804 * configure.ac: Accept `x86_64' as host_cpu. In that case add
16805 `-m32' to CFLAGS.
16806
16807 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
16808 linking.
16809
16810 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
16811 (COMMON_LDFLAGS): New variable.
16812 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
16813 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
16814 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
16815 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
16816 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
16817 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
16818 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
16819 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
16820 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
16821 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
16822 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16823 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16824 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
16825 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
16826 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
16827 variables.
16828 (normal_mod_ASFLAGS): Add `-m32'.
16829
16830 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
16831 (grub_host_size_t, grub_host_ssize_t): New types.
16832 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
16833 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
16834 `GRUB_HOST_SIZEOF_VOID_P'.
16835
16836 * include/grub/kernel.h (struct grub_module_header): Type of
16837 member offset changed to `grub_host_off_t'. Type of member size
16838 changed to `grub_host_size_t'.
16839 (struct grub_module_info): Type of member offset changed to
16840 `grub_host_off_t'. Type of member size changed to
16841 `grub_host_size_t'.
16842
16843 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
16844
16845 Make GRUB's kernel compliant to Multiboot Specification.
16846
16847 * kern/i386/pc/startup.S (multiboot_header): New label.
16848 (multiboot_entry): Likewise.
16849 (multiboot_trampoline): Likewise.
16850
16851 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16852 Increased to 0x4A0.
16853
16854 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
16855 put parentheses after a question mark.
16856 [!GRUB_UTIL] (my_mod): New variable.
16857
16858 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
16859
16860 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
16861
16862 Adds support for the XFS filesystem. Btrees are not supported
16863 yet.
16864
16865 * fs/xfs.c: New file.
16866
16867 * DISTLIST: Added `fs/xfs.c'.
16868
16869 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
16870 (grub_probefs_SOURCES): Likewise.
16871 (grub_emu_SOURCES): Likewise.
16872 (pkgdata_MODULES): Add `xfs.mod'.
16873 (xfs_mod_SOURCES): New variable.
16874 (xfs_mod_CFLAGS): Likewise.
16875
16876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
16877 (pkgdata_MODULES): Add `xfs.mod'.
16878 (xfs_mod_SOURCES): New variable.
16879 (xfs_mod_CFLAGS): Likewise.
16880
16881 * util/grub-emu.c (main): Call `grub_xfs_init' and
16882 `grub_xfs_fini'.
16883
16884 * include/grub/fs.h (grub_xfs_init): New prototype.
16885 (grub_xfs_fini): Likewise.
16886
16887
16888 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
16889
16890 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
16891 color modes, allow greater than 16 colors to be configured as
16892 a default palette.
16893
16894 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16895
16896 * normal/completion.c (complete_arguments): Add the qualifier
16897 const into OPTIONS.
16898
16899 From Omniflux <omniflux+lists@omniflux.com>:
16900 * include/grub/terminfo.h: New file.
16901 * include/grub/tparm.h: Likewise.
16902 * include/grub/i386/pc/serial.h: Likewise.
16903 * term/terminfo.c: Likewise.
16904 * term/tparm.c: Likewise.
16905 * term/i386/pc/serial.c: Likewise.
16906 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
16907 serial.mod.
16908 (terminfo_mod_SOURCES): New variable.
16909 (terminfo_mod_CFLAGS): Likewise.
16910 (serial_mod_SOURCES): Likewise.
16911 (serial_mod_CFLAGS): Likewise.
16912
16913 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
16914
16915 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
16916 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
16917 and kern/powerpc/ieee1275/cmain.c, respectively.
16918
16919 * boot/powerpc/ieee1275/crt0.S: Moved to ...
16920 * kern/powerpc/ieee1275/crt0.S: ... here.
16921
16922 * boot/powerpc/ieee1275/cmain.c: Moved to ...
16923 * kern/powerpc/ieee1275/cmain.c: ... here.
16924
16925 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
16926 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
16927 instead of boot/powerpc/ieee1275/crt0.S and
16928 boot/powerpc/ieee1275/cmain.c, respectively.
16929
16930 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
16931 sectors. It was not used anyway.
16932
16933 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16934
16935 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
16936 `unused parameter' warning.
16937
16938 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16939
16940 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
16941 function.
16942 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
16943 getcharwidth.
16944
16945 2005-08-28 Marco Gerards <metgerards@student.han.nl>
16946
16947 * include/grub/normal.h (enum grub_completion_type): Added
16948 `GRUB_COMPLETION_TYPE_ARGUMENT'.
16949
16950 * normal/cmdline.c (print_completion): Handle
16951 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
16952 * normal/menu_entry.c (store_completion): Likewise.
16953
16954 * normal/completion.c (complete_arguments): New function.
16955 (grub_normal_do_completion): Call `complete_arguments' when the
16956 current words start with a dash.
16957
16958 2005-08-27 Marco Gerards <metgerards@student.han.nl>
16959
16960 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
16961 `gzio.mod' instead of `io.mod').
16962
16963 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
16964
16965 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
16966 (DISTDIRS): Added io and video.
16967 Rewrite the search routine to make an output consistently.
16968
16969 * DISTLIST: Added conf/sparc64-ieee1275.mk,
16970 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
16971 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
16972 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
16973 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
16974 util/powerpc/ieee1275/misc.c.
16975
16976 * include/grub/gzio.h: New file.
16977 * io/gzio.c: Likewise.
16978
16979 * kern/file.c (grub_file_close): Call grub_device_close only if
16980 FILE->DEVICE is not NULL.
16981
16982 * include/grub/mm.h [!NULL] (NULL): New macro.
16983
16984 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
16985
16986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
16987 (pkgdata_MODULES): Added gzio.mod.
16988 (gzio_mod_SOURCES): New variable.
16989 (gzio_mod_CFLAGS): Likewise.
16990
16991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
16992 (pkgdata_MODULES): Added gzio.mod.
16993 (gzio_mod_SOURCES): New variable.
16994 (gzio_mod_CFLAGS): Likewise.
16995
16996 * commands/cat.c: Include grub/gzio.h.
16997 (grub_cmd_cat): Use grub_gzfile_open instead of
16998 grub_file_open.
16999
17000 * commands/cmp.c: Include grub/gzio.h.
17001 (grub_cmd_cmp): Use grub_gzfile_open instead of
17002 grub_file_open.
17003
17004 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17005 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17006 grub_file_open.
17007 (grub_rescue_cmd_module): Likewise.
17008
17009 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17010
17011 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17012 kern/sparc64/ieee1275/init.c because it contains _start.
17013 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17014
17015 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17016
17017 * configure.ac: Add support for sparc64 host with ieee1275
17018 firmware.
17019 * configure: Generated from configure.ac.
17020 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17021 instead of int.
17022 (grub_ofdisk_read): Likewise.
17023 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17024 pointers as (void *) to remove a warning.
17025 (grub_ofdisk_close): Likewise.
17026 (grub_ofdisk_read): Likewise.
17027 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17028 returns, so make it return void to remove a warning.
17029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17030 Corresponding prototype change.
17031 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17032 values, and cast the pointers as (void *) to remove a warning.
17033 (grub_mm_dump): Likewise.
17034 * conf/sparc64-ieee1275.mk: New file.
17035 * conf/sparc64-ieee1275.rmk: Likewise.
17036 * include/grub/sparc64/setjmp.h: Likewise.
17037 * include/grub/sparc64/types.h: Likewise.
17038 * include/grub/sparc64/ieee1275/console.h: Likewise.
17039 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17040 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17041 * include/grub/sparc64/ieee1275/time.h: Likewise.
17042 * kern/sparc64/cache.c: Likewise.
17043 * kern/sparc64/dl.c: Likewise.
17044 * kern/sparc64/ieee1275/init.c: Likewise.
17045 * kern/sparc64/ieee1275/openfw.c: Likewise.
17046
17047 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17048
17049 * util/console.c (grub_ncurses_putchar): If C is greater than
17050 0x7f, set C to a question mark.
17051 (grub_ncurses_getcharwidth): New function.
17052 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17053 getcharwidth.
17054
17055 * normal/menu.c (print_entry): Made aware of Unicode. First,
17056 convert TITLE to UCS-4, and predict the cursor position by
17057 grub_getcharwidth.
17058
17059 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17060 const to SRC.
17061 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17062
17063 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17064
17065 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17066 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17067 grub_strcat.
17068
17069 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17070 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17071 grub_strcpy and grub_strlen. Take it into account that a space
17072 character is inserted as a delimiter.
17073
17074 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17075
17076 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
17077 invalid magic in the error.
17078
17079 * commands/search.c: New file.
17080
17081 * util/grub-emu.c (main): Call grub_search_init and
17082 grub_search_fini.
17083
17084 * kern/rescue.c (grub_rescue_print_disks): Removed.
17085 (grub_rescue_print_devices): New function.
17086 (grub_rescue_cmd_ls): Use grub_device_iterate with
17087 grub_rescue_print_devices instead of grub_disk_dev_iterate with
17088 grub_rescue_print_disks.
17089
17090 * kern/partition.c (grub_partition_iterate): Return the result of
17091 PARTMAP->ITERATE instead of GRUB_ERRNO.
17092
17093 * kern/device.c: Include grub/partition.h.
17094 (grub_device_iterate): New function.
17095
17096 * include/grub/partition.h (grub_partition_iterate): Return int
17097 instead of grub_err_t.
17098
17099 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
17100 prototype.
17101 [GRUB_UTIL] (grub_search_fini): Likewise.
17102
17103 * include/grub/device.h (grub_device_iterate): New prototype.
17104
17105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17106 commands/search.c.
17107 (pkgdata_MODULES): Added search.mod.
17108 (search_mod_SOURCES): New variable.
17109 (search_mod_CFLAGS): Likewise.
17110
17111 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
17112 (pkgdata_MODULES): Added search.mod.
17113 (search_mod_SOURCES): New variable.
17114 (search_mod_CFLAGS): Likewise.
17115
17116 * commands/ls.c (grub_ls_list_disks): Renamed to ...
17117 (grub_ls_list_devices): ... this, and use grub_device_iterate.
17118 All callers changed.
17119
17120 * DISTLIST: Added commands/search.c.
17121
17122 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17123
17124 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
17125 conversion.
17126 (grub_getcharwidth): New function.
17127
17128 * kern/misc.c (grub_utf8_to_ucs4): New function.
17129
17130 * include/grub/term.h (struct grub_term): Added a new member
17131 "getcharwidth".
17132 (grub_getcharwidth): New prototype.
17133
17134 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
17135
17136 * term/i386/pc/console.c (map_char): New function. Segregated from
17137 grub_console_putchar.
17138 (grub_console_putchar): Use map_char.
17139 (grub_console_getcharwidth): New function.
17140 (grub_console_term): Specified grub_console_getcharwidth as
17141 getcharwidth.
17142
17143 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
17144 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
17145
17146 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
17147 GRUB_ERRNO.
17148 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
17149 on grub_strtoul completely.
17150 (write_char): Declare local variables in the beginning of the
17151 function.
17152 (grub_vesafb_getcharwidth): New function.
17153 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
17154 getcharwidth.
17155
17156 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
17157
17158 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
17159 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
17160 commands/i386/pc/vbetest.c.
17161
17162 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
17163 call grub_vbe_get_controller_info again, because the returned
17164 information is volatile.
17165 (grub_vbe_set_video_mode): Mostly rewritten.
17166 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
17167 grub_vbe_status_t correctly.
17168 (grub_vbe_get_video_mode_info): Likewise.
17169 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
17170 several if statements.
17171
17172 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
17173 * commands/i386/pc/vbeinfo.c: ... this.
17174
17175 * commands/i386/pc/vbe_test.c: Renamed to ...
17176 * commands/i386/pc/vbetest.c: ... this.
17177
17178 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
17179 ...
17180 (grub_cmd_vbeinfo): ... this. Save video modes before
17181 iterating. Skip a video mode, if it is not available, not enough
17182 information is given or it is monochrome. Show the memory
17183 model. Leave the interpretation of MODEVAR to grub_strtoul
17184 completely.
17185 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
17186 (GRUB_MOD_FINI): Likewise.
17187
17188 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
17189 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
17190 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
17191 duplicated grub_env_get. Leave the interpretation of MODEVAR to
17192 grub_strtoul completely.
17193 (real2pm): Removed.
17194 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
17195 (GRUB_MOD_FINI): Likewise.
17196
17197 * normal/misc.c: Include grub/mm.h.
17198
17199 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
17200 vbe_list_modes with vbetest.mod and vbeinfo.mod.
17201 (vbe_list_modes_mod_SOURCES): Removed.
17202 (vbe_list_modes_mod_CFLAGS): Likewise.
17203 (vbe_test_mod_SOURCES): Likewise.
17204 (vbe_test_mod_CFLAGS): Likewise.
17205 (vbeinfo_mod_SOURCES): New variable.
17206 (vbeinfo_mod_CFLAGS): Likewise.
17207 (vbetest_mod_SOURCES): Likewise.
17208 (vbetest_mod_CFLAGS): Likewise.
17209
17210 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
17211
17212 * normal/misc.c: New file.
17213
17214 * DISTLIST: Added normal/misc.c.
17215
17216 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
17217 DISK to HOOK. Call HOOK with DISK.
17218 * partmap/apple.c (apple_partition_map_iterate): Likewise.
17219 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17220 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17221
17222 * normal/menu_entry.c (struct screen): Added a new member
17223 "completion_shown".
17224 (completion_buffer): New global variable.
17225 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
17226 (store_completion): New function.
17227 (complete): Likewise.
17228 (clear_completions): Likewise.
17229 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
17230 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
17231 a tab, call complete.
17232
17233 * normal/completion.c (disk_dev): Removed.
17234 (print_simple_completion): Likewise.
17235 (print_partition_completion): Likewise.
17236 (print_func): New global variable.
17237 (add_completion): Do not take the arguments WHAT or PRINT any
17238 longer. Added a new argument TYPE. Instead of printing directly,
17239 call PRINT_FUNC if not NULL.
17240 All callers changed.
17241 (complete_device): Use a local variable DEV instead of
17242 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
17243 (grub_normal_do_completion): Take a new argument HOOK. Do not
17244 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
17245 empty string, return NULL instead.
17246 All callers changed.
17247
17248 * normal/cmdline.c (print_completion): New function.
17249
17250 * kern/partition.c (grub_partition_iterate): Add an argument DISK
17251 to HOOK.
17252 All callers changed.
17253
17254 * kern/disk.c (grub_print_partinfo): Removed.
17255
17256 * include/grub/partition.h (struct grub_partition_map): Add a new
17257 argument DISK into HOOK of ITERATE.
17258 (grub_partition_iterate): Add a new argument DISK to HOOK.
17259
17260 * include/grub/normal.h (enum grub_completion_type): New enum.
17261 (grub_completion_type_t): New type.
17262 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
17263 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
17264 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
17265 (GRUB_COMPLETION_TYPE_FILE): Likewise.
17266 (grub_normal_do_completion): Added a new argument HOOK.
17267 (grub_normal_print_device_info): New prototype.
17268
17269 * include/grub/disk.h (grub_print_partinfo): Removed.
17270
17271 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
17272 (normal_mod_SOURCES): Likewise.
17273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17274 (normal_mod_SOURCES): Likewise.
17275
17276 * commands/ls.c (grub_ls_list_disks): Use
17277 grub_normal_print_device_info instead of grub_print_partinfo. Free
17278 PNAME.
17279 (grub_ls_list_files): Use grub_normal_print_device_info instead of
17280 duplicating the code.
17281
17282 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17283
17284 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
17285 follow GCS more precisely.
17286 * commands/i386/pc/vbe_test.c: Likewise.
17287 * include/grub/i386/pc/vbe.h: Likewise.
17288 * term/i386/pc/vesafb.c: Likewise.
17289 * video/i386/pc/vbe.c: Likewise.
17290
17291 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17292
17293 * DISTLIST: Added term/i386/pc/vesafb.c
17294 DISTLIST: Added video/i386/pc/vbe.c
17295 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
17296 DISTLIST: Added commands/i386/pc/vbe_test.c.
17297 * commands/i386/pc/vbe_list_modes.c: New file.
17298 * commands/i386/pc/vbe_test.c: Likewise.
17299 * term/i386/pc/vesafb.c: Likewise.
17300 * video/i386/pc/vbe.c: Likewise.
17301 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
17302 (grub_vbe_probe) Added prototype.
17303 (grub_vbe_set_video_mode) Likewise.
17304 (grub_vbe_get_video_mode) Likewise.
17305 (grub_vbe_get_video_mode_info) Likewise.
17306 (grub_vbe_set_pixel_rgb) Likewise.
17307 (grub_vbe_set_pixel_index) Likewise.
17308 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
17309 (pkgdata_MODULES): Added vesafb.mod.
17310 (pkgdata_MODULES): Added vbe_list_modes.mod.
17311 (pkgdata_MODULES): Added vbe_test.mod.
17312 (vbe_mod_SOURCES): Added.
17313 (vbe_mod_CFLAGS): Likewise.
17314 (vesafb_mod_SOURCES): Likewise.
17315 (vesafb_mod_CFLAGS): Likewise.
17316 (vbe_list_modes_mod_SOURCES): Likewise.
17317 (vbe_list_modes_mod_CFLAGS): Likewise.
17318 (vbe_test_mod_SOURCES): Likewise.
17319 (vbe_test_mod_CFLAGS): Likewise.
17320
17321 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
17322
17323 * normal/command.c (grub_command_execute): If INTERACTIVE is
17324 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
17325 CMDLINE. Disable the pager if INTERACTIVE is true.
17326 All callers are changed.
17327
17328 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
17329 before reading a config file.
17330 * normal/main.c (read_config_file): Even if a command is not
17331 found, register it if it is within an entry.
17332
17333 * util/grub-emu.c: Include sys/types.h and unistd.h.
17334 (options): Added --hold.
17335 (struct arguments): Added a new member "hold".
17336 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
17337 missing.
17338 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
17339 cleared by a debugger, if it is not zero.
17340
17341 * include/grub/normal.h (grub_command_execute): Add an argument
17342 INTERACTIVE.
17343
17344 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
17345
17346 * DISTLIST: Added include/grub/i386/pc/vbe.h.
17347
17348 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
17349
17350 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
17351 program with another one, because the old one didn't detect a bug
17352 in gcc-3.4. Always use regparm 2, because the new test is still
17353 not enough for gcc-4.0. Someone must investigate a simple test
17354 case which detects a bug in gcc-4.0.
17355
17356 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
17357
17358 * DISTLIST: Added normal/completion.c.
17359
17360 * normal/completion.c: New file.
17361
17362 * term/i386/pc/console.c (grub_console_getwh): New function.
17363 (grub_console_term): Assign grub_console_getwh to getwh.
17364
17365 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
17366 function is defined in normal/completion.c as
17367 grub_normal_do_completion.
17368 (grub_cmdline_get): Use grub_normal_do_completion instead of
17369 grub_tab_complete.
17370
17371 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
17372 returns non-zero, otherwise return 0.
17373 (grub_partition_iterate): First, probe the partition map. Then,
17374 call ITERATE only for this partition map.
17375
17376 * kern/misc.c (grub_strncmp): Rewritten.
17377
17378 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
17379 returns non-zero. Otherwise return 0.
17380
17381 * include/grub/partition.h (grub_partition_map_iterate): Return
17382 int instead of void.
17383
17384 * include/grub/normal.h (grub_normal_do_completion): New prototype.
17385
17386 * include/grub/misc.h (grub_strncmp): Change the type of N to
17387 grub_size_t.
17388
17389 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
17390 of void.
17391
17392 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
17393 unsigned explicitly before comparing it with I.
17394
17395 * kern/main.c (grub_env_write_root): Add the attribute unused into
17396 VAR.
17397
17398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17399 normal/completion.c.
17400 (normal_mod_SOURCES): Likewise.
17401 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17402 (normal_mod_SOURCES): Likewise.
17403
17404 * normal/command.c (grub_iterate_commands): If ITERATE returns
17405 non-zero, return one immediately.
17406
17407 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
17408
17409 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
17410 * kern/i386/pc/startup.S: Updated Global Descriptor table's
17411 descriptions.
17412 (grub_vbe_get_controller_info): New function.
17413 (grub_vbe_get_mode_info): Likewise.
17414 (grub_vbe_set_mode): Likewise.
17415 (grub_vbe_get_mode): Likewise.
17416 (grub_vbe_set_memory_window): Likewise.
17417 (grub_vbe_get_memory_window): Likewise.
17418 (grub_vbe_set_scanline_length): Likewise.
17419 (grub_vbe_get_scanline_length): Likewise.
17420 (grub_vbe_set_display_start): Likewise.
17421 (grub_vbe_get_display_start): Likewise.
17422 (grub_vbe_set_palette_data): Likewise.
17423 * include/grub/i386/pc/vbe.h: New file.
17424
17425 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17426
17427 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17428 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
17429 * DISTLIST: Likewise.
17430 * kern/ieee1275/of.c: Moved to ...
17431 * kern/ieee1275/ieee1275.c: ... here.
17432
17433 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17434
17435 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
17436 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
17437 Pass 0 as `end' parameter to grub_strtoul().
17438
17439 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17440
17441 * include/grub/powerpc/ieee1275/console.h: Do not include
17442 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
17443 ifdef.
17444 (grub_console_cur_color): Remove i386-specific prototype.
17445 (grub_console_real_putchar): Likewise.
17446 (grub_console_checkkey): Likewise.
17447 (grub_console_getkey): Likewise.
17448 (grub_console_getxy): Likewise.
17449 (grub_console_gotoxy): Likewise.
17450 (grub_console_cls): Likewise.
17451 (grub_console_setcursor): Likewise.
17452 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
17453 Include <grub/machine/console.h>.
17454 * term/ieee1275/ofconsole.c: Likewise.
17455
17456 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
17457
17458 * Makefile.in (LIBLZO): New variable.
17459
17460 * configure.ac: Check for LZO version 2.
17461
17462 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
17463 lzo/lzo1x.h instead of lzo1x.h.
17464
17465 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
17466 of -llzo.
17467
17468 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
17469 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
17470
17471 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
17472 copying the data from PARTITION to P.
17473
17474 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17475
17476 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
17477 negative, unload the module.
17478
17479 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
17480 map is "pc_partition_map" but not "pc".
17481 (usage): Fix the description. The options are --boot-image and
17482 --core-image but not --boot-file or --core-file.
17483 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
17484 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
17485 DEFAULT_DIRECTORY.
17486
17487 * util/i386/pc/grub-install.in: Do not specify --boot-file or
17488 --core-file. Specify INSTALL_DEVICE as an argument.
17489
17490 * util/console.c: Include config.h.
17491 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
17492 [HAVE_NCURSES_H]: Include ncurses.h.
17493 [HAVE_CURSES_H]: Include curses.h.
17494 [!A_NORMAL] (A_NORMAL): Defined as zero.
17495 [!A_STANDOUT] (A_STANDOUT): Likewise.
17496
17497 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
17498 -lncurses.
17499 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
17500
17501 * configure.ac: Check for curses libraries and headers.
17502
17503 * Makefile.in (LIBCURSES): New variable.
17504
17505 * genmk.rb (Script::rule): Set the executable bits.
17506
17507 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
17508 name of the PC partition map is "pc_partition_map" but not "pc".
17509
17510 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17511
17512 * util/i386/pc/grub-install.in (grub_probefs): New variable.
17513 (modules): Likewise.
17514 (usage): Added descriptions for --modules and --grub-probefs.
17515 Handle --modules and --grub-probefs. Save the arguments in MODULES
17516 and GRUB_PROBEFS, respectively.
17517 Auto-detect a filesystem module against GRUBDIR. If the result is
17518 empty and modules are not specified explicitly, abort the
17519 installation. Add the result to MODULES.
17520
17521 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
17522 disk/powerpc/ieee1275/ofdisk.c,
17523 include/grub/powerpc/ieee1275/init.h and
17524 term/powerpc/ieee1275/ofconsole.c.
17525 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
17526 term/ieee1275/ofconsole.c.
17527
17528 * include/grub/powerpc/ieee1275/console.h: Resurrected.
17529
17530 * COPYING: Upgraded to the latest version. Only the address of the
17531 FSF office has changed.
17532
17533 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17534
17535 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17536 kern/ieee1275.c with kern/ieee1275/of.c.
17537
17538 * kern/ieee1275.c: Moved to ...
17539 * kern/ieee1275/of.c: ... here.
17540
17541 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
17542
17543 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
17544 readability.
17545
17546 * config.guess: Updated to the latest version from gnulib.
17547 * config.sub: Likewise.
17548 * install.sh: Likewise.
17549 * mkinstalldirs: Likewise.
17550
17551 * include/grub/console.h: Removed. This file is arch-specific. Do
17552 not put this in include/grub.
17553
17554 * include/grub/i386/pc/console.h: Resurrected.
17555
17556 * util/console.c: Include grub/machine/console.h instead of
17557 grub/console.h.
17558 * util/grub-emu.c: Likewise.
17559
17560 2005-08-04 Marco Gerards <metgerards@student.han.nl>
17561
17562 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
17563 hardcoded value.
17564
17565 From Vincent Pelletier <subdino2004@yahoo.fr>
17566 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
17567 Redefined to use grub_getwh.
17568 (grub_term): New member named getwh.
17569 (grub_getwh): New prototype.
17570 * kern/term.c (grub_getwh): New function.
17571 * term/i386/pc/console.c (grub_console_getwh): New function.
17572 (grub_console_term): New member `getwh'.
17573 * term/i386/pc/vga.c (grub_vga_getwh): New function.
17574 (grub_vga_term): New member `getwh'.
17575 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
17576 grub_ssize_t.
17577 (grub_ofconsole_getw): New function.
17578 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
17579 (grub_ofconsole_term): New field named getwh and new initial
17580 value.
17581
17582 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
17583
17584 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
17585 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
17586 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
17587 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
17588 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
17589 of <grub/machine/ieee1275.h>.
17590 * commands/ieee1275/reboot.c: Likewise.
17591 * boot/powerpc/ieee1275/ieee1275.c: Move ...
17592 * kern/ieee1275.c: ... to here. All users updated. Change all
17593 parameter structs to use new type `grub_ieee1275_cell_t'.
17594 * term/powerpc/ieee1275/ofconsole.c: Move ...
17595 * term/ieee1275/ofconsole.c: ... to here. All users updated.
17596 * disk/powerpc/ieee1275/ofdisk.c: Move ...
17597 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
17598 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
17599 to return int.
17600 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
17601 Remove unused prototypes. All users updated.
17602 * include/grub/powerpc/ieee1275/console.h: Removed.
17603 * include/grub/powerpc/ieee1275/ieee1275.h: Define
17604 `grub_ieee1275_cell_t'.
17605 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
17606 Cast comparisons with -1 to the correct type.
17607 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
17608 type to match `grub_ieee1275_entry_fn'.
17609
17610 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
17611
17612 * DISTLIST: Added util/i386/pc/grub-probefs.c.
17613
17614 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
17615 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
17616 partmap/sun.c.
17617 (grub_probefs_SOURCES): New variable.
17618
17619 * util/i386/pc/grub-probefs.c: New file.
17620
17621 * util/i386/pc/grub-setup.c (main): Call
17622 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
17623 grub_hfs_init and grub_jfs_init to initialize the system. Call
17624 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
17625 grub_pc_partition_map_fini to finish the system.
17626
17627 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
17628
17629 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
17630 function.
17631 (grub_multiboot_load_elf32): Likewise.
17632 (grub_multiboot_is_elf64): Likewise.
17633 (grub_multiboot_load_elf64): Likewise.
17634 (grub_multiboot_load_elf): Likewise.
17635 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
17636 an ELF32 or ELF64 file.
17637 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
17638
17639 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
17640 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
17641 NULL before calling FS->LABEL.
17642 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
17643 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
17644 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
17645 before calling FS->LABEL.
17646
17647 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
17648
17649 * util/i386/pc/grub-install.in (datadir): New variable.
17650 (libdir): Removed.
17651 (pkgdatadir): New variable.
17652 (pkglibdir): Removed.
17653
17654 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
17655
17656 * DISTLIST: Added util/i386/pc/grub-install.in.
17657
17658 * util/i386/pc/grub-install.in: New file.
17659
17660 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
17661 (grub_install_SOURCES): Likewise.
17662
17663 * genmk.rb: Added support for scripts.
17664 (Script): New class.
17665 (scripts): New variable.
17666
17667 * Makefile.in (install-local): Install sbin_SCRIPTS by
17668 INSTALL_SCRIPT.
17669 (uninstall): Remove sbin_SCRIPTS.
17670
17671 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
17672 device, try to get a GRUB device by
17673 grub_util_biosdisk_get_grub_dev.
17674 Free DEST_DEV.
17675
17676 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
17677 description for --device-map.
17678
17679 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17680
17681 Change the semantics of variable hooks. They now return strings
17682 instead of error values.
17683
17684 * util/i386/pc/grub-setup.c: Include grub/env.h.
17685 (setup): Use grub_device_set_root instead of grub_env_set.
17686
17687 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
17688 grub_env_get instead of grub_device_set_root and
17689 grub_device_get_root, respectively.
17690
17691 * kern/main.c (grub_env_write_root): New function.
17692 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
17693 grub_env_set instead of grub_device_set_root.
17694
17695 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
17696 many variables.
17697 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
17698 rather than calling ENV->WRITE_HOOK afterwards.
17699 (grub_env_get): Return the result of ENV->READ_HOOK rather than
17700 passing a pointer of a pointer.
17701 (grub_register_variable_hook): Change the types of "read_hook" and
17702 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
17703 respectively.
17704 Allocate the default empty string on the heap, because this string
17705 may be freed later.
17706
17707 * kern/device.c: Include grub/env.h.
17708 (grub_device_set_root): Removed.
17709 (grub_device_get_root): Likewise.
17710 (grub_device_open): Use grub_env_get instead of
17711 grub_device_get_root.
17712
17713 * include/grub/env.h (grub_env_read_hook_t): New type.
17714 (grub_env_write_hook_t): Likewise.
17715 (grub_env_var): Change the types of "read_hook" and "write_hook"
17716 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
17717 (grub_register_variable_hook): Likewise.
17718
17719 * include/grub/device.h (grub_device_set_root): Removed.
17720 (grub_device_set_root): Likewise.
17721
17722 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
17723 make sure that DIRNAME terminates with '/', so that
17724 grub_fat_find_dir will fail if PATH is not a directory.
17725
17726 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
17727 from DIRNAME.
17728 Use the qualifier auto for print_files and print_files_long.
17729 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
17730 as a regular file.
17731 Put a newline only if there is no error.
17732 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
17733 used.
17734
17735 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17736
17737 * kern/partition.c (grub_partition_probe): Initialize PART to
17738 NULL. Otherwise, when no partition map is registered, this returns
17739 a garbage.
17740
17741 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
17742
17743 * partmap/apple.c (apple_partition_map_iterate): Check if POS
17744 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
17745 valid.
17746
17747 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
17748
17749 * commands/ls.c (grub_ls_list_disks): Print the filesystem
17750 information on each device, if it does not have partitions. Print
17751 "Device" instead of "Disk", because this function is not specific
17752 to disk devices.
17753
17754 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
17755 static to ensure that it is put on the memory rather than a
17756 register.
17757
17758 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
17759
17760 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
17761 (grub_cat_init): Likewise.
17762 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
17763 (options): Likewise.
17764 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17765 (grub_configfile_init): Likewise.
17766 * font/manager.c (GRUB_MOD_INIT): Likewise.
17767 * commands/help.c (GRUB_MOD_INIT): Likewise.
17768 (grub_help_init): Likewise.
17769 * normal/command.c (grub_command_init): Likewise.
17770 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
17771 * disk/loopback.c (grub_loop_init): Likewise.
17772 (GRUB_MOD_INIT): Likewise.
17773 * commands/ls.c (grub_ls_init): Likewise.
17774 (GRUB_MOD_INIT): Likewise.
17775 (options): Likewise.
17776 * commands/boot.c (grub_boot_init): Likewise.
17777 (GRUB_MOD_INIT): Likewise.
17778 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
17779 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
17780 (GRUB_MOD_INIT): Likewise.
17781 * commands/cmp.c (grub_cmp_init): Likewise.
17782 (GRUB_MOD_INIT): Likewise.
17783
17784 * normal/arg.c: Use <> instead of "" to include header files.
17785 (SHORT_ARG_HELP): New macro.
17786 (SHORT_ARG_USAGE): Likewise.
17787 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
17788 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
17789 descriptions.
17790 (find_short): Check if C is 'h' or 'u' explicitly.
17791 (grub_arg_show_help): Use space characters instead of tabs. Treat
17792 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
17793 are shown with --help and --usage only if they are not used for
17794 the command itself.
17795 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
17796 'h' and 'u'.
17797
17798 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
17799 const into "longarg". Change the type of "shortarg" to int.
17800
17801 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
17802
17803 * boot/i386/pc/boot.S (boot_drive_check): New label.
17804
17805 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
17806 macro.
17807
17808 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
17809 which do not pass a boot drive correctly. Copied from GRUB Legacy.
17810
17811 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
17812
17813 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
17814 When turning off Gate A20, skip the check and return immediately,
17815 because this is not fatal usually.
17816
17817 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
17818
17819 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
17820 be 0x7C00 instead of 0x8000.
17821
17822 * boot/i386/pc/pxeboot.S: Rewritten.
17823
17824 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
17825 EXT_C.
17826 (gate_a20_check_state): Read a byte from 0x108000. Invert the
17827 result.
17828
17829 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
17830
17831 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
17832 robustness. This routine now supports a BIOS call and System
17833 Control Port A to modify the gate A20.
17834
17835 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17836 Increased to 0x440.
17837
17838 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
17839
17840 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
17841 device path and resulting ihandle.
17842 (grub_ofdisk_close): dprintf the ihandle being closed.
17843 (grub_ofdisk_read): dprintf function parameters.
17844 * kern/mm.c (grub_mm_init_region): Likewise.
17845 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
17846 (grub_linux_boot): dprintf the Linux entry point, initrd address and
17847 size, and boot arguments.
17848 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
17849 before loading into memory.
17850 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
17851 before loading into memory.
17852
17853 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
17854
17855 * kern/mm.c: Added much documentation.
17856 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
17857 8, set to 5 instead of 8.
17858
17859 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
17860
17861 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
17862
17863 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
17864 (grub_mkdevicemap_SOURCES): New variable.
17865
17866 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
17867 lib/device.c of GRUB Legacy.
17868
17869 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
17870
17871 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
17872 instead of PATH is NULL.
17873
17874 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
17875
17876 * commands/cmp.c (BUFFER_SIZE): New macro.
17877 (grub_cmd_cmp): Close the right file at the right time. Compare
17878 only data just read. Don't report files of different size as
17879 identical. Dynamically allocate buffers. Move variable
17880 declarations at the beginning of function.
17881
17882 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
17883
17884 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
17885 reverse.
17886
17887 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
17888
17889 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
17890 when backspace is pressed at beginning of line.
17891
17892 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
17893
17894 * DISTLIST: Added genfslist.sh.
17895
17896 * normal/main.c (fs_module_list): New variable.
17897 (autoload_fs_module): New function.
17898 (read_fs_list): Likewise.
17899 (grub_normal_execute): Call read_fs_list.
17900
17901 * kern/fs.c (grub_fs_autoload_hook): New variable.
17902 (grub_fs_probe): Added support for auto-loading.
17903
17904 * include/grub/normal.h (struct grub_fs_module_list): New struct.
17905 (grub_fs_module_list_t): New type.
17906
17907 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
17908 (grub_fs_autoload_hook): New prototype.
17909
17910 * genfslist.sh: New file.
17911
17912 * genmk.rb: Added a rule to generate a filesystem list.
17913
17914 2005-06-30 Marco Gerards <metgerards@student.han.nl>
17915
17916 * configure.ac: Fix the test for cross-compiling.
17917
17918 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
17919 define GRUB_UTIL anymore.
17920
17921 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
17922 so this function works on other systems than just big endian.
17923 (load_modules): Likewise.
17924 (add_segments): Likewise.
17925
17926 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
17927
17928 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
17929 contains `l' modifier, get a long from va_arg().
17930
17931 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
17932
17933 * kern/mm.c (grub_free): If the next free block which is being
17934 merged is the first free block, set the first block to the block
17935 being freed.
17936 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
17937
17938 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17939
17940 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
17941 `grub_ieee1275_chosen'.
17942
17943 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17944
17945 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
17946 (grub_ieee1275_chosen): New variable.
17947 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
17948 `chosen'.
17949 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
17950 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
17951 Rename first argument to `phandle' for consistency.
17952 (grub_ieee1275_get_property_length): Likewise.
17953 (grub_ieee1275_next_property): Likewise. Change type of first argument
17954 to grub_ieee1275_phandle_t.
17955 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
17956 Move export next to declaration.
17957 (grub_ieee1275_chosen): New variable.
17958 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
17959 Correct cosmetic typo.
17960 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
17961 `grub_ieee1275_chosen'.
17962 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
17963 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
17964 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
17965 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
17966 `grub_ieee1275_chosen'.
17967
17968 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
17969
17970 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
17971 /chosen/bootargs.
17972 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
17973 /chosen/bootargs as "variable=value" pairs.
17974
17975 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
17976
17977 * include/grub/misc.h (grub_dprintf): New macro.
17978 (grub_real_dprintf): New prototype.
17979 (grub_strword): Likewise.
17980 (grub_iswordseparator): Likewise.
17981 * kern/misc.c (grub_real_dprintf): New function.
17982 (grub_strword): Likewise.
17983 (grub_iswordseparator): Likewise.
17984
17985 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
17986
17987 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
17988 (roundup): Remove macro.
17989 (grub_ieee1275_flags): Make static.
17990 (grub_ieee1275_realmode): Remove.
17991 (grub_ieee1275_test_flag): New function.
17992 (grub_ieee1275_set_flag): Likewise.
17993 (find_options): Rename to `grub_ieee1275_find_options'; update
17994 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
17995 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
17996 (cmain): New prototype.
17997 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
17998 `grub_ieee1275_flags' directly.
17999 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18000 machine/biosdisk.h.
18001 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18002 Don't include grub/machine/init.h.
18003 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18004 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18005 Remove prototype.
18006 (grub_ieee1275_realmode): Likewise.
18007 (grub_ieee1275_flag): New enum.
18008 (grub_ieee1275_test_flag): New prototype.
18009 (grub_ieee1275_set_flag): New prototype.
18010 * include/grub/powerpc/ieee1275/init.h: Remove file.
18011 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18012 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18013 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18014 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18015 comment.
18016 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18017 `grub_ieee1275_test_flag'.
18018 (grub_ieee1275_encode_devname): Likewise.
18019
18020 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18021
18022 * include/grub/powerpc/ieee1275/ieee1275.h
18023 (grub_ieee1275_encode_devname): New prototype.
18024 (grub_ieee1275_get_filename): Likewise.
18025 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18026 function.
18027 (grub_set_prefix): Likewise.
18028 (grub_machine_init): Call grub_set_prefix.
18029 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18030 (grub_parse_type): New enum.
18031 (grub_ieee1275_get_devargs): New function.
18032 (grub_ieee1275_get_devname): Likewise.
18033 (grub_ieee1275_parse_args): Likewise.
18034 (grub_ieee1275_get_filename): Likewise.
18035 (grub_ieee1275_encode_devname): Likewise.
18036
18037 2005-03-30 Marco Gerards <metgerards@student.han.nl>
18038
18039 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18040 `grub_loader_unset'.
18041
18042 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18043
18044 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18045 instead of grub_ieee1275_interpret.
18046 (grub_halt_init): New function.
18047 (grub_halt_fini): Likewise.
18048 (GRUB_MOD_INIT): Correct message grammar.
18049 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18050 instead of grub_ieee1275_interpret.
18051 (grub_reboot_init): New function.
18052 (grub_reboot_fini): Likewise.
18053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18054 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18055 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18056 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18057 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18058 function.
18059 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18060 Add prototype.
18061 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18062 prototype.
18063 (grub_halt): Likewise.
18064 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18065 (cmain): Remove __attribute__((unused)).
18066 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18067 (grub_heap_len): Likewise.
18068 (grub_machine_fini): New function.
18069 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18070 (grub_halt): Likewise.
18071 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
18072 function.
18073 * util/powerpc/ieee1275/misc.c: New file.
18074
18075 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18076
18077 * DISTLIST: New file.
18078 * gendistlist.sh: Likewise.
18079
18080 * Makefile.in (COMMON_DISTFILES): Removed.
18081 (BOOT_DISTFILES): Likewise.
18082 (CONF_DISTFILES): Likewise.
18083 (DISK_DISTFILES): Likewise.
18084 (FS_DISTFILES): Likewise.
18085 (INCLUDE_DISTFILES): Likewise.
18086 (KERN_DISTFILES): Likewise.
18087 (LOADER_DISTFILES): Likewise.
18088 (TERM_DISTFILES): Likewise.
18089 (UTIL_DISTFILES): Likewise.
18090 (DISTFILES): Likewise.
18091 (uninstall): Uninstall files in $(pkgdata_DATA).
18092 (DISTLIST): New target.
18093 (distdir): Use the contents of the file DISTLIST to get a list of
18094 distributed files.
18095
18096 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18097
18098 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
18099 descriptor. This is ported from GRUB Legacy.
18100
18101 * gencmdlist.sh: Added an extra semicolon to make it work with
18102 old sed versions. Reported by Robert Bihlmeyer
18103 <robbe@orcus.priv.at>.
18104
18105 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
18106
18107 Automatic loading of commands is supported.
18108
18109 * normal/main.c (read_command_list): New function.
18110 (grub_normal_execute): Call read_command_list.
18111
18112 * normal/command.c (grub_register_command): Return zero or CMD.
18113 Allocate CMD->NAME from the heap.
18114 Initialize CMD->MODULE_NAME to zero.
18115 Find the same name as well. If the same command is found and it is
18116 a dummy command, overwrite members. If it is not a dummy command,
18117 return zero.
18118 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
18119 (grub_command_find): If a dummy command is found, load a module
18120 and retry to find a command only once.
18121
18122 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
18123 make sure that each command is loaded.
18124
18125 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
18126 macro.
18127 (struct grub_command): Remove const from the member `name'.
18128 Add a new member `module_name'.
18129 (grub_register_command): Return grub_command_t.
18130
18131 * commands/help.c (grub_cmd_help): Call grub_command_find to make
18132 sure that each command is loaded.
18133
18134 * genmk.rb (PModule::rule): Specify a module name without the
18135 suffix ".mod" to gencmdlist.sh.
18136
18137 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18138
18139 * gencmdlist.sh: New file.
18140
18141 * genmk.rb (PModule::rule): Generate a rule for a command list.
18142 Clean command.lst.
18143 Generate command.lst from $(COMMANDFILES).
18144
18145 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
18146 (DATA): Added $(pkgdata_DATA).
18147 (install-local): Install files in $(pkgdata_DATA).
18148
18149 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18150
18151 * term/i386/pc/vga.c (debug_command): Removed.
18152 (GRUB_MOD_INIT): Do not register the command "debug".
18153
18154 From Hollis Blanchard:
18155 * commands/configfile.c: New file.
18156 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18157 commands/configfile.c.
18158 (pkgdata_MODULES): Added configfile.mod.
18159 (configfile_mod_SOURCES): New variable.
18160 (configfile_mod_CFLAGS): Likewise.
18161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18162 commands/configfile.c.
18163 (pkgdata_MODULES): Added configfile.mod.
18164 (configfile_mod_SOURCES): New variable.
18165 (configfile_mod_CFLAGS): Likewise.
18166 * util/grub-emu.c (main): Call grub_configfile_init and
18167 grub_configfile_fini.
18168 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
18169 prototype.
18170 [GRUB_UTIL] (grub_configfile_fini): Likewise.
18171
18172 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18173
18174 * normal/arg.c (grub_arg_show_help): Do not show the bug report
18175 address.
18176
18177 * commands/help.c (grub_cmd_help): Do not print newlines after
18178 the last command in print_command_help.
18179
18180 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18181
18182 * commands/default.h: New file.
18183 * commands/timeout.h: Likewise.
18184 * normal/context.c: Likewise.
18185
18186 * util/misc.c: Do not include sys/times.h.
18187 Include sys/time.h and grub/machine/time.h.
18188 (grub_get_rtc): Rewritten with gettimeofday.
18189
18190 * util/grub-emu.c (main): Call grub_default_init and
18191 grub_timeout_init before grub_normal_init, and call
18192 grub_timeout_fini and grub_default_fini after grub_main.
18193
18194 * util/console.c (grub_ncurses_checkkey): Return the read
18195 character or -1.
18196
18197 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
18198 timeouts.
18199
18200 * normal/main.c (read_config_file): Push MENU. If this fails,
18201 print an error and wait for a user input.
18202 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
18203 If a menu is empty or an error occurs, pop MENU.
18204 (grub_normal_execute): Pop and free MENU after grub_menu_run
18205 returns.
18206
18207 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
18208
18209 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
18210 include time.h.
18211 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18212 without GRUB_UTIL.
18213 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
18214 time.h.
18215 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18216 without GRUB_UTIL.
18217
18218 * include/grub/normal.h (struct grub_menu_list): New struct.
18219 (grub_menu_list_t): New type.
18220 (struct grub_context): New struct.
18221 (grub_context_t): New type.
18222 (grub_register_command): Got rid of EXPORT_FUNC.
18223 (grub_unregister_command): Likewise.
18224 (grub_context_get): New prototype.
18225 (grub_context_get_current_menu): Likewise.
18226 (grub_context_push_menu): Likewise.
18227 (grub_context_pop_menu): Likewise.
18228 [GRUB_UTIL] (grub_default_init): Likewise.
18229 [GRUB_UTIL] (grub_default_fini): Likewise.
18230 [GRUB_UTIL] (grub_timeout_init): Likewise.
18231 [GRUB_UTIL] (grub_timeout_fini): Likewise.
18232
18233 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
18234 commands/timeout.c and normal/context.c.
18235 (pkgdata_MODULES): Added default.mod and timeout.mod.
18236 (normal_mod_SOURCES): Added normal/context.c.
18237 (default_mod_SOURCES): New variable.
18238 (default_mod_CFLAGS): Likewise.
18239 (timeout_mod_SOURCES): Likewise.
18240 (timeout_mod_CFLAGS): Likewise.
18241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
18242 conf/i386-pc.rmk.
18243 (pkgdata_MODULES): Added default.mod and timeout.mod.
18244 (normal_mod_SOURCES): Added normal/context.c.
18245 (default_mod_SOURCES): New variable.
18246 (default_mod_CFLAGS): Likewise.
18247 (timeout_mod_SOURCES): Likewise.
18248 (timeout_mod_CFLAGS): Likewise.
18249
18250 * Makefile.in (all-local): Added $(MKFILES).
18251
18252 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
18253
18254 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
18255 (grub_emu_SOURCES): Likewise.
18256 (pkgdata_MODULES): Add `sun.mod'.
18257 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18259 `partmap/sun.c'.
18260 (pkgdata_MODULES): Add `sun.mod'.
18261 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18262 * include/grub/partition.h (grub_sun_partition_map_init): New
18263 prototype.
18264 (grub_sun_partition_map_fini): Likewise.
18265 * partmap/sun.c: New file.
18266 * util/grub-emu.c (main): Initialize and de-initialize the sun
18267 partitionmap support.
18268
18269 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
18270
18271 This implements an Emacs-like menu entry editor.
18272
18273 * normal/menu_entry.c: New file.
18274
18275 * util/console.c (grub_ncurses_putchar): Translate some Unicode
18276 characters to ASCII.
18277 (saved_char): New variable.
18278 (grub_ncurses_checkkey): Rewritten completely.
18279 (grub_ncurses_getkey): Likewise.
18280 (grub_ncurses_init): Call raw instead of cbreak.
18281
18282 * normal/menu.c (print_entry): Do not put a space.
18283 (init_page): Renamed to ...
18284 (grub_menu_init_page): ... this. All callers changed.
18285 (edit_menu_entry): Removed.
18286 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
18287
18288 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
18289
18290 * kern/misc.c (grub_vprintf): Call grub_refresh.
18291
18292 * normal/menu.c (DISP_LEFT): Renamed to ...
18293 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
18294 * normal/menu.c (DISP_UP): Renamed to ...
18295 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
18296 * normal/menu.c (DISP_RIGHT): Renamed to ...
18297 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
18298 * normal/menu.c (DISP_DOWN): Renamed to ...
18299 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
18300 * normal/menu.c (DISP_HLINE): Renamed to ...
18301 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
18302 * normal/menu.c (DISP_VLINE): Renamed to ...
18303 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
18304 * normal/menu.c (DISP_UL): Renamed to ...
18305 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
18306 * normal/menu.c (DISP_UR): Renamed to ...
18307 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
18308 * normal/menu.c (DISP_LL): Renamed to ...
18309 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
18310 * normal/menu.c (DISP_LR): Renamed to ...
18311 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
18312 * normal/menu.c (TERM_WIDTH): Renamed to ...
18313 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
18314 * normal/menu.c (TERM_HEIGHT): Renamed to ...
18315 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
18316 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
18317 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
18318 * normal/menu.c (TERM_MARGIN): Renamed to ...
18319 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
18320 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
18321 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
18322 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
18323 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
18324 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
18325 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
18326 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
18327 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
18328 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
18329 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
18330 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
18331 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
18332 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
18333 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
18334 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
18335 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
18336 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
18337 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
18338 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
18339 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
18340 All callers changed.
18341
18342 * include/grub/normal.h: New prototype.
18343
18344 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18345 normal/menu_entry.c.
18346 (normal_mod_SOURCES): Likewise.
18347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18348 (normal_mod_SOURCES): Likewise.
18349
18350 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
18351
18352 * include/grub/normal.h (grub_halt_init): New prototype.
18353 (grub_halt_fini): Likewise.
18354 (grub_reboot_init): Likewise.
18355 (grub_reboot_fini): Likewise.
18356
18357 * util/grub-emu.c: Include signal.h.
18358 (main_env): New global variable.
18359 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
18360 catch C-c.
18361 (grub_machine_fini): New function.
18362 (main): Call grub_halt_init and grub_reboot_init before
18363 grub_main, and grub_reboot_fini and grub_halt_fini after it.
18364 Call setjmp with MAIN_ENV to go back afterwards.
18365 Call grub_machine_fini right before return.
18366
18367 * include/grub/util/misc.h: Include setjmp.h.
18368 (main_env): New prototype.
18369
18370 * include/grub/kernel.h (grub_machine_fini): New prototype.
18371 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
18372 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
18373
18374 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
18375 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
18376 * term/i386/pc/console.c (grub_console_fini): Likewise.
18377
18378 * util/i386/pc/misc.c: New file.
18379
18380 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18381 util/i386/pc/misc.c, commands/i386/pc/halt.c and
18382 commands/i386/pc/reboot.c.
18383
18384 2005-02-14 Guillem Jover <guillem@hadrons.org>
18385
18386 * include/grub/dl.h (grub_dl_check_header): New prototype.
18387 (grub_arch_dl_check_header): Change return type to grub_err_t,
18388 remove size parameter and export function. Update all callers.
18389 * kern/dl.c (grub_dl_check_header): New function.
18390 (grub_dl_load_core): Use `grub_dl_check_header' instead of
18391 `grub_arch_dl_check_header'. Check ELF type. Check if sections
18392 are inside the core.
18393 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
18394 independent ELF header checks.
18395 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18396 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
18397 `grub_dl_check_header' instead of explicit checks. Check for the
18398 ELF type.
18399 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
18400 `grub_dl_check_header' instead of explicit checks. Remove arch
18401 specific ELF header checks.
18402
18403 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
18404 argument SIZE.
18405
18406 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
18407
18408 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
18409 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
18410
18411 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
18412
18413 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
18414 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
18415 (part_map_iterate): Clear `grub_errno' and return 0 if
18416 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
18417 * partmap/amiga.c (amiga_partition_map_iterate): Return
18418 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
18419 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18420
18421 2005-02-01 Guillem Jover <guillem@hadrons.org>
18422
18423 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
18424 help info.
18425
18426 2005-01-31 Marco Gerards <metgerards@student.han.nl>
18427
18428 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
18429 Removed prototype.
18430 (grub_rescue_cmd_linux): New prototype.
18431 (grub_rescue_cmd_initrd): Likewise.
18432 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
18433 `bi_rec'.
18434 (grub_linux_release_mem): Release the memory for the initrd.
18435 (grub_load_linux): Renamed from this...
18436 (grub_rescue_cmd_linux): ...To this. Changed all callers.
18437 Changed `entry' not to be static. Loop over memory regions to
18438 find another one when the default fails.
18439 (grub_rescue_cmd_initrd): New function.
18440 (grub_linux_init): Remove function.
18441 (grub_linux_fini): Likewise.
18442 (GRUB_MOD_INIT): Register `initrd'.
18443 (GRUB_MOD_FINI): Unregister `initrd'.
18444 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
18445 Function removed.
18446 (grub_linux_normal_fini): Likewise.
18447 (GRUB_MOD_INIT): Register `initrd'.
18448 (GRUB_MOD_FINI): Unregister `initrd'.
18449
18450 2005-01-31 Marco Gerards <metgerards@student.han.nl>
18451
18452 * commands/help.c: New file.
18453 * normal/arg.c (show_help): Renamed to...
18454 (grub_arg_show_help): ... this.
18455 * commands/i386/pc/halt.c: New file.
18456 * commands/i386/pc/reboot.c: Likewise.
18457 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
18458 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
18459 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
18460 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
18461 variables.
18462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18463 `commands/help.c'.
18464 (pkgdata_MODULES): Add `help.mod'.
18465 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
18466 * grub/i386/pc/init.h (grub_reboot): New prototype.
18467 (grub_halt): Likewise.
18468 * include/grub/normal.h (grub_arg_show_help): New prototype.
18469 (grub_help_init): Likewise.
18470 (grub_help_fini): Likewise.
18471 * util/grub-emu.c (main): Initialize and deinitialize the help
18472 command.
18473
18474 * normal/cmdline.c (grub_cmdline_get): Doc fix.
18475
18476 * normal/command.c (grub_command_init): Fixed the description of
18477 the `set' and `unset' commands.
18478
18479 2005-01-31 Marco Gerards <metgerards@student.han.nl>
18480
18481 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
18482 function.
18483 * commands/ieee1275/halt.c: New file.
18484 * commands/ieee1275/reboot.c: Likewise.
18485 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
18486 `__attribute__ ((unused))'. Some GCS related fixed.
18487 (grub_suspend_init) [GRUB_UTIL]: Function removed.
18488 (grub_suspend_fini): Likewise.
18489 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
18490 and `halt.mod'.
18491 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
18492 (halt_mod_CFLAGS): New variables.
18493 * include/grub/powerpc/ieee1275/ieee1275.h
18494 (grub_ieee1275_interpret): New prototype.
18495
18496 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
18497
18498 * include/grub/misc.h (memmove): New prototype.
18499 (memcpy): Likewise.
18500
18501 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
18502
18503 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
18504 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
18505
18506 2005-01-22 Marco Gerards <metgerards@student.han.nl>
18507
18508 * kern/misc.c (grub_strndup): Function rewritten.
18509
18510 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
18511
18512 * normal/menu.c (TERM_WIDTH): Macro redefined.
18513 (TERM_TOP_BORDER_Y): Likewise.
18514 (draw_border): Replaced while-loop by a for-loop. Make the number
18515 of lines consistent with the number of lines displayed in
18516 print_entries. Added a margin below the rectangle.
18517 (print_entry): Make the entry fit in the rectangle.
18518 (print_entries): Display the scroll arrows next to the right
18519 border.
18520
18521 2005-01-21 Marco Gerards <metgerards@student.han.nl>
18522
18523 * fs/minix.c (grub_minix_find_file): Reserve more space for
18524 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
18525 `grub_strncpy' to copy `path' into it.
18526
18527 2005-01-21 Marco Gerards <metgerards@student.han.nl>
18528
18529 Add the loopback device, a device via which files can be accessed
18530 as devices.
18531
18532 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
18533 (pkgdata_MODULES): Add loopback.mod.
18534 (loopback_mod_SOURCES): New variable.
18535 (loopback_mod_CFLAGS): Likewise.
18536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18537 `disk/loopback.c'.
18538 (pkgdata_MODULES): Add loopback.mod.
18539 (loopback_mod_SOURCES): New variable.
18540 (loopback_mod_CFLAGS): Likewise.
18541 * disk/loopback.c: new file.
18542 * include/grub/normal.h (grub_loop_init): New prototype.
18543 (grub_loop_fini): New prototype.
18544 * util/grub-emu.c (main): Initialize and de-initialize loopback
18545 support.
18546 * include/grub/disk.h (grub_disk_dev_id): Add
18547 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
18548
18549 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
18550
18551 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
18552 function.
18553 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
18554 (suspend_mod_SOURCES): New variable.
18555 (suspend_mod_CFLAGS): Likewise.
18556 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
18557 New prototype.
18558 * commands/ieee1275/suspend.c: New file.
18559
18560 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18561
18562 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
18563 ((unused))' to `__attribute__ ((used))'.
18564 (GRUB_MOD_FINI): Likewise.
18565 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
18566 * genmk.rb (PModule): Assign space to common symbols when linking
18567 modules.
18568
18569 2005-01-20 Marco Gerards <metgerards@student.han.nl>
18570
18571 * include/grub/mm.h (grub_mm_init_region): Change the type of the
18572 `unsigned' arguments to `grub_size_t'.
18573 (grub_malloc): Likewise.
18574 (grub_realloc): Likewise.
18575 (grub_memalign): Likewise.
18576 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
18577 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18578 * util/misc.c (grub_malloc): Likewise.
18579 (grub_realloc): Likewise.
18580 * kern/mm.c (get_header_from_pointer): Change the casts to
18581 `unsigned' into a cast to `grub_size_t'.
18582
18583 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
18584 point to `currnode' when `currnode' is changed.
18585
18586 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
18587 Schottelius <nico-linux@schottelius.org>.
18588
18589 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
18590
18591 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
18592 (note_path): Remove variable.
18593 (GRUB_IEEE1275_NOTE_NAME): New macro.
18594 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
18595 (grub_ieee1275_note_hdr): New structure.
18596 (grub_ieee1275_note_desc): Likewise.
18597 (grub_ieee1275_note): Likewise.
18598 (load_note): Remove `dir' argument. All callers updated. Remove
18599 `note_img' and `path'. Do not load a file from `note_path'.
18600 Initialize a struct grub_ieee1275_note and write that to `out'.
18601 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
18602
18603 2005-01-05 Marco Gerards <metgerards@student.han.nl>
18604
18605 * util/misc.c (grub_util_read_image): Revert last change. It
18606 called `grub_util_read_at', which seeks from the beginning of the
18607 file.
18608
18609 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
18610
18611 * TODO: Add note about endianness in grub-mkimage.
18612 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
18613 section.
18614 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
18615 (grub_mkimage_SOURCES): New target.
18616 * include/grub/kernel.h (grub_start_addr): Remove variable.
18617 (grub_end_addr): Likewise.
18618 (grub_total_module_size): Likewise.
18619 (grub_kernel_image_size): Likewise.
18620 (GRUB_MODULE_MAGIC): New constant.
18621 (grub_module_info): New structure.
18622 (grub_arch_modules_addr): New prototype.
18623 (grub_get_end_addr): Remove prototype.
18624 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
18625 * include/grub/powerpc/ieee1275/kernel.h: New file.
18626 * include/grub/util/misc.h (grub_util_get_fp_size): New
18627 prototype.
18628 (grub_util_read_at): Likewise.
18629 (grub_util_write_image_at): Likewise.
18630 * kern/main.c (grub_get_end_addr): Remove function.
18631 (grub_load_modules): Call grub_arch_modules_addr instead of using
18632 grub_end_addr. Look for a grub_module_info struct in memory. Use
18633 the grub_module_info fields instead of calling grub_get_end_addr
18634 as loop conditions. Move grub_add_unused_region code here.
18635 (grub_add_unused_region): Remove function.
18636 * kern/i386/pc/init.c: Include grub/cache.h.
18637 (grub_machine_init): Remove call to grub_get_end_addr. Remove
18638 one call to add_mem_region.
18639 (grub_arch_modules_addr): New function.
18640 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
18641 (grub_total_module_size): Likewise.
18642 Include grub/machine/kernel.h.
18643 (grub_arch_modules_addr): New function.
18644 * util/grub-emu.c (grub_end_addr): Remove variable.
18645 (grub_total_module_size): Likewise.
18646 (grub_arch_modules_addr): New function.
18647 * util/misc.c: Include unistd.h.
18648 (grub_util_get_fp_size): New function.
18649 (grub_util_read_at): Likewise.
18650 (grub_util_write_image_at): Likewise.
18651 (grub_util_read_image): Call grub_util_read_at.
18652 (grub_util_write_image): Call grub_util_write_image_at.
18653 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
18654 additional memory in kernel_img for a struct grub_module_info.
18655 Fill in that grub_module_info.
18656 * util/powerpc/ieee1275/grub-mkimage.c: New file.
18657
18658 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18659
18660 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
18661 New function.
18662 * include/grub/powerpc/ieee1275/ieee1275.h
18663 (grub_ieee1275_milliseconds): New prototype.
18664 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
18665 Change to 1000.
18666 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
18667 grub_ieee1275_milliseconds.
18668
18669 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18670
18671 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
18672 variable.
18673 (find_options): New function.
18674 (cmain): Call find_options.
18675 * include/grub/powerpc/ieee1275/ieee1275.h
18676 (grub_ieee1275_realmode): New extern variable.
18677 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
18678 grub_map if grub_ieee1275_realmode is false.
18679
18680 2004-12-29 Marco Gerards <metgerards@student.han.nl>
18681
18682 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
18683 lines are inserted and make it work like readline. Reported by
18684 Vincent Pelletier <subdino2004@yahoo.fr>.
18685
18686 2004-12-28 Marco Gerards <metgerards@student.han.nl>
18687
18688 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
18689
18690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
18691 `kern/powerpc/cache.S'.
18692
18693 2004-12-27 Marco Gerards <metgerards@student.han.nl>
18694
18695 * genmk.rb: Handle the `Program' class in the main loop. Written
18696 by Johan Rydberg <jrydberg@gnu.org>.
18697 (Program): New class.
18698 (programs): New variable.
18699 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
18700 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
18701 instead of "grub/kernel.h". Include <grub/machine/init.h>.
18702 (help_arch): Function removed.
18703 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
18704 `powerpc/libgcc.h' and `loader.h'.
18705 (pkgdata_PROGRAMS): New variable.
18706 (sbin_UTILITIES): Variable removed.
18707 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
18708 (grubof_SOURCES): Variable re-defined so it only includes the
18709 core functionality.
18710 (grubof_CFLAGS): Remove `-DGRUBOF'.
18711 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
18712 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
18713 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
18714 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
18715 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
18716 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
18717 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
18718 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
18719 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
18720 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
18721 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18722 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
18723 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
18724 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
18725 (pc_mod_CFLAGS): New variables.
18726 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
18727 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
18728 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
18729 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
18730 Moved from here...
18731 * include/grub/i386/pc/init.h (grub_os_area_addr)
18732 (rub_os_area_size): ... to here.
18733 * include/grub/powerpc/ieee1275/ieee1275.h
18734 (grub_ieee1275_entry_fn): Export symbol.
18735 * include/grub/powerpc/ieee1275/init.h: New file.
18736 * include/grub/powerpc/libgcc.h: Likewise.
18737 * include/grub/cache.h: Likewise.
18738 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
18739 <hollis@penguinppc.org>.
18740 * kern/dl.c: Include <grub/cache.h>.
18741 (grub_dl_flush_cache): New function.
18742 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
18743 for this module.
18744 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
18745 (grub_console_init): Removed prototypes.
18746 (grub_machine_init): Don't initialize the modules anymore.
18747 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
18748 static.
18749 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
18750 Macro undef removed.
18751 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
18752 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
18753 relocation `R_PPC_REL32'. Return an error when the relocation is
18754 unknown.
18755 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
18756 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
18757 * util/misc.c (grub_arch_sync_caches): Likewise.
18758
18759 2004-12-19 Marco Gerards <metgerards@student.han.nl>
18760
18761 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
18762 `symlist.c', add `grubof_symlist.c'.
18763 (symlist.c): Variable removed.
18764 (grubof_HEADERS): Variable added.
18765 (grubof_symlist.c): New target.
18766 (kernel_syms.lst): Use `grubof_HEADERS' instead of
18767 `kernel_img_HEADERS'.
18768 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
18769 * kern/powerpc/dl.c: New file.
18770 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
18771 Function removed.
18772 (grub_arch_dl_relocate_symbols): Likewise.
18773 (grub_register_exported_symbols): Likewise.
18774
18775 2004-12-13 Marco Gerards <metgerards@student.han.nl>
18776
18777 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
18778 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
18779 to fail instead. Reported by Vincent Pelletier
18780 <subdino2004@yahoo.fr>.
18781
18782 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
18783 it is not allocated. Reported by Vincent Pelletier
18784 <subdino2004@yahoo.fr>.
18785
18786 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
18787 output so the output looks better.
18788
18789 2004-12-04 Marco Gerards <metgerards@student.han.nl>
18790
18791 Modulize the partition map support and add support for the amiga
18792 partition map.
18793
18794 * commands/ls.c: Include <grub/partition.h> instead of
18795 <grub/machine/partition.h>.
18796 * kern/disk.c: Likewise.
18797 * kern/rescue.c: Likewise.
18798 * loader/i386/pc/chainloader.c: Likewise.
18799 * normal/cmdline.c: Likewise.
18800 * kern/powerpc/ieee1275/init.c: Likewise.
18801 (grub_machine_init): Call `grub_pc_partition_map_init',
18802 `grub_amiga_partition_map_init' and
18803 `grub_apple_partition_map_init'.
18804 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
18805 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
18806 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
18807 `partition.h' and `pc_partition.h'.
18808 (grub_setup_SOURCES): Remove
18809 `disk/i386/pc/partition.c'. Add `kern/partition.c',
18810 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18811 (grub_emu_SOURCES): Likewise.
18812 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
18813 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
18814 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
18815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18816 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
18817 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18818 (grubof_SOURCES): Likewise.
18819 * disk/i386/pc/partition.c: File removed.
18820 * disk/powerpc/ieee1275/partition.c: Likewise.
18821 * include/grub/powerpc/ieee1275/partition.h: Likewise.
18822 * include/grub/i386/pc/partition.h: Likewise.
18823 * kern/partition.c: New file.
18824 * partmap/amiga.c: Likewise.
18825 * partmap/apple.c: Likewise.
18826 * partmap/pc.c: Likewise.
18827 * include/grub/partition.h: Likewise..
18828 * include/grub/pc_partition.h: Likewise.
18829 * util/grub-emu.c: Include <grub/partition.h> instead of
18830 <grub/machine/partition.h>.
18831 (main): Call `grub_pc_partition_map_init',
18832 `grub_amiga_partition_map_init' and
18833 `grub_apple_partition_map_init' and deinitialize afterwards.
18834 * util/i386/pc/biosdisk.c: Include `#include
18835 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18836 `<grub/machine/partition.h>'.
18837 * util/i386/pc/grub-setup.c: Likewise.
18838 * util/i386/pc/biosdisk.c: Likewise.
18839 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
18840 partition information in case of a PC partition.
18841 * util/i386/pc/grub-setup.c: Include `#include
18842 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18843 `<grub/machine/partition.h>'.
18844 (setup): Only access the PC specific partition information in case
18845 of a PC partition.
18846
18847 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
18848
18849 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
18850 (grub_longjmp): Likewise.
18851 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
18852 20.
18853 * normal/powerpc/setjmp.S: New file.
18854 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
18855 `normal/powerpc/setjmp.S'.
18856 (grubof_CFLAGS): Add `-DGRUBOF'.
18857 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
18858 [GRUB_UTIL && !GRUBOF].
18859
18860 2004-11-16 Marco Gerards <metgerards@student.han.nl>
18861
18862 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
18863 property named `name'. Correctly handle the error returned by
18864 `grub_ieee1275_finddevice' if a device can not be opened.
18865
18866 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
18867
18868 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
18869 `actual' for negativity.
18870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18871 kern/fshelp.c.
18872
18873 2004-11-01 Marco Gerards <metgerards@student.han.nl>
18874
18875 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
18876 (PAGE_OFFSET): New macro.
18877 (CRTC_ADDR_PORT): Likewise.
18878 (CRTC_DATA_PORT): Likewise.
18879 (START_ADDR_HIGH_REGISTER): Likewise.
18880 (START_ADDR_LOW_REGISTER): Likewise.
18881 (GRAPHICS_ADDR_PORT): Likewise.
18882 (GRAPHICS_DATA_PORT): Likewise.
18883 (READ_MAP_REGISTER): Likewise.
18884 (INPUT_STATUS1_REGISTER): Likewise.
18885 (INPUT_STATUS1_VERTR_BIT): Likewise.
18886 (page): New variable.
18887 (wait_vretrace): New function.
18888 (set_read_map): Likewise.
18889 (set_start_address): Likewise.
18890 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
18891 the right page.
18892 (check_vga_mem): Take the page into account.
18893 (write_char): Likewise.
18894 (write_cursor): Likewise.
18895 (scroll_up): Likewise. Copy the page to the page that is not
18896 shown and switch between both pages.
18897 (grub_vga_putchar): Fix off by one error.
18898 (grub_vga_cls): Wait for the vertical retrace. Take the page into
18899 account.
18900
18901 2004-11-01 Marco Gerards <metgerards@student.han.nl>
18902
18903 Add support for iso9660 (including rockridge).
18904
18905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18906 (iso9660_mod_SOURCES): New variable.
18907 (iso9660_mod_CFLAGS): Likewise.
18908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18909 * include/grub/fs.h (grub_iso9660_init): New prototype.
18910 * util/grub-emu.c (main): Call `grub_iso9660_init'.
18911 * fs/iso9660.c: New file.
18912
18913 * include/grub/misc.h (grub_strncat): New prototype.
18914 * kern/misc.c (grub_strncat): New function.
18915
18916 * fs/hfs.c (grub_hfs_mount): Translate the error
18917 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
18918 * fs/jfs.c (grub_jfs_mount): Likewise.
18919 * fs/ufs.c (grub_ufs_mount): Likewise.
18920
18921 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
18922
18923 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
18924 which initialized BAT registers.
18925 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
18926 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18927 Move from here...
18928 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
18929 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18930 ... to here.
18931 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
18932 (grub_mapclaim): Likewise.
18933 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
18934 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
18935 hand.
18936
18937 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
18938
18939 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
18940 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
18941 -ffreestanding and -msoft-float.
18942
18943 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
18944
18945 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
18946 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
18947 set in grub_ieee1275_flags.
18948
18949 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
18950
18951 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
18952 prototype.
18953 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
18954 grub_console_init first.
18955 Change the memory range used for grub_ieee1275_claim and
18956 grub_mm_init_region.
18957 Print an error message if the claim fails.
18958 Include <grub/misc.h>.
18959
18960 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
18961
18962 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
18963 Call grub_children_iterate for device nodes of type `scsi',
18964 `ide', or `ata'.
18965 (grub_ofdisk_open): Remove manual device alias resolution.
18966 Fix memory leak when device cannot be opened.
18967 * include/grub/powerpc/ieee1275/ieee1275.h
18968 (grub_children_iterate): New prototype.
18969 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
18970 New function.
18971 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18972 Return -1 if args.size was -1.
18973
18974 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
18975
18976 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
18977 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
18978 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
18979 Open Firmware's memory for it; claim memory from _start to _end.
18980 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
18981 (_end): New extern.
18982 (_start): Zero BSS from __bss_start to _end.
18983 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18984 New extern.
18985 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
18986
18987 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
18988
18989 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
18990 -1 if args.base was -1.
18991
18992 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
18993
18994 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
18995 escape sequence instead of a literal ^L. Also call
18996 grub_ofconsole_gotoxy.
18997
18998 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
18999
19000 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19001 void * arguments to grub_addr_t. All callers updated. Also make
19002 the `result' argument optional.
19003 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19004 All callers updated.
19005
19006 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19007
19008 * commands/ls.c (grub_ls_list_files): Use the string following the
19009 initial ')', if present, as the filesystem path.
19010 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19011
19012 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19013
19014 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19015
19016 Make the source code of the menu interface more readable.
19017
19018 * normal/menu.c: Include grub/mm.h.
19019 (TERM_WIDTH): New macro.
19020 (TERM_HEIGHT): Likewise.
19021 (TERM_INFO_HEIGHT): Likewise.
19022 (TERM_MARGIN): Likewise.
19023 (TERM_SCROLL_WIDTH): Likewise.
19024 (TERM_TOP_BORDER_Y): Likewise.
19025 (TERM_LEFT_BORDER_X): Likewise.
19026 (TERM_BORDER_WIDTH): Likewise.
19027 (TERM_MESSAGE_HEIGHT): Likewise.
19028 (TERM_BORDER_HEIGHT): Likewise.
19029 (TERM_NUM_ENTRIES): Likewise.
19030 (TERM_FIRST_ENTRY_Y): Likewise.
19031 (TERM_ENTRY_WIDTH): Likewise.
19032 (TERM_CURSOR_X): Likewise.
19033 (draw_border): Use macros instead of magic numbers.
19034 (print_entry): Likewise.
19035 (print_entries): Likewise.
19036 (run_menu): Likewise. Also, handle the key 'e'.
19037 (run_menu_entry): Ignore empty command lines.
19038 (print_message): Added a new argument EDIT. If EDIT is true,
19039 print a different message.
19040 (init_page): Likewise.
19041 (edit_menu_entry): New function. Not implemented yet.
19042
19043 2004-09-17 Marco Gerards <metgerards@student.han.nl>
19044
19045 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19046 can be loaded from normal mode.
19047
19048 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19049 `multiboot.mod'.
19050 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19051 (multiboot_mod_CFLAGS): New variables.
19052 * loader/i386/pc/linux_normal.c: New file.
19053 * loader/i386/pc/multiboot_normal.c: Likewise.
19054
19055 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19056 attribute `unused'.
19057
19058 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19059 `fdiro' to read the mode information from instead of `diro'.
19060
19061 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19062 looking up a symlink.
19063
19064 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19065 macro.
19066 * normal/command.c (grub_command_execute): Don't parse the
19067 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19068 flags of the command.
19069
19070 * normal/menu.c (grub_menu_run): Fix typo.
19071
19072 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
19073
19074 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
19075
19076 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
19077 `y + 1' instead of `y - 1'.
19078
19079 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
19080
19081 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
19082
19083 From Hollis Blanchard <hollis@penguinppc.org>:
19084 * kern/misc.c (memmove): New alias for grub_memmove.
19085 (memcmp): New alias for grub_memcmp.
19086 (memset): New alias for grub_memset.
19087 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19088 Change "int handle" to "grub_ieee1275_phandle_t handle".
19089 * include/grub/powerpc/ieee1275/ieee1275.h
19090 (grub_ieee1275_get_property): Likewise.
19091
19092 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
19093
19094 Added normal mode command `chainloader' as module chain.mod, which
19095 depends on normal.mod and _chain.mod.
19096
19097 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
19098 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
19099 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
19100 Deleted prototype.
19101 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
19102 but arguments parsing moved to ...
19103 (grub_chainloader_cmd): ... here. New function.
19104 * include/grub/i386/pc/chainloader.h: New file.
19105 * loader/i386/pc/chainloader_normal.c: Likewise.
19106
19107 2004-09-11 Marco Gerards <metgerards@student.han.nl>
19108
19109 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
19110 (grub_mkimage_LDFLAGS): Likewise.
19111 (grub_emu_SOURCES): Likewise.
19112 (kernel_img_HEADERS): Added fshelp.h.
19113 * fs/ext2.c: Include <grub/fshelp.h>.
19114 (FILETYPE_REG): New macro.
19115 (FILETYPE_INO_REG): Likewise.
19116 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
19117 Changed all users.
19118 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
19119 all users.
19120 (grub_fshelp_node): New struct.
19121 (grub_ext2_data): Added member `diropen'. Changed member `inode'
19122 to a pointer.
19123 (grub_ext2_get_file_block): Removed function.
19124 (grub_ext2_read_block): New function.
19125 (grub_ext2_read_file): Replaced parameter `data' by `node'.
19126 This function was written.
19127 (grub_ext2_mount): Read the root inode. Create a diropen struct.
19128 (grub_ext2_find_file): Removed function.
19129 (grub_ext2_read_symlink): New function.
19130 (grub_ext2_iterate_dir): Likewise.
19131 (grub_ext2_open): Rewritten.
19132 (grub_ext2_dir): Rewritten.
19133 * include/grub/fshelp.h: New file.
19134 * fs/fshelp.c: Likewise.
19135
19136 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
19137
19138 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
19139 (print_message): Add a missing newline.
19140 (run_menu): Added timeout support.
19141 (run_menu_entry): New local function.
19142 (grub_menu_run): Added support for booting.
19143
19144 * kern/loader.c (grub_loader_is_loaded): New function.
19145
19146 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
19147 (grub_get_rtc): Exported.
19148
19149 * include/grub/i386/pc/time.h: Include grub/symbol.h.
19150 (grub_get_rtc): Exported.
19151
19152 * include/grub/normal.h (struct grub_command_list): Remove
19153 constant from the member `command'.
19154
19155 * include/grub/loader.h (grub_loader_is_loaded): Declared.
19156
19157 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
19158
19159 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
19160
19161 2004-08-28 Marco Gerards <metgerards@student.han.nl>
19162
19163 Add support for the JFS filesystem.
19164
19165 * fs/jfs.c: New file.
19166 * include/grub/fs.h (grub_jfs_init): New prototype.
19167 (grub_jfs_fini): New prototype.
19168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
19169 (grub_emu_SOURCES): Likewise.
19170 (pkgdata_MODULES): Add jfs.mod.
19171 (jfs_mod_SOURCES): New variable.
19172 (jfs_mod_CFLAGS): Likewise.
19173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
19174 (grubof_SOURCES): Likewise.
19175 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
19176
19177 * fs/fat.c (grub_fat_find_dir): Convert the filename little
19178 endian to the host endian.
19179 (grub_fat_utf16_to_utf8): Move function from there...
19180 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
19181 the endianness of the source string anymore.
19182 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
19183
19184 2004-08-24 Marco Gerards <metgerards@student.han.nl>
19185
19186 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
19187 (grub_boot_fini) [GRUB_UTIL]: Likewise.
19188 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
19189 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
19190
19191 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
19192 (grub_hfs_iterate_dir): Make the function static. Add prototypes
19193 for `node_found' and `it_dir'.
19194 (grub_hfs_dir): Add prototype for `dir_hook'.
19195
19196 * fs/minix.c (grub_minix_get_file_block): Add prototype for
19197 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
19198 and `indir32' to silence a gcc warning.
19199
19200 * include/grub/fs.h (grub_hfs_init): New prototype.
19201 (grub_hfs_fini): Likewise.
19202
19203
19204 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19205
19206 Each disk device has its own id now. This is useful to make use
19207 of multiple disk devices.
19208
19209 * include/grub/disk.h (grub_disk_dev_id): New enum.
19210 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
19211 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
19212
19213 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
19214 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19215
19216 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
19217 GRUB_DISK_DEVICE_OFDISK_ID as an id.
19218
19219 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
19220 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19221
19222 * include/grub/disk.h (struct grub_disk_dev): Added a new member
19223 "id" which is used by the cache manager.
19224
19225 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
19226 of just "GRUB".
19227
19228 2004-08-18 Marco Gerards <metgerards@student.han.nl>
19229
19230 * fs/hfs.c: New file.
19231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
19232 (grub_emu_SOURCES): Likewise.
19233 (pkgdata_MODULES): Add hfs.mod.
19234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
19235 (grubof_SOURCES): Likewise.
19236 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
19237
19238 * include/grub/misc.h (grub_strncasecmp): Add prototype.
19239 * kern/misc.c (grub_strncasecmp): Add function.
19240
19241 2004-08-14 Marco Gerards <metgerards@student.han.nl>
19242
19243 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
19244 with parentheses.
19245
19246 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
19247 (grub_ext2_dir): In case the directory entry type is unknown, read
19248 it from the inode.
19249
19250 2004-08-02 Peter Bruin <pjbruin@dds.nl>
19251
19252 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
19253 grub_load_linux instead of grub_rescue_cmd_linux as second
19254 argument of grub_rescue_register_command.
19255
19256 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
19257
19258 2004-07-27 Marco Gerards <metgerards@student.han.nl>
19259
19260 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
19261 function.
19262 * commands/boot.c: Remove the check for `GRUB_UTIL'.
19263 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19264 `loader/powerpc/ieee1275/linux.c',
19265 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
19266 * include/grub/powerpc/ieee1275/ieee1275.h
19267 (grub_ieee1275_release): New prototype.
19268 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
19269 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
19270 normal, boot, linux and linux_normal.
19271 * loader/powerpc/ieee1275/linux.c: New file.
19272 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19273
19274 2004-07-12 Marco Gerards <metgerards@student.han.nl>
19275
19276 * normal/arg.c (grub_arg_parse): Correct error handling after
19277 reallocating the argumentlist (check if `argl' is not null instead
19278 of checking if `args' is not null).
19279 * kern/mm.c (grub_realloc): Return the same pointer when using the
19280 same region, instead of returning the header address.
19281
19282 2004-07-11 Marco Gerards <metgerards@student.han.nl>
19283
19284 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
19285 one block instead of two when looking for the initial partition.
19286 (grub_partition_probe): Initialize the local variable `p' with 0.
19287 Use base 10 for the grub_strtoul call.
19288 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
19289 need for one local variable.
19290 (grub_strtoul): Don't add the new value to `num', instead of that
19291 just assign it.
19292
19293 2004-07-11 Marco Gerards <metgerards@student.han.nl>
19294
19295 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
19296 (pxeboot_img_SOURCES): New variable.
19297 (pxeboot_img_ASFLAGS): Likewise.
19298 (pxeboot_img_LDFLAGS): Likewise.
19299 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
19300 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
19301 <lode_leroy@hotmail.com>.
19302
19303 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19304
19305 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
19306 there was no input.
19307
19308 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19309
19310 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
19311 the history buffer logic.
19312
19313 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19314
19315 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
19316 (FILETYPE_INO_SYMLINK): New macros.
19317 (grub_ext2_find_file): Check if the node is a directory using the
19318 inode stat information instead of using the filetype in the
19319 dirent. Exclude the first character of an absolute symlink.
19320 (grub_ext2_dir): Mask out the filetype part of the mode member of
19321 the inode.
19322
19323 2004-05-24 Marco Gerards <metgerards@student.han.nl>
19324
19325 Add support for UFS version 1 and 2. Add support for the minix
19326 filesystem version 1 and 2, both the variants with 14 and 30 long
19327 filenames.
19328
19329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
19330 fs/minix.c.
19331 (grub_emu_SOURCES): Likewise.
19332 (pkgdata_MODULES): Add ufs.mod and minix.mod.
19333 (ufs_mod_SOURCES): New variable.
19334 (ufs_mod_CFLAGS): Likewise.
19335 (minix_mod_SOURCES): Likewise.
19336 (minix_mod_CFLAGS): Likewise.
19337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
19338 fs/minix.c.
19339 (grubof_SOURCES): Likewise.
19340 * fs/ufs.c: New file.
19341 * fs/minix.c: New file.
19342 * include/grub/fs.h (grub_ufs_init): New prototype.
19343 (grub_ufs_fini): Likewise.
19344 (grub_minix_init): Likewise.
19345 (grub_minix_fini): Likewise.
19346 * util/grub-emu.c (main): Initialize and deinitialize UFS and
19347 minix fs.
19348
19349 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
19350
19351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
19352 commands/ls.c, commands/terminal.c, commands/boot.c,
19353 commands/cmp.c and commands/cat.c.
19354 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
19355
19356 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
19357 "env.h"
19358
19359 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19360
19361 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
19362 and grub_, respectively. Because the conversion is trivial and
19363 mechanical, I omit the details here. Please refer to the CVS
19364 if you need more information.
19365
19366 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19367
19368 * include/pupa: Renamed to ...
19369 * include/grub: ... this.
19370 * util/i386/pc/pupa-mkimage.c: Renamed to ...
19371 * util/i386/pc/grub-mkimage.c: ... this.
19372 * util/i386/pc/pupa-setup.c: Renamed to ...
19373 * util/i386/pc/grub-setup.c: ... this.
19374 * util/pupa-emu.c: Renamed to ...
19375 * util/grub-emu.c: ... this.
19376
19377 2004-03-29 Marco Gerards <metgerards@student.han.nl>
19378
19379 Add support for the newworld apple macintosh (PPC). This has been
19380 tested on the powerbook 2000 only. It only adds support for
19381 generic ieee1275 functions, console and disk support. This should
19382 be easy to port to other architectures with support for Open
19383 Firmware.
19384
19385 * configure.ac: Accept the powerpc as host_cpu. In the case of
19386 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
19387 specific tests are only executed while building for the i386.
19388 Inverse test for crosscompile.
19389 * genmk.rb (Utility): Allow assembler files.
19390 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
19391 * conf/powerpc-ieee1275.rmk: New file.
19392 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
19393 * disk/powerpc/ieee1275/partition.c: Likewise.
19394 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
19395 * include/pupa/powerpc/ieee1275/console.h: Likewise.
19396 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
19397 * include/pupa/powerpc/ieee1275/time.h: Likewise.
19398 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
19399 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
19400 * include/pupa/powerpc/ieee1275/loader.h
19401 * include/pupa/powerpc/setjmp.h: Likewise.
19402 * include/pupa/powerpc/types.h: Likewise.
19403 * kern/powerpc/ieee1275/init.c: Likewise.
19404 * kern/powerpc/ieee1275/openfw.c: Likewise.
19405 * term/powerpc/ieee1275/ofconsole.c: Likewise.
19406
19407 These files were written by Johan Rydberg
19408 (jrydberg@night.trouble.net) and I only modified them slightly.
19409
19410 * boot/powerpc/ieee1275/cmain.c: New file.
19411 * boot/powerpc/ieee1275/crt0.S: Likewise.
19412 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
19413 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
19414
19415 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
19416
19417 * Makefile.in: Update copyright.
19418 * genmodsrc.sh: Likewise.
19419 * gensymlist.sh: Likewise.
19420 * term/i386/pc/vga.c: Indent correctly.
19421
19422 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
19423 bugreporting address.
19424 * util/i386/pc/pupa-setup.c (usage): Likewise,
19425 (main): Call pupa_ext2_init and pupa_ext2_fini.
19426
19427 * fs/fat.c (log2): Renamed to ...
19428 (fat_log2): ... this.
19429 All callers changed.
19430 * kern/misc.c (memcpy): Alias to pupa_memmove.
19431 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
19432 lvalue cast.
19433 * util/console.c (pupa_ncurses_fini): Return 0.
19434
19435 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
19436 Move fail label here.
19437 [__GNU__]: Don't warn when using stat.
19438 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
19439 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
19440 long int. Use strtol instead of strtoul.
19441
19442 2004-03-14 Marco Gerards <metgerards@student.han.nl>
19443
19444 * commands/boot.c: New file.
19445 * commands/cat.c: Likewise.
19446 * commands/cmp.c: Likewise.
19447 * commands/ls.c: Likewise.
19448 * commands/terminal.c: Likewise.
19449 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
19450 (pupa_register_command): Changed interface to match the new
19451 argument parser.
19452 (pupa_command_execute): Changed (almost rewritten) so it uses
19453 pupa_split_command. Added support for setting variables using the
19454 syntax `foo=bar'.
19455 (rescue_command): Changed to work with the new argument parser.
19456 (terminal_command): Moved from here to commands/terminal.c.
19457 (set_command): New function.
19458 (unset_command): New function.
19459 (insmod_command): New function.
19460 (rmmod_command): New function.
19461 (lsmod_command): New function.
19462 (pupa_command_init): Don't initialize the command terminal
19463 anymore. Initialize the commands set, unset, insmod, rmmod and
19464 lsmod.
19465 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
19466 (kernel_img_HEADERS): Add arg.h and env.h.
19467 (pupa_mkimage_LDFLAGS): Add kern/env.c.
19468 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
19469 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
19470 normal/arg.c.
19471 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
19472 terminal.mod.
19473 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
19474 (boot_mod_SOURCES): New variable.
19475 (terminal_mod_SOURCES): Likewise.
19476 (ls_mod_SOURCES): Likewise.
19477 (cmp_mod_SOURCES): Likewise.
19478 (cat_mod_SOURCES): Likewise.
19479
19480 * normal/arg.c: New file.
19481 * kern/env.c: Likewise.
19482 * include/pupa/arg.h: Likewise.
19483 * include/pupa/env.h: Likewise.
19484 * font/manager.c (font_command): Changed to match argument parsing
19485 interface changes.
19486 (PUPA_MOD_INIT): Likewise.
19487 * hello/hello.c (pupa_cmd_hello): Likewise.
19488 (PUPA_MOD_INIT): Likewise.
19489 * include/pupa/disk.h: Include <pupa/device.h>.
19490 (pupa_print_partinfo): New prototype.
19491 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
19492 (pupa_dl_get_prefix): Likewise.
19493 * include/pupa/misc.h: Include <pupa/err.h>.
19494 (pupa_isgraph): New prototype.
19495 (pupa_isdigit): Likewise.
19496 (pupa_split_cmdline): Likewise.
19497 * include/pupa/normal.h: Include <pupa/arg.h>.
19498 (pupa_command): Changed the prototype of the member `func' to
19499 match the argument parsing interface. Added member `options'.
19500 (pupa_register_command): Updated to match function.
19501 (pupa_arg_parse): New prototype.
19502 (pupa_hello_init) [PUPA_UTIL]: New prototype.
19503 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
19504 (pupa_ls_init) [PUPA_UTIL]: Likewise.
19505 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
19506 (pupa_cat_init) [PUPA_UTIL]: Likewise.
19507 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
19508 (pupa_boot_init) [PUPA_UTIL]: Likewise.
19509 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
19510 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
19511 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
19512 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
19513 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
19514 * kern/disk.c: Include <pupa/file.h>.
19515 (pupa_print_partinfo): New function.
19516 * kern/dl.c: Include <pupa/env.h>.
19517 (pupa_dl_dir): Variable removed.
19518 (pupa_dl_load): Use the environment variable `prefix' instead of
19519 the variable pupa_dl_dir.
19520 (pupa_dl_set_prefix): Function removed.
19521 (pupa_dl_get_prefix): Likewise.
19522 * kern/i386/pc/init.c: Include <pupa/env.h>.
19523 (pupa_machine_init): Use the environment variable `prefix' instead of
19524 using pupa_dl_set_prefix to set the prefix.
19525 * kern/main.c: Include <pupa/env.h>.
19526 (pupa_set_root_dev): Use the environment variable `prefix' instead of
19527 using pupa_dl_get_prefix to get the prefix.
19528 * kern/misc.c: Include <pupa/env.h>.
19529 (pupa_isdigit): New function.
19530 (pupa_isgraph): Likewise.
19531 (pupa_ftoa): Likewise.
19532 (pupa_vsprintf): Added support for printing values of the type
19533 `double'. Make it possible to format variable output when using
19534 formatting like `%1.2%f'.
19535 (pupa_split_cmdline): New function.
19536 * kern/rescue.c: Include <pupa/env.h>.
19537 (next_word): Removed function.
19538 (pupa_rescue_cmd_prefix): Likewise.
19539 (pupa_rescue_cmd_set): New function.
19540 (pupa_rescue_cmd_unset): New function.
19541 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
19542 split the command line instead of splitting it here. Added
19543 support for setting variables using the syntax `foo=bar'. Don't
19544 initialize the prefix command anymore. Initialized the set and
19545 unset commands.
19546 * normal/cmdline.c: Include <pupa/env.h>.
19547 (pupa_tab_complete): Added prototypes for print_simple_completion,
19548 print_partition_completion, add_completion, iterate_commands,
19549 iterate_dev, iterate_part and iterate_dir. Moved code to print
19550 partition information from here to kern/disk.c.
19551 (pupa_cmdline_run): Don't check if the function exists anymore.
19552 * normal/main.c: Include <pupa/env.h>.
19553 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
19554 instead of using pupa_dl_get_prefix to get the prefix.
19555 * term/i386/pc/vga.c: Include <pupa/arg.h>.
19556 (check_vga_mem): Cast pointers to `void *' to silence a gcc
19557 warning.
19558 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
19559 (pupa_vga_setcolor): Declare unused variables with `__attribute__
19560 ((unused))' to silence a gcc warning.
19561 (pupa_vga_setcolor): Likewise.
19562 (debug_command): Changed to match argument parsing
19563 interface changes.
19564 * util/pupa-emu.c: Include <pupa/env.h>.
19565 (options): Added 0's for unused fields to silence a gcc warning.
19566 (argp): Likewise.
19567 (main): Use the environment variable `prefix' instead of using
19568 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
19569 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
19570 and terminal.
19571
19572 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
19573 * util/misc.c: Include <malloc.h>.
19574 (pupa_malloc): Rewritten so errors are correctly reported.
19575 (pupa_realloc): Likewise.
19576 (pupa_memalign): Likewise.
19577 (pupa_mm_init_region): Declare unused variables with
19578 `__attribute__ ((unused))' to silence a gcc warning.
19579 * normal/i386/setjmp.S: Remove tab at the end of the file to
19580 silence a gcc warning.
19581 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
19582 variables with `__attribute__ ((unused))' to silence a gcc
19583 warning.
19584 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
19585 local variable i unsigned to silence a gcc warning.
19586
19587 * kern/term.c: Include <pupa/misc.h>.
19588 (pupa_more_lines): New variable.
19589 (pupa_more): Likewise.
19590 (pupa_putcode): When the pager is active pause at the end of every
19591 screen.
19592 (pupa_set_more): New function.
19593 * include/pupa/term.h (pupa_set_more): New prototype.
19594
19595
19596 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
19597
19598 Now this project is GRUB 2 rather than PUPA. The location of
19599 the CVS repository was moved to GRUB's.
19600
19601 * configure.ac: Use bug-grub as the reporting address.
19602 Use GRUB instead of PUPA.
19603 Change the version number to 1.90.
19604
19605 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
19606
19607 * genkernsyms.sh: Updated copyright information.
19608 * genmk.rb: Likewise.
19609 * genmodsrc.sh: Likewise.
19610 * gensymlist.sh: Likewise.
19611 * boot/i386/pc/boot.S: Likewise.
19612 * boot/i386/pc/diskboot.S: Likewise.
19613 * disk/i386/pc/biosdisk.c: Likewise.
19614 * disk/i386/pc/partition.c: Likewise.
19615 * font/manager.c: Likewise.
19616 * fs/ext2.c: Likewise.
19617 * fs/fat.c: Likewise.
19618 * include/pupa/boot.h: Likewise.
19619 * include/pupa/device.h: Likewise.
19620 * include/pupa/disk.h: Likewise.
19621 * include/pupa/dl.h: Likewise.
19622 * include/pupa/elf.h: Likewise.
19623 * include/pupa/err.h: Likewise.
19624 * include/pupa/file.h: Likewise.
19625 * include/pupa/font.h: Likewise.
19626 * include/pupa/fs.h: Likewise.
19627 * include/pupa/kernel.h: Likewise.
19628 * include/pupa/loader.h: Likewise.
19629 * include/pupa/misc.h: Likewise.
19630 * include/pupa/mm.h: Likewise.
19631 * include/pupa/net.h: Likewise.
19632 * include/pupa/normal.h: Likewise.
19633 * include/pupa/rescue.h: Likewise.
19634 * include/pupa/setjmp.h: Likewise.
19635 * include/pupa/symbol.h: Likewise.
19636 * include/pupa/term.h: Likewise.
19637 * include/pupa/types.h: Likewise.
19638 * include/pupa/i386/setjmp.h: Likewise.
19639 * include/pupa/i386/types.h: Likewise.
19640 * include/pupa/i386/pc/biosdisk.h: Likewise.
19641 * include/pupa/i386/pc/boot.h: Likewise.
19642 * include/pupa/i386/pc/console.h: Likewise.
19643 * include/pupa/i386/pc/init.h: Likewise.
19644 * include/pupa/i386/pc/kernel.h: Likewise.
19645 * include/pupa/i386/pc/linux.h: Likewise.
19646 * include/pupa/i386/pc/loader.h: Likewise.
19647 * include/pupa/i386/pc/memory.h: Likewise.
19648 * include/pupa/i386/pc/multiboot.h: Likewise.
19649 * include/pupa/i386/pc/partition.h: Likewise.
19650 * include/pupa/i386/pc/time.h: Likewise.
19651 * include/pupa/i386/pc/vga.h: Likewise.
19652 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
19653 * include/pupa/util/getroot.h: Likewise.
19654 * include/pupa/util/misc.h: Likewise.
19655 * include/pupa/util/resolve.h: Likewise.
19656 * kern/device.c: Likewise.
19657 * kern/disk.c: Likewise.
19658 * kern/dl.c: Likewise.
19659 * kern/err.c: Likewise.
19660 * kern/file.c: Likewise.
19661 * kern/fs.c: Likewise.
19662 * kern/loader.c: Likewise.
19663 * kern/main.c: Likewise.
19664 * kern/misc.c: Likewise.
19665 * kern/mm.c: Likewise.
19666 * kern/rescue.c: Likewise.
19667 * kern/term.c: Likewise.
19668 * kern/i386/dl.c: Likewise.
19669 * kern/i386/pc/init.c: Likewise.
19670 * kern/i386/pc/lzo1x.S: Likewise.
19671 * kern/i386/pc/startup.S: Likewise.
19672 * loader/i386/pc/chainloader.c: Likewise.
19673 * loader/i386/pc/linux.c: Likewise.
19674 * loader/i386/pc/multiboot.c: Likewise.
19675 * normal/cmdline.c: Likewise.
19676 * normal/command.c: Likewise.
19677 * normal/main.c: Likewise.
19678 * normal/menu.c: Likewise.
19679 * normal/i386/setjmp.S: Likewise.
19680 * term/i386/pc/console.c: Likewise.
19681 * term/i386/pc/vga.c: Likewise.
19682 * util/console.c: Likewise.
19683 * util/genmoddep.c: Likewise.
19684 * util/misc.c: Likewise.
19685 * util/pupa-emu.c: Likewise.
19686 * util/resolve.c: Likewise.
19687 * util/unifont2pff.rb: Likewise.
19688 * util/i386/pc/biosdisk.c: Likewise.
19689 * util/i386/pc/getroot.c: Likewise.
19690 * util/i386/pc/pupa-mkimage.c: Likewise.
19691 * util/i386/pc/pupa-setup.c: Likewise.
19692
19693 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
19694
19695 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
19696 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
19697 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
19698 reading and reset it after reading.
19699 (pupa_ext2_close): Return PUPA_ERR_NONE.
19700
19701 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
19702 Correct value.
19703 (struct linux_kernel_header): Add kernel_version and
19704 initrd_addr_max.
19705 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
19706 pupa_file_read succeeds.
19707 (pupa_rescue_cmd_initrd): Implement.
19708
19709 2003-12-03 Marco Gerards <metgerards@student.han.nl>
19710
19711 * fs/ext2.c (pupa_ext2_label): New function.
19712 (pupa_ext2_fs): Added label.
19713 * fs/fat.c (pupa_fat_label): New function.
19714 (pupa_fat_fs): Added label.
19715 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
19716
19717 * kern/misc.c (pupa_strndup): New function.
19718 * include/pupa/misc.h (pupa_strndup): New prototype.
19719
19720 * include/pupa/normal.h: Include <pupa/err.h>.
19721 (pupa_set_history): New prototype.
19722 (pupa_iterate_commands): New prototype.
19723 * normal/cmdline.c: Include <pupa/machine/partition.h>,
19724 <pupa/disk.h>, <pupa/file.h>.
19725 (hist_size): New variable.
19726 (hist_lines): Likewise.
19727 (hist_end): Likewise.
19728 (hist_used): Likewise.
19729 (pupa_set_history): New function.
19730 (pupa_history_get): Likewise.
19731 (pupa_history_add): Likewise.
19732 (pupa_history_replace): Likewise.
19733 (pupa_tab_complete): Likewise.
19734 (pupa_cmdline_run): Added tab completion and history buffer. Tab
19735 completion shows partitionnames while completing partitions, this
19736 feature was suggested by Jeff Bailey.
19737 * normal/command.c (pupa_iterate_commands): New function.
19738 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
19739 (pupa_normal_init): Initialize history buffer.
19740 (PUPA_MOD_INIT): Likewise.
19741 (pupa_normal_fini): Free the history buffer.
19742 (PUPA_MOD_FINI): Likewise.
19743
19744 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
19745 key.
19746
19747 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
19748 * configure.ac [i386]: Check for regparam bug.
19749 (NESTED_FUNC_ATTR) [! i386]: Defined.
19750
19751 2003-11-17 Marco Gerards <metgerards@student.han.nl>
19752
19753 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
19754 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
19755 (pupa_emu_SOURCES): New variable.
19756 (pupa_emu_LDFLAGS): Likewise.
19757 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
19758 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
19759 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
19760 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19761 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
19762 (pupa_jmp_buf): New typedef.
19763 (pupa_setjmp) [PUPA_UTIL]: New macro.
19764 (pupa_longjmp) [PUPA_UTIL]: Likewise.
19765 * include/pupa/term.h (struct pupa_term): New member `refresh'.
19766 (pupa_refresh): New prototype.
19767 * include/pupa/util/getroot.h: New file.
19768 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
19769 it.
19770 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
19771 (pupa_rescue_cmd_cat): Likewise.
19772 (pupa_rescue_cmd_ls): Likewise.
19773 (pupa_rescue_cmd_testload): Likewise.
19774 (pupa_rescue_cmd_lsmod): Likewise.
19775 * normal/cmdline.c (pupa_cmdline_get): Likewise.
19776 * normal/menu.c (run_menu): Likewise.
19777 * kern/term.c (pupa_cls): Likewise.
19778 (pupa_refresh): New function.
19779 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
19780 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19781 * util/console.c: New file.
19782
19783 * util/i386/pc/getroot.c: New file.
19784 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
19785 (pupa_putchar): New function.
19786 (pupa_refresh): Likewise.
19787 (xgetcwd): Function moved to ...
19788 (strip_extra_slashes): Likewise.
19789 (get_prefix): Likewise.
19790 * util/i386/pc/getroot.c: ... here.
19791 (find_root_device): Function moved and renamed to...
19792 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
19793 Changed all callers.
19794 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
19795 and renamed to...
19796 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
19797 Changed all callers.
19798 * util/misc.c (pupa_memalign): New function.
19799 (pupa_mm_init_region): Likewise.
19800 (pupa_register_exported_symbols): Likewise.
19801 (pupa_putchar): Function removed.
19802 * util/pupa-emu.c: New file.
19803
19804 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
19805
19806 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
19807 (_multiboot_mod_SOURCES): New variable.
19808 (_multiboot_mod_CFLAGS): Likewise.
19809 * loader/i386/pc/multiboot.c: New file.
19810 * include/pupa/i386/pc/multiboot.h: Likewise.
19811 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
19812 (pupa_multiboot_real_boot): New function.
19813 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
19814 (pupa_multiboot_real_boot): New prototype.
19815 (pupa_rescue_cmd_multiboot): Likewise
19816 (pupa_rescue_cmd_module): Likewise.
19817
19818 * kern/loader.c (pupa_loader_set): Continue when
19819 pupa_loader_unload_func() fails.
19820 (pupa_loader_unset): New function.
19821 * include/pupa/loader.h (pupa_loader_unset): New prototype.
19822
19823 * kern/misc.c (pupa_stpcpy): New function.
19824 * include/pupa/misc.h (pupa_stpcpy): New prototype.
19825
19826 2003-11-12 Marco Gerards <metgerards@student.han.nl>
19827
19828 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
19829 for available extensions.
19830
19831 * include/pupa/i386/pc/time.h: New file.
19832 * kern/disk.c: Include <pupa/machine/time.h>.
19833 (PUPA_CACHE_TIMEOUT): New macro.
19834 (pupa_last_time): New variable.
19835 (pupa_disk_open): Flush the cache when there was a timeout.
19836 (pupa_disk_close): Reset the timer.
19837 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
19838 pupa_currticks.
19839 * util/misc.c: Include <sys/times.h>
19840 (pupa_get_rtc): New function.
19841
19842 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19843
19844 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
19845 as blocks.
19846 (pupa_ext2_get_file_block): Use blocks member.
19847
19848 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
19849 first block. Return -1 instead of pupa_errno on error.
19850
19851 2003-10-27 Marco Gerards <metgerards@student.han.nl>
19852
19853 * README: In the pupa-mkimage example use _chain instead of chain
19854 and ext2 instead of fat.
19855 * TODO: Replace ext2fs with jfs as an example. Add an item for
19856 adding journal playback for ext2fs.
19857 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
19858 (pkgdata_MODULES): Added ext2.mod.
19859 (ext2_mod_SOURCES): New variable.
19860 (ext2_mod_CFLAGS): Likewise.
19861 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
19862 * include/pupa/misc.h (pupa_strncpy): New prototype.
19863 (pupa_strcat): Likewise.
19864 (pupa_strncmp): Likewise.
19865 * kern/misc.c (pupa_strcat): Enable function.
19866 (pupa_strncpy): New function.
19867 (pupa_strncmp): Likewise.
19868 * fs/ext2.c: New file.
19869
19870 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
19871 when the read failed before retrying.
19872 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
19873 (_FILE_OFFSET_BITS): Likewise.
19874 * configure.ac: Added AC_SYS_LARGEFILE.
19875
19876 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19877
19878 * genmk.rb (PModule#rule): Make sure to get only symbol names
19879 from the output of nm.
19880 Reported by Robert Millan <zeratul2@wanadoo.es>.
19881
19882 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19883
19884 I forgot to check in these changes for a long time. This adds
19885 incomplete support for VGA console, and this is still very
19886 buggy. Also, a lot of consideration is required for I18N,
19887 UNICODE, and VGA font issues. Therefore, assume that this is
19888 such that "better than nothing".
19889
19890 * font/manager.c: New file.
19891 * include/pupa/font.h: Likewise.
19892 * include/pupa/i386/pc/vga.h: Likewise.
19893 * term/i386/pc/vga.c: Likewise.
19894 * util/unifont2pff.rb: Likewise.
19895
19896 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
19897 (pkgdata_MODULES): Added vga.mod and font.mod.
19898 (vga_mod_SOURCES): New variables.
19899 (vga_mod_CFLAGS): Likewise.
19900 (font_mod_SOURCES): Likewise.
19901 (font_mod_CFLAGS): Likewise.
19902
19903 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
19904
19905 * include/pupa/term.h: Include pupa/err.h.
19906 (struct pupa_term): Added init and fini.
19907 Changed the argument of putchar to pupa_uint32_t.
19908
19909 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
19910 (pupa_console_real_putchar): New prototype.
19911 (pupa_console_putchar): Removed.
19912 (pupa_console_checkkey): Exported.
19913 (pupa_console_getkey): Likewise.
19914
19915 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
19916 characters.
19917
19918 * kern/term.c (pupa_term_set_current): Rewritten.
19919 (pupa_putchar): Likewise.
19920 (pupa_putcode): New function.
19921
19922 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
19923 (pupa_console_real_putchar): ... this.
19924 (pupa_vga_set_mode): New function.
19925 (pupa_vga_get_font): Likewise.
19926
19927 * normal/command.c: Include pupa/term.h.
19928 (terminal_command): New function.
19929 (pupa_command_init): Register the command "terminal".
19930
19931 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
19932 (DISP_UP): Likewise.
19933 (DISP_RIGHT): Likewise.
19934 (DISP_DOWN): Likewise.
19935 (DISP_HLINE): Likewise.
19936 (DISP_VLINE): Likewise.
19937 (DISP_UL): Likewise.
19938 (DISP_UR): Likewise.
19939 (DISP_LL): Likewise.
19940 (DISP_LR): Likewise.
19941
19942 * term/i386/pc/console.c (pupa_console_putchar): New function.
19943
19944 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
19945
19946 * util/resolve.c (pupa_util_resolve_dependencies): BUG
19947 FIX. Reverse the path_list.
19948
19949 * include/pupa/normal.h: Export pupa_register_command and
19950 pupa_unregister_command.
19951
19952 * hello/hello.c (pupa_cmd_hello): New module.
19953 * conf/i386-pc.rmk: Added hello.mod.
19954
19955 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
19956
19957 * kern/i386/pc/lzo1x.S: New file.
19958
19959 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
19960 (compress_kernel): New variable.
19961 (generate_image): Heavily modified to support compressing a
19962 large part of the core image.
19963
19964 * util/misc.c (pupa_util_read_image): Fix a file descriptor
19965 leak.
19966 (pupa_util_load_image): New function.
19967
19968 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
19969 (pupa_compressed_size): New variable.
19970 (codestart): Enable Gate A20 here.
19971 Decompress the compressed part of the core image.
19972 Rearrange the code to put functions and variables which are
19973 required for initialization in the non-compressed part.
19974 Include lzo1x.S.
19975
19976 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
19977 here.
19978
19979 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
19980
19981 * include/pupa/i386/pc/kernel.h
19982 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
19983 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
19984 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
19985 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
19986 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
19987
19988 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
19989
19990 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
19991 (Utility#rule): Likewise.
19992
19993 * configure.ac: Check if LZO is available.
19994
19995 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
19996
19997 * include/pupa/normal.h: New file.
19998 * include/pupa/setjmp.h: Likewise.
19999 * include/pupa/i386/setjmp.h: Likewise.
20000 * normal/cmdline.c: Likewise.
20001 * normal/command.c: Likewise.
20002 * normal/main.c: Likewise.
20003 * normal/menu.c: Likewise.
20004 * normal/i386/setjmp.S: Likewise.
20005
20006 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20007 (pupa_rescue_cmd_initrd): Likewise.
20008
20009 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20010 Likewise.
20011
20012 * kern/i386/pc/startup.S (translation_table): New variable.
20013 (translate_keycode): New function.
20014 (pupa_console_getkey): Call translate_keycode.
20015
20016 * kern/rescue.c (attempt_normal_mode): New function.
20017 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20018 it failed, print a message.
20019
20020 * kern/mm.c (pupa_real_malloc): Print more information when a
20021 free magic is broken.
20022 (pupa_free): If the first free header is not free actually, set
20023 it to P.
20024
20025 * kern/main.c (pupa_load_normal_mode): Just load the module
20026 "normal".
20027 (pupa_main): Don't print the message
20028 "Entering into rescue mode..." here.
20029
20030 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20031 Declared.
20032 (pupa_rescue_cmd_initrd): Likewise.
20033 (pupa_rescue_cmd_initrd): Likewise.
20034
20035 * include/pupa/symbol.h (FUNCTION): Specify the type.
20036 (VARIABLE): Likewise.
20037
20038 * include/pupa/err.h (pupa_err_t): Added
20039 PUPA_ERR_UNKNOWN_COMMAND.
20040
20041 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20042 (pupa_dl_get_prefix): Likewise.
20043
20044 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20045 Added _chain.mod and _linux.mod instead of chain.mod and
20046 linux.mod.
20047 (chain_mod_SOURCES): Renamed to ...
20048 (_chain_mod_SOURCES): ... this.
20049 (chain_mod_CFLAGS): Renamed to ...
20050 (_chain_mod_CFLAGS): ... this.
20051 (linux_mod_SOURCES): Renamed to ...
20052 (_linux_mod_SOURCES): ... this.
20053 (linux_mod_CFLAGS): Renamed to ...
20054 (_linux_mod_CFLAGS): ... this.
20055 (normal_mod_SOURCES): New variable.
20056 (normal_mod_CFLAGS): Likewise.
20057 (normal_mod_ASFLAGS): Likewise.
20058
20059 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20060
20061 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20062 possible.
20063
20064 * kern/dl.c (pupa_dl_ref): Refer depending modules
20065 recursively.
20066 (pupa_dl_unref): Unrefer depending modules recursively.
20067 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20068 a module is unloaded before one depending on that module is
20069 unloaded.
20070 (pupa_dl_unload): Unload depending modules explicitly,
20071 if possible.
20072
20073 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
20074
20075 * include/pupa/i386/pc/linux.h: New file.
20076 * loader/i386/pc/linux.c: Likewise.
20077
20078 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
20079 Removed.
20080 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
20081 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
20082 of PUPA_CHAINLOADER_BOOT_SECTOR.
20083
20084 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
20085 (pupa_linux_prot_size): New variable.
20086 (pupa_linux_tmp_addr): Likewise.
20087 (pupa_linux_real_addr): Likewise.
20088 (pupa_linux_boot_zimage): New function.
20089 (pupa_linux_boot_bzimage): Likewise.
20090
20091 * kern/i386/pc/init.c (struct mem_region): New structure.
20092 (MAX_REGIONS): New macro.
20093 (mem_regions): New variable.
20094 (num_regions): Likewise.
20095 (pupa_os_area_addr): Likewise.
20096 (pupa_os_area_size): Likewise.
20097 (pupa_lower_mem): Likewise.
20098 (pupa_upper_mem): Likewise.
20099 (add_mem_region): New function.
20100 (compact_mem_regions): Likewise.
20101 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
20102 the size of the conventional memory and that of so-called upper
20103 memory (before the first memory hole).
20104 Instead of adding each found region to free memory, use
20105 add_mem_region and add them after removing overlaps.
20106 Also, add only 1/4 of the upper memory to free memory. The rest
20107 is used for loading OS images. Maybe this is ad hoc, but this
20108 makes it much easier to relocate OS images when booting.
20109
20110 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
20111 (pupa_enter_rescue_mode): Don't register initrd and module.
20112
20113 * kern/mm.c: Include pupa/dl.h.
20114
20115 * kern/main.c: Include pupa/file.h and pupa/device.h.
20116
20117 * kern/loader.c (pupa_loader_load_module_func): Removed.
20118 (pupa_loader_load_module): Likewise.
20119
20120 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
20121 ``.o''.
20122
20123 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
20124 (pupa_linux_tmp_addr): Likewise.
20125 (pupa_linux_real_addr): Likewise.
20126 (pupa_linux_boot_zimage): Likewise.
20127 (pupa_linux_boot_bzimage): Likewise.
20128
20129 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
20130 (pupa_upper_mem): Likewise.
20131 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
20132 module is too dangerous.
20133
20134 * include/pupa/loader.h (pupa_os_area_addr): Declared.
20135 (pupa_os_area_size): Likewise.
20136 (pupa_loader_set): Remove the first argument. Loader doesn't
20137 manage modules or initrd any longer.
20138 (pupa_loader_load_module): Removed.
20139
20140 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
20141 (linux_mod_SOURCES): New variable.
20142 (linux_mod_CFLAGS): Likewise.
20143
20144 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
20145
20146 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
20147 the length of a blocklist correctly.
20148
20149 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
20150 Use ioctl only if the OS file is a block device.
20151 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
20152 not very useful for normal files.
20153
20154 * kern/main.c (pupa_set_root_dev): New function.
20155 (pupa_load_normal_mode): Likewise.
20156 (pupa_main): Call those above.
20157
20158 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
20159 pupa_uint16_t.
20160
20161 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
20162
20163 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20164
20165 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
20166 (setup): Configure the installed partition information and the
20167 dl prefix.
20168
20169 * loader/i386/pc/chainloader.c (my_mod): New variable.
20170 (pupa_chainloader_unload): New function.
20171 (pupa_rescue_cmd_chainloader): Refer itself.
20172 (PUPA_MOD_INIT): Save its own module in MY_MOD.
20173
20174 * kern/i386/pc/startup.S (install_partition): Removed.
20175 (version_string): Likewise.
20176 (config_file): Likewise.
20177 (pupa_install_dos_part): New variable.
20178 (pupa_install_bsd_part): Likewise.
20179 (pupa_prefix): Likewise.
20180 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
20181
20182 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
20183 and pupa/misc.h.
20184 (make_install_device): New function.
20185 (pupa_machine_init): Set the dl prefix.
20186
20187 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
20188 (buf): Renamed to ...
20189 (linebuf): ... this.
20190 (pupa_rescue_cmd_prefix): New function.
20191 (pupa_rescue_cmd_insmod): Likewise.
20192 (pupa_rescue_cmd_rmmod): Likewise.
20193 (pupa_rescue_cmd_lsmod): Likewise.
20194 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
20195 rmmod and lsmod.
20196
20197 * kern/mm.c (pupa_memalign): If failed even after invalidating
20198 disk caches, unload unneeded modules and retry.
20199
20200 * kern/misc.c (pupa_memmove): New function.
20201 (pupa_memcpy): Removed.
20202 (pupa_strcpy): New function.
20203 (pupa_itoa): Made static.
20204
20205 * kern/dl.c (pupa_dl_iterate): New function.
20206 (pupa_dl_ref): Likewise.
20207 (pupa_dl_unref): Likewise.
20208 (pupa_dl_unload): Return if succeeded or not.
20209 (pupa_dl_unload_unneeded): New function.
20210 (pupa_dl_unload_all): Likewise.
20211 (pupa_dl_init): Renamed to ...
20212 (pupa_dl_set_prefix): ... this.
20213 (pupa_dl_get_prefix): New function.
20214
20215 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
20216 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
20217 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20218 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20219 (pupa_install_dos_part): Declared.
20220 (pupa_install_bsd_part): Likewise.
20221 (pupa_prefix): Likewise.
20222 (pupa_boot_drive): Likewise.
20223
20224 * include/pupa/types.h: Fix a typo.
20225
20226 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
20227 pupa_memmove.
20228 (pupa_memmove): Declared.
20229 (pupa_strcpy): Likewise.
20230
20231 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
20232 pupa_mod_init takes one argument, its own module.
20233 (pupa_dl_unload_unneeded): Declared.
20234 (pupa_dl_unload_all): Likewise.
20235 (pupa_dl_ref): Likewise.
20236 (pupa_dl_unref): Likewise.
20237 (pupa_dl_iterate): Likewise.
20238 (pupa_dl_init): Renamed to ...
20239 (pupa_dl_set_prefix): ... this.
20240 (pupa_dl_get_prefix): Declared.
20241
20242 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
20243 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
20244 unloaded.
20245 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
20246 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
20247
20248 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
20249 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
20250
20251 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20252
20253 * util/i386/pc/pupa-setup.c (setup): Define the internal
20254 function find_first_partition_start at the top level, because GCC
20255 3.0.x cannot compile internal functions in deeper scopes
20256 correctly.
20257 (find_root_device): Use lstat instead of stat.
20258 Don't follow symbolic links.
20259 Fix the path-constructing code.
20260
20261 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
20262 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
20263 by a BLKGETSIZE ioctl first, because block devices don't fill
20264 the member st_mode of the structure stat on Linux.
20265 [__linux__] (linux_find_partition): Use a temporary buffer
20266 REAL_DEV for the working space. Copy it to DEV before returning.
20267 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
20268 buffer cache consistent.
20269 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
20270 strncmp. The previous value was merely wrong.
20271 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
20272
20273 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
20274 FAT size is 12. The previous value was merely wrong.
20275
20276 * kern/main.c (pupa_main): Don't split the starting message from
20277 newlines.
20278
20279 * kern/term.c (pupa_putchar): Put CR after LF instead of before
20280 LF, because BIOS goes crazy about character attributes in this
20281 case.
20282
20283 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20284
20285 * include/i386/pc/util/biosdisk.h: New file.
20286 * util/i386/pc/biosdisk.c: Likewise.
20287 * util/i386/pc/pupa-setup.c: Likewise.
20288
20289 * Makefile.in (INCLUDE_DISTFILES): Added
20290 include/pupa/i386/pc/util/biosdisk.h.
20291 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
20292 directory util/i386/pc.
20293 (install-local): Added a rule for sbin_UTILITIES.
20294 (uninstall): Likewise.
20295
20296 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
20297
20298 * util/misc.c (xrealloc): New function.
20299 (pupa_malloc): Likewise.
20300 (pupa_free): Likewise.
20301 (pupa_realloc): Likewise.
20302 (pupa_stop): Likewise.
20303 (pupa_putchar): Likewise.
20304
20305 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
20306
20307 * include/pupa/util/misc.h (xrealloc): Declared.
20308
20309 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
20310 macro.
20311 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
20312 (PUPA_BOOT_MACHINE_BPB_END): ... this.
20313
20314 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
20315 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20316
20317 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
20318 way should be implemented.
20319 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20320
20321 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
20322 the size of NAME for safety.
20323 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
20324 0x88.
20325
20326 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
20327 (pupa_setup_SOURCES): Likewise.
20328
20329 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
20330
20331 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20332
20333 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
20334 bunch of pushl's from pusha, because this destroys the return
20335 value.
20336
20337 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20338
20339 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
20340 This means that any missing prototypes could be fatal. Also, you
20341 must take care when writing assembly code. See the comments at
20342 the beginning of startup.S, for more details.
20343
20344 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
20345 compilation mechanism.
20346 (pupa_chainloader_real_boot): Likewise.
20347 (pupa_biosdisk_rw_int13_extensions): Likewise.
20348 (pupa_biosdisk_rw_standard): Likewise.
20349 (pupa_biosdisk_check_int13_extensions): Likewise.
20350 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
20351 (pupa_biosdisk_get_diskinfo_standard): Likewise.
20352 (pupa_get_memsize): Likewise.
20353 (pupa_get_mmap_entry): Likewise.
20354 (pupa_console_putchar): Likewise.
20355 (pupa_console_setcursor): Likewise.
20356 (pupa_getrtsecs): Use pushl instead of push.
20357
20358 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
20359 memory instead of the stack for a mmap entry, because some
20360 BIOSes may ignore the maximum size and overflow.
20361
20362 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
20363
20364 * genmk.rb (PModule#rule): Compile automatically generated
20365 sources with module-specific CFLAGS as well as other sources.
20366
20367 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20368
20369 * configure.ac: Check ld.
20370 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
20371 respectively, before checking endianness and sizes.
20372
20373 * Makefile.in (LD): New variable.
20374
20375 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20376
20377 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
20378
20379 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20380
20381 * Changelog: New file.
20382