]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Add exec bit.
[grub2.git] / ChangeLog
CommitLineData
e4eb2373
RM
12009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2
3 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4 message for coreboot users.
5
c926e1d5 62009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7
8 Fix build with GNU gold.
9
10 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
11 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13 link addresses.
14 * aclocal.m4: Likewise.
15
86e5b1db 162009-11-04 Felix Zielcke <fzielcke@z-51.de>
17
18 * configure.ac (AC_PREREQ): Bump to 2.59d.
19 * INSTALL: Make it more clear when Autoconf and Ruby are
20 needed and when to run `./autogen.sh'.
21
246cd78f 222009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23
24 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25 OSes.
26
4f9dfb37 272009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28
29 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30
b82bd5e1 312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32
33 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34 giving it to GNU Mach.
35
ff1a9bca 362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
37
38 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
39 GNU partition number to get internal GRUB partition number.
40
61697d9c 412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
42
43 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
44 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
45
a50569e1 462009-11-01 Robert Millan <rmh.grub@aybabtu.com>
47
48 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
49 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
50 case.
51
5b153867 522009-11-01 Felix Zielcke <fzielcke@z-51.de>
53
54 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
55
d9e2cd70 562009-10-30 Robert Millan <rmh.grub@aybabtu.com>
57
58 Fix build problem.
59
60 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
61 `-isystem=$(srcdir)/include'.
62
805111a4 632009-10-30 Robert Millan <rmh.grub@aybabtu.com>
64
65 * util/i386/pc/grub-install.in: Remove hint that device.map should be
66 checked (grub-install doesn't currently rely on it).
67
fa6e945f 682009-10-29 Robert Millan <rmh.grub@aybabtu.com>
69
70 Revert SVN r2660.
71
72 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
73 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
74 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
75 * conf/i386-ieee1275.rmk: Likewise.
76 * conf/i386-pc.rmk: Likewise.
77 * conf/powerpc-ieee1275.rmk: Likewise.
78 * conf/sparc64-ieee1275.rmk: Likewise.
79 * conf/x86_64-efi.rmk: Likewise.
80
cee15086 812009-10-28 Robert Millan <rmh.grub@aybabtu.com>
82
83 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
84
95b9239e 852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
86
87 * include/grub/misc.h: Stop checking for APPLE_CC.
88
2ed19dfd 892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
90
91 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
92 doesn't cause an infinite call loop.
93
fdcdde19 942009-10-28 Felix Zielcke <fzielcke@z-51.de>
95
96 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
97 strings.
98
cefabfe1 992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
100
101 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
102 variable.
103 * Makefile.in: Likewise.
104
ed96ab6d 1052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
106
107 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
108
0579b753 1092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
110
111 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
112
478df409 1132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
114
115 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
116
083d1679 1172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
118
119 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
120 from here ...
121 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
122
5947ae32 1232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
124
125 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
126 in $(MAKEINFO) invocation. This makes it clear in output that
127 errors are being ignored.
128
94180ff6 1292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
130
131 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
132 from here ...
133 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
134 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
135 * conf/i386-ieee1275.rmk: Likewise.
136 * conf/i386-pc.rmk: Likewise.
137 * conf/powerpc-ieee1275.rmk: Likewise.
138 * conf/sparc64-ieee1275.rmk: Likewise.
139 * conf/x86_64-efi.rmk: Likewise.
140
9031b03a 1412009-10-26 Colin Watson <cjwatson@ubuntu.com>
142
143 * util/grub-editenv.c (main): If only a command is given, use
144 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
145 (usage): FILENAME is now optional and has a default.
146
e4f6809b 1472009-10-26 Colin Watson <cjwatson@ubuntu.com>
148
149 Improve grub-mkconfig performance when there are several menu
150 entries on a single filesystem.
151
152 * util/grub.d/10_linux.in (linux_entry): Cache the output of
153 prepare_grub_to_access_device.
154 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
155 * util/grub.d/30_os-prober.in: Likewise.
156
67937d4d 1572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
158
159 * util/grub.d/10_freebsd.in: Remove.
160 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
161 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
162
ee3756cc 1632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
164
5c35048e 165 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 166
4dea1c6f 1672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
168
169 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
170 grub_util_error() call.
171
042484d7 1722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
173
174 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
175 `reserved_first_sector' member.
176 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
177 `reserved_first_sector' to 1.
178 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
179 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
180 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
181 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
182 filesystems which begin at first sector.
183 (options): New option --skip-fs-probe.
184 (main): Handle --skip-fs-probe and pass it to setup().
185
d64448a7 1862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
187
188 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
189 (memset): Fix function prototype.
190
508d42ec 1912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1922009-10-25 Vasily Averin <vvs@parallels.com>
193
194 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
195 `dirent.direntlen == 0'.
196
b240e30c 1972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
198
199 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
200 `cpio'.
201 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
202
346e7fbe 2032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
204
205 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
206 `__trampoline_setup' and `__ucmpdi2'.
207 * include/grub/powerpc/libgcc.h: Only export symbols for functions
208 that libgcc provides.
209
cdb308b0 2102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
211
212 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
213 * include/grub/sparc64/libgcc.h (memset): Likewise.
214 * include/grub/misc.h (memset, memcmp): New function prototypes.
215
fb26abc2 2162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
217
218 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
219 `cpio'.
220 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
221
f6693890 2222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
223
224 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
225 * docs/grub.cfg: Compensate for recent change in multiboot
226 loader (since 2009-08-14 it won't pass filename to payload).
227 * util/grub.d/10_hurd.in: Likewise.
228
0933cdc0 2292009-10-21 Felix Zielcke <fzielcke@z-51.de>
230
231 * config.guess: Update to latest version from config git
232 repository.
233 * config.sub: Likewise.
234
3b2fe8c2 2352009-10-20 Robert Millan <rmh.grub@aybabtu.com>
236
237 Fix build on sparc64.
238
239 * configure.ac: Perform checks for libgcc symbols before
240 adding `-nostdlib' to LDFLAGS.
241
46695a62 2422009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Let user specify OpenBSD root device.
245
246 * loader/i386/bsd.c (openbsd_root): New variable.
247 (openbsd_opts): New option 'root'.
248 (OPENBSD_ROOT_ARG): New macro.
249 (grub_openbsd_boot): Use 'openbsd_root'.
250 (grub_cmd_openbsd): Fill 'openbsd_root'.
251
d2b6b7fc 2522009-10-16 Robert Millan <rmh.grub@aybabtu.com>
253
254 * NEWS: Misc adjustments.
255
421bd7ac 2562009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
259
f1d29d87 2602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
261
262 * configure.ac: Bump version to 1.97.
263
6f3cd880 2642009-10-16 Colin Watson <cjwatson@ubuntu.com>
265
266 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
267 -mno-3dnow on x86 architectures. Some toolchains enable these
268 features by default, but they rely on registers that aren't enabled
269 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
270
035f7122 2712009-10-15 Robert Millan <rmh.grub@aybabtu.com>
272
273 Make entry text a bit more readable.
274
275 * util/grub.d/10_linux.in: Add `with' before `Linux'.
276
44998e58 2772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
280
cd2851b3 2812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
284 operations.
285
c6f3b249 2862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * configure.ac: Add missing dollar.
289
6b5886ba 2902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
291
292 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
293
294 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
295 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
296 exports.
297 * include/grub/sparc64/libgcc.h: Likewise. Use
298 preprocessor conditionals.
299
e9d66f6d 3002009-10-14 Robert Millan <rmh.grub@aybabtu.com>
301
302 * conf/common.rmk (grub-dumpbios): Remove rule.
303 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
304 * util/grub-dumpbios.in: Remove file.
305
9155bc17 3062009-10-14 Robert Millan <rmh.grub@aybabtu.com>
307
308 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
309 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
310
311 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
312 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
313 users.
314
315 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
316 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
317 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
318 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
319 users.
320
bf7f7a18 3212009-10-12 Robert Millan <rmh.grub@aybabtu.com>
322
323 * term/tparm.c: Switch to GPLv3.
324
86564c26 3252009-10-09 Robert Millan <rmh.grub@aybabtu.com>
326
327 * include/grub/i386/cpuid.h: Add header protection.
328
5c936493 3292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
330
331 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
332
333 * include/grub/i386/cpuid.h: New file.
334 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
335 (has_longmode): Rename to ...
336 (grub_cpuid_has_longmode): ... this. Update all users. Remove
337 `static' attribute.
338 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
339 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
340 on a CPU that doesn't implement AMD64 instruction set.
341
186e7cf2 3422009-10-06 Colin Watson <cjwatson@ubuntu.com>
343
344 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
345 that version.texi is rebuilt on version number changes.
346
83b65c4a 3472009-10-06 Colin Watson <cjwatson@ubuntu.com>
348
349 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
350 Fixes bug #27602.
351
d244281c 3522009-10-06 Colin Watson <cjwatson@ubuntu.com>
353
354 * util/i386/pc/grub-install.in: Source
355 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
356 that the --grub-probe option will work.
357 * util/sparc64/ieee1275/grub-install.in: Likewise.
358
da25306d 3592009-10-05 Robert Millan <rmh.grub@aybabtu.com>
360
361 * configure.ac: Bump version to 1.97~beta4.
362
e8ee83c0 3632009-10-03 Robert Millan <rmh.grub@aybabtu.com>
364
365 Resync grub-mkdevicemap in x86_64-efi.
366
367 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
368 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
369 `util/devicemap.c'.
370
50dcabcf 3712009-10-01 Colin Watson <cjwatson@ubuntu.com>
372
373 * util/grub-editenv.c (create_envblk_file): Write new block with a
374 .new suffix and then rename it into place, to ensure atomic
375 creation.
376
0e51c3a7 3772009-09-28 Robert Millan <rmh.grub@aybabtu.com>
378
379 Do not automatically install headers.
380
381 * Makefile.in (include_DATA): Remove. Update all users.
382
31299a95 3832009-09-26 Robert Millan <rmh.grub@aybabtu.com>
384
385 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
386 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
387
388 * util/osdetect.lua: Remove.
389 * script/lua/lauxlib.c: Likewise.
390 * script/lua/ldebug.c: Likewise.
391 * script/lua/grub_main.c: Likewise.
392 * script/lua/lauxlib.h: Likewise.
393 * script/lua/ldebug.h: Likewise.
394 * script/lua/ltablib.c: Likewise.
395 * script/lua/liolib.c: Likewise.
396 * script/lua/lstrlib.c: Likewise.
397 * script/lua/lualib.h: Likewise.
398 * script/lua/ldo.c: Likewise.
399 * script/lua/ldump.c: Likewise.
400 * script/lua/ldo.h: Likewise.
401 * script/lua/loslib.c: Likewise.
402 * script/lua/lundump.c: Likewise.
403 * script/lua/grub_lib.c: Likewise.
404 * script/lua/ldblib.c: Likewise.
405 * script/lua/lundump.h: Likewise.
406 * script/lua/lmem.c: Likewise.
407 * script/lua/grub_lib.h: Likewise.
408 * script/lua/lmathlib.c: Likewise.
409 * script/lua/lstate.c: Likewise.
410 * script/lua/ltm.c: Likewise.
411 * script/lua/lvm.c: Likewise.
412 * script/lua/lmem.h: Likewise.
413 * script/lua/lstate.h: Likewise.
414 * script/lua/ltm.h: Likewise.
415 * script/lua/ltable.c: Likewise.
416 * script/lua/lvm.h: Likewise.
417 * script/lua/llex.c: Likewise.
418 * script/lua/lgc.c: Likewise.
419 * script/lua/grub_lua.h: Likewise.
420 * script/lua/loadlib.c: Likewise.
421 * script/lua/lfunc.c: Likewise.
422 * script/lua/lopcodes.c: Likewise.
423 * script/lua/lparser.c: Likewise.
424 * script/lua/ltable.h: Likewise.
425 * script/lua/llex.h: Likewise.
426 * script/lua/lgc.h: Likewise.
427 * script/lua/lfunc.h: Likewise.
428 * script/lua/lbaselib.c: Likewise.
429 * script/lua/lopcodes.h: Likewise.
430 * script/lua/lparser.h: Likewise.
431 * script/lua/lzio.c: Likewise.
432 * script/lua/linit.c: Likewise.
433 * script/lua/lobject.c: Likewise.
434 * script/lua/llimits.h: Likewise.
435 * script/lua/lstring.c: Likewise.
436 * script/lua/lzio.h: Likewise.
437 * script/lua/lapi.c: Likewise.
438 * script/lua/lcode.c: Likewise.
439 * script/lua/lua.h: Likewise.
440 * script/lua/lobject.h: Likewise.
441 * script/lua/lstring.h: Likewise.
442 * script/lua/lapi.h: Likewise.
443 * script/lua/lcode.h: Likewise.
444 * script/lua/luaconf.h: Likewise.
445
cb8a2c38 4462009-09-26 Colin Watson <cjwatson@ubuntu.com>
447
448 * docs/grub.texi (Command-line and menu entry commands): Document
449 date and echo commands.
450
6b9b6276 4512009-09-24 Pavel Roskin <proski@gnu.org>
452
453 * include/grub/kernel.h (struct grub_module_header): Remove
454 `grub_module_header_types'. Make `type' unsigned. Make `size'
455 32-bit on all platforms.
456 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
457 8-bit field. Use grub_host_to_target32() for `size'.
458 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
459 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
460 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
461
4e5a02a7 4622009-09-24 Robert Millan <rmh.grub@aybabtu.com>
463
464 Fix "lost keypress" bug in at_keyboard.
465
466 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
467 Checks for readyness of input buffer (without flushing it).
468 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
469 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
470
c6dcedf6 4712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
472
473 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
474 size check within GRUB_MACHINE_PCBIOS section.
475
74c958b1 4762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
477
478 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
479 return value.
480 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
481 KEYBOARD_ISREADY check.
482 (grub_at_keyboard_checkkey): Rename to ...
483 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
484 Remove gratuitous cast.
485
ff420223 4862009-09-23 Colin Watson <cjwatson@ubuntu.com>
487
488 * configure.ac: Call AC_PROG_MKDIR_P.
489 * Makefile.in (docs/stamp-vti): Create docs directory. Create
490 version.texi in $(builddir) rather than $(srcdir).
491 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
492 to makeinfo's @include search path.
493
d96875df 4942009-09-23 Felix Zielcke <fzielcke@z-51.de>
495
496 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
497
9b3f8365 4982009-09-23 Felix Zielcke <fzielcke@z-51.de>
499
500 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
501 for `*.dpkg-new'.
502
c44c90db 5032009-09-21 Colin Watson <cjwatson@ubuntu.com>
504
505 Build info documentation. Some code borrowed from Automake.
506
507 * configure.ac: Check for makeinfo.
508 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
509 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
510 docs/version.texi.
511 (MOSTLYCLEANFILES): Add vti.tmp.
512 (docs/version.texi, docs/stamp-vti): Update automatically.
513 (docs/grub.info): Build info documentation. Use --force and ignore
514 errors for now.
515 (all-local): Add $(INFOS).
516 (install-local): Install info files.
517 (uninstall): Uninstall info files.
518 * docs/version.texi: Remove from revision control. This file is
519 automatically generated on build now.
520 * gendistlist.sh: Add `*.info'.
521
e0b37bb5 5222009-09-21 Felix Zielcke <fzielcke@z-51.de>
523
524 * kern/term.c: Fix indentation.
525
5a78865b 5262009-09-21 Felix Zielcke <fzielcke@z-51.de>
527
528 * util/hostdisk.c: Fix a comment.
529
dace7e8a 5302009-09-20 Robert Millan <rmh.grub@aybabtu.com>
531
532 Fix regression introduced in r2539.
533
534 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
535 to 0xA1.
536
a83d079b 5372009-09-19 Colin Watson <cjwatson@ubuntu.com>
538
539 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 540 os-prober. Under normal operation, it does not print anything to
541 stderr; if it does, we need to debug it, and throwing away stderr
542 makes that excessively difficult.
a83d079b 543
be94a509 5442009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
547
63f745e8 5482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
549
550 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
551 AC_LANG_PROGRAM from autoconf.
552 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
553 prototypes (fixes warning).
554
555 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
556 `--disable-werror' was used.
557
bbb2a70f 5582009-09-16 Robert Millan <rmh.grub@aybabtu.com>
559
560 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
561 uninitialized `lastaddr'.
562
77c24f1d 5632009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
564
0f0b8c87 565 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 566
07197f23 5672009-09-14 Colin Watson <cjwatson@ubuntu.com>
568
569 * commands/test.c (get_fileinfo): Return immediately if
570 grub_fs_probe fails.
571
dabf1798 5722009-09-14 José Martínez <xosemp@gmail.com>
573
574 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
575
d52109a7 5762009-09-14 Colin Watson <cjwatson@ubuntu.com>
577
578 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
579 output.
580
56532179 5812009-09-13 Robert Millan <rmh.grub@aybabtu.com>
582
583 * configure.ac: Remove --enable-grub-pe2elf. Only build
584 grub-pe2elf when needed by the build system itself.
585 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
586
8ef070f5 5872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
588
589 * configure.ac: Bump version to 1.97~beta3.
590 * docs/version.texi: Likewise.
591
61229557 5922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
593
594 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
595 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
596 from here ...
597 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
598 (grub_linux_setup_video): ... to here (with some adjustments).
599
5c9f8d84 6002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
601
602 Fix memory corruption issue (spotted by Colin Watson).
603
604 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
605 causing returned size to be stored in an incorrect memory location.
606 Fix use of uninitialized value when storing the returned size.
607
e8f5d6e9 6082009-09-12 Yves Blusseau <blusseau@zetam.org>
609
610 Change clean rules to properly remove files
611
612 * genmk.rb: add new clean rules
613 * Makefile.in (clean): add the new targets
614 (mostlyclean): likewise
615
cda2a409 6162009-09-11 Colin Watson <cjwatson@ubuntu.com>
617
618 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
619 to grub_uint64_t.
620 * fs/ntfs.c (init_file): Understand 64-bit sizes for
621 non-resident files.
622
86695375 6232009-09-11 Colin Watson <cjwatson@ubuntu.com>
624
625 * configure.ac: Don't look for help2man when cross-compiling. Fixes
626 part of bug #27349.
627
8aa1541a 6282009-09-10 Felix Zielcke <fzielcke@z-51.de>
629
630 * util/grub-mkconfig.in: Make the created config mode 400 and
631 print a warning if it fails.
632
48d9bb0a 6332009-09-10 Robert Millan <rmh.grub@aybabtu.com>
634
635 * util/grub.d/40_custom.in: Ask user to type custom entries below
636 comment, rather than below 'exec tail' line.
637
3b0521be 6382009-09-10 Colin Watson <cjwatson@ubuntu.com>
639
640 * util/grub.d/40_custom.in: Make sure that the explanatory text is
641 visible in grub.cfg.
642
50051d55 6432009-09-10 Colin Watson <cjwatson@ubuntu.com>
644
645 * util/grub.d/40_custom.in: Make it a little clearer how to use this
646 file.
647
c0d34387 6482009-09-10 Felix Zielcke <fzielcke@z-51.de>
649
650 * docs/grub.cfg: Add an example menu entry for memtest86+.
651
80a608f3 6522009-09-09 Felix Zielcke <fzielcke@z-51.de>
653
a2094832 654 * config.guess: Update to latest version from config git.
80a608f3 655 * config.sub: Likewise.
656
99423078 6572009-09-08 Colin Watson <cjwatson@ubuntu.com>
658
659 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
660 unknown-command case. Fixes bug #27320.
661
44454e4c 6622009-09-08 Felix Zielcke <fzielcke@z-51.de>
663
664 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
665 `help' if the command exists.
666
e30d87ad 6672009-09-06 Robert Millan <rmh.grub@aybabtu.com>
668
669 * INSTALL: Require GCC 4.1.3 or later.
670
9a86f1ec 6712009-09-06 Yves Blusseau <blusseau@zetam.org>
672
673 * Makefile.in (RMKFILES): add i386-qemu.rmk
674 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
675 $(srcdir)/stamp-h.in
676
7f26d466 6772009-09-05 Robert Millan <rmh.grub@aybabtu.com>
678
679 * util/grub-probe.c (probe): Comment out buggy codepath, which
680 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
681 should be re-enabled after 1.97.
682
3a613259 6832009-09-05 Felix Zielcke <fzielcke@z-51.de>
684
685 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
686 find searches for.
687
197f76c7 6882009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
691 unnecessary calls to grub_error.
692
70ba68ce 6932009-09-04 Colin Watson <cjwatson@ubuntu.com>
694
695 * NEWS: Mention `keystatus' and Unicode fonts.
696
4ff0d7a4 6972009-09-04 Robert Millan <rmh.grub@aybabtu.com>
698
699 * configure.ac: Bump version to 1.97~beta2.
700 * docs/version.texi: Likewise.
701
77c55a87 7022009-09-03 Colin Watson <cjwatson@ubuntu.com>
703
704 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
705 containing unwind information in some cases where it previously did
706 not. Use -fno-dwarf2-cfi-asm if available to restore the old
707 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
708 discussion.
709
f79572cd 7102009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
711
712 Embedding loadenv module into grub-emu
713
714 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
715 commands/loadenv.c
716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
720 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
721 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
722
93a81088 7232009-09-03 Magnus Granberg <zorry@ume.nu>
724
725 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
726 include -fPIE in the default specs.
727 * configure.ac: Check if pie_possible is yes and add -fno-PIE
728 to TARGET_CFLAGS.
729
160034b2 7302009-09-03 Felix Zielcke <fzielcke@z-51.de>
731
732 * INSTALL: Note that GNU Bison 2.3 or later is required.
733
087c07c4 7342009-09-03 Colin Watson <cjwatson@ubuntu.com>
735
736 * kern/i386/pc/startup.S: Fix typo.
737
cbf978c0 7382009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
741 according to GCS.
742
7432009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 744
745 * docs/grub.texi (Naming convention): Describe one-based partition
746 numbering.
747 (Device syntax): Likewise.
748 (File name syntax): Likewise.
749 (Block list syntax): Likewise.
750 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
751 menu.lst.
752 (File name syntax): Likewise.
753 (Command-line and menu entry commands): Document acpi, blocklist,
754 crc, export, insmod, keystatus, ls, set, and unset commands.
755
f3e8cdfd 7562009-09-02 Colin Watson <cjwatson@ubuntu.com>
757
758 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
759 to avoid implying that only one of --shift, --ctrl, or --alt may be
760 used.
761
c0bc232b 7622009-09-02 Colin Watson <cjwatson@ubuntu.com>
763
764 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
765 rather than comparing against S_IFREG, which will almost never work.
766
aa0f752d 7672009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
770 (write_blocklists): Likewise.
771
ecb3166a 7722009-09-01 Colin Watson <cjwatson@ubuntu.com>
773
774 * script/lua/grub_lua.h (fputs): Supply a format string as the first
775 argument to grub_printf.
776
c403a125 7772009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 778
779 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 780 non GNU test.
31aba781 781
b5e7312c 7822009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * kern/file.c (grub_file_read): Spelling fix
785
fe00f472 7862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
789 loading of headers in some cases.
790
cc55302e 7912009-08-30 Robert Millan <rmh.grub@aybabtu.com>
792
793 * configure.ac: Bump version to 1.97~beta1.
794 * docs/version.texi: Likewise.
795
5c90cdd2 7962009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 797
798 * include/grub/i386/xnu.h: Add license header.
799 include grub/err.h explicitly.
800
c90edae4 8012009-08-29 Robert Millan <rmh.grub@aybabtu.com>
802
803 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
804 to `ufs' in the vfs.root.mountfrom kernel parameter.
805
d8888b5c 8062009-08-29 Robert Millan <rmh.grub@aybabtu.com>
807
808 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
809
810 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
811 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
812
813 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
814 `ARRAY_SIZE' macro.
815
6f07b921 8162009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * kern/file.c (grub_file_read): Check offset.
819 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
820 * fs/jfs.c (grub_jfs_read_file): Likewise.
821 * fs/ntfs.c (grub_ntfs_read): Likewise.
822 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
823 * fs/minix.c (grub_minix_read_file): Correct offset check.
824 * fs/ufs.c (grub_ufs_read_file): Likewise.
825
b4f34077 8262009-08-28 Colin Watson <cjwatson@ubuntu.com>
827
828 * term/i386/pc/console.c (bios_data_area): Cast
829 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
830
e7c69859 8312009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
832
833 1-bit optimised blitters.
834
835 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
836 prototype.
837 (grub_video_fbblit_replace_24bit_1bit): Likewise.
838 (grub_video_fbblit_replace_16bit_1bit): Likewise.
839 (grub_video_fbblit_replace_8bit_1bit): Likewise.
840 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
841 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
842 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
843 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
844 function.
845 (grub_video_fbblit_replace_24bit_1bit): Likewise.
846 (grub_video_fbblit_replace_16bit_1bit): Likewise.
847 (grub_video_fbblit_replace_8bit_1bit): Likewise.
848 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
849 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
850 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
851 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
852 when possible.
853 * video/video.c (grub_video_get_blit_format): Return
854 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
855
a57da43f 8562009-08-28 Colin Watson <cjwatson@ubuntu.com>
857
858 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
859 the first argument to grub_printf.
860
4cbe67e5 8612009-08-28 Colin Watson <cjwatson@ubuntu.com>
8622009-08-28 Robert Millan <rmh.grub@aybabtu.com>
863
864 Add `getkeystatus' terminal method. Add a new `keystatus' command
865 to query it.
866
867 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
868 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
869 modifier key bitmasks.
870 (struct grub_term_input): Add `getkeystatus' member.
871 (grub_getkeystatus): Add prototype.
872 * kern/term.c (grub_getkeystatus): New function.
873
874 * include/grub/i386/pc/memory.h
875 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
876 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
877 Data Area layout.
878 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
879 (grub_console_term_input): Set `getkeystatus' member.
880 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
881 constants.
882 (grub_usb_keyboard_getreport): Likewise.
883 (grub_usb_keyboard_checkkey): Likewise.
884 (grub_usb_keyboard_getkeystatus): New function.
885 (grub_usb_keyboard_term): Set `getkeystatus' member.
886
887 * commands/keystatus.c: New file.
888 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
889 (keystatus_mod_SOURCES): New variable.
890 (keystatus_mod_CFLAGS): Likewise.
891 (keystatus_mod_LDFLAGS): Likewise.
892 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
893 commands/keystatus.c.
894 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
896 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
898 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
899 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 900
6e2a9085 9012009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Split befs.mod and afs.mod into *_be.mod and *.mod
904
905 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
906 (grub_fstest_SOURCES): Likewise.
907 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
908 (afs_be_mod_SOURCES): New variable.
909 (afs_be_mod_CFLAGS): Likewise.
910 (afs_be_mod_LDFLAGS): Likewise.
911 (befs_be_mod_SOURCES): Likewise.
912 (befs_be_mod_CFLAGS): Likewise.
913 (befs_be_mod_LDFLAGS): Likewise.
914 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
915 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
916 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
917 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
918 (grub_emu_SOURCES): Likewise.
919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
921 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
922 * fs/afs_be.c: New file.
923 * fs/befs_be.c: New file.
924 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
925 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
926 (U16): Replaced with ...
927 (grub_afs_to_cpu16): ...this. All users updated.
928 (U32): Replaced with ...
929 (grub_afs_to_cpu32): ...this. All users updated.
930 (U64): Replaced with ...
931 (grub_afs_to_cpu64): ...this. All users updated.
932 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
933 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 934 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 935 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
936 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
937 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
938 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
939 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
940 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
941 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
942 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
943
32a71655 9442009-08-26 Bean <bean123ch@gmail.com>
945
946 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
947 64-bit number.
948 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
949 (grub_xfs_inode_block): Change return type to grub_uint64_t.
950 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
951
552bf6c5 9522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
953
954 NetBSD memory map support.
955
956 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
957 (grub_netbsd_btinfo_mmap_header): New structure.
958 (grub_netbsd_btinfo_mmap_entry): Likewise.
959 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
960
1ae2078c 9612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Enable bsd.mod on coreboot.
964
965 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
966 (bsd_mod_SOURCES): New variable.
967 (bsd_mod_CFLAGS): Likewise.
968 (bsd_mod_LDFLAGS): Likewise.
969 (bsd_mod_ASFLAGS): Likewise.
970 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
971 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
972
beefc598 9732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Cleanup NetBSD root support.
976
977 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
978 grub_bsd_get_device.
979 Fix typo.
980
3b76e68b 9812009-08-25 Felix Zielcke <fzielcke@z-51.de>
982
983 * util/grub.d/00_header.in: Move check for the video backend of
984 gfxterm from here ...
985 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
986 a suitable video backend.
987
aea664ea 9882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
989
990 Fix breakage in grub-setup.
991
992 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
993 "msdos_partition_map".
994
ff747d50 9952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
996
997 Fix breakage in normal/auth.c.
998
999 * normal/auth.c (grub_iswordseparator): New function.
1000
e7e1f93f 10012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 Authentication support.
1004
1005 * commands/password.c: New file.
1006 * conf/common.rmk (pkglib_MODULES): Add password.mod.
1007 (password_mod_SOURCES): New variable.
1008 (password_mod_CFLAGS): Likewise.
1009 (password_mod_LDFLAGS): Likewise.
1010 (normal_mod_SOURCES): Add normal/auth.c.
1011 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
1012 normal/auth.c.
1013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1015 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1017 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1018 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1019 * include/grub/auth.h: New file.
1020 * include/grub/err.h (grub_err_t): New enum value
1021 GRUB_ERR_ACCESS_DENIED.
1022 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
1023 'users'.
1024 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
1025 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1026 users updated.
1027 * normal/auth.c: New file.
1028 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1029 (grub_cmdline_run): Don't allow to go to command line without
1030 authentication.
1031 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1032 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1033 menuentry without superuser rights.
1034 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1035 user isn't a superuser.
1036
70f1161d 10372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Save space by inlining misc.c functions.
1040
1041 * kern/misc.c (grub_iswordseparator): Made static.
1042 * kern/misc.c (grub_strcat): Moved from here ...
1043 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1044 * kern/misc.c (grub_strncat): Moved from here ...
1045 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1046 * kern/misc.c (grub_strcasecmp): Moved from here ...
1047 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1048 * kern/misc.c (grub_strncasecmp): Moved from here ...
1049 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1050 * kern/misc.c (grub_isalpha): Moved from here ...
1051 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1052 * kern/misc.c (grub_isdigit): Moved from here ...
1053 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1054 * kern/misc.c (grub_isgraph): Moved from here ...
1055 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1056 * kern/misc.c (grub_tolower): Moved from here ...
1057 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1058
48e40bff 10592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * script/sh/function.c (grub_script_function_find): Cut error message
1062 not to flood terminal.
1063 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1064 limit.
1065 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1066
c385bfc3 10672009-08-24 Colin Watson <cjwatson@ubuntu.com>
1068
1069 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1070 `report' grub_uint8_t *.
1071 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1072 Use a 50-millisecond timeout rather than just repeating
1073 grub_usb_keyboard_getreport 50 times.
1074 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1075
2d21e3e8 10762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Rename *_partition_map to part_*
1079
1080 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1081 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1082 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1083 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1084 All users updated.
1085 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1086 All users updated.
1087 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1088 * util/grub-probe.c (probe_partmap): Don't transform partition name
1089 to get module name.
1090
dd103c4e 10912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 Fix OpenBSD and NetBSD support.
1094
1095 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1096 memory address conflict.
1097 (OPENBSD_MMAP_ACPI): New definition.
1098 (OPENBSD_MMAP_NVS): Likewise.
1099 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
1100 and OPENBSD_MMAP_NVS.
1101 Add memory map terminator
1102 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 1103 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 1104
16c84d74 11052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Let user specify NetBSD root device.
1108
1109 * loader/i386/bsd.c (netbsd_root): New variable.
1110 (netbsd_opts): New option 'root'.
1111 (NETBSD_ROOT_ARG): New macro.
1112 (grub_netbsd_boot): Use 'netbsd_root'.
1113 (grub_bsd_unload): Free 'netbsd_root'.
1114 (grub_cmd_netbsd): Fill 'netbsd_root'.
1115
adb29902 11162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Support for 64-bit NetBSD.
1119
1120 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
1121 point when booting non-FreeBSD.
1122
f5ae9f74 11232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 Support --no-smp and --no-acpi for NetBSD.
1126
1127 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
1128 (NETBSD_AB_NOACPI): Likewise.
1129 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
1130 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
1131
de74f136 11322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
1135 errors.
1136 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
1137 errors. Call grub_error when needed.
1138
e9a925da 11392009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * commands/search.c (search_fs): Try searching without autoload first.
1142 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1143 filesystem module explicitly for faster booting.
1144
5174302b 11452009-08-23 Colin Watson <cjwatson@ubuntu.com>
1146
1147 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
1148
c8c80635 11492009-08-23 Colin Watson <cjwatson@ubuntu.com>
1150
1151 * util/grub.d/30_os-prober.in: Disable os-prober if
1152 `GRUB_DISABLE_OS_PROBER' was set to true.
1153
71acf5e5 11542009-08-23 Robert Millan <rmh.grub@aybabtu.com>
1155
1156 * partmap/pc.c: Rename to ...
1157 * partmap/msdos.c: ... this. Update all users.
1158 (grub_pc_partition_map): Rename to ...
1159 (grub_msdos_partition_map): ... this. Update all users.
1160
1161 * parttool/pcpart.c: Rename to ...
1162 * parttool/msdospart.c: ... this. Update all users.
1163
1164 * include/grub/pc_partition.h: Rename to ...
1165 * include/grub/msdos_partition.h: ... this. Update all users.
1166 (grub_pc_partition_bsd_entry): Rename to ...
1167 (grub_msdos_partition_bsd_entry): ... this. Update all users.
1168 (grub_pc_partition_disk_label): Rename to ...
1169 (grub_msdos_partition_disk_label): ... this. Update all users.
1170 (grub_pc_partition_entry): Rename to ...
1171 (grub_msdos_partition_entry): ... this. Update all users.
1172 (grub_pc_partition_mbr): Rename to ...
1173 (grub_msdos_partition_mbr): ... this. Update all users.
1174 (grub_pc_partition): Rename to ...
1175 (grub_msdos_partition): ... this. Update all users.
1176 (grub_pc_partition_is_empty): Rename to ...
1177 (grub_msdos_partition_is_empty): ... this. Update all users.
1178 (grub_pc_partition_is_extended): Rename to ...
1179 (grub_msdos_partition_is_extended): ... this. Update all users.
1180 (grub_pc_partition_is_bsd): Rename to ...
1181 (grub_msdos_partition_is_bsd): ... this. Update all users.
1182
1183 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
1184 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
1185 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
1186 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
1187 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
1188 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
1189 (gpt_mod_LDFLAGS): Rename to ...
1190 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
1191 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
1192 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
1193 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
1194 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
1195 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
1196 (part_gpt_mod_LDFLAGS): ... this.
1197 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
1198 `pcpart.mod' to `msdospart.mod'.
1199 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
1200 to ...
1201 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
1202 (msdospart_mod_LDFLAGS): ... this.
1203
c11fded5 12042009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
1207 (openbsd_opts): Likewise.
1208 (netbsd_opts): Likewise.
1209 (freebsd_flags): Added 0 terminator.
1210 (openbsd_flags): Likewise.
1211 (netbsd_flags): Likewise.
1212 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
1213 (grub_cmd_freebsd): Transformed into extended command.
1214 (grub_cmd_openbsd): Likewise.
1215 (grub_cmd_netbsd): Likewise.
1216 (cmd_freebsd): Changed type to grub_extcmd_t.
1217 (cmd_openbsd): Likewise.
1218 (cmd_netbsd): Likewise.
1219 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
1220 grub_cmd_openbsd as extended commands.
1221 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
1222 cmd_netbsd and cmd_openbsd
1223
11d1c769 12242009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
1227
7a9094e5 12282009-08-21 Pavel Roskin <proski@gnu.org>
1229
5496c37e 1230 * Makefile.in (install-local): When checking if a file is in the
1231 build directory, use "test -e" to detect symlinks.
1232
7a9094e5 1233 * Makefile.in (install-local): Remove all files in
1234 $(DESTDIR)$(pkglibdir) before installing new files there.
1235
e53cea11 12362009-08-18 Felix Zielcke <fzielcke@z-51.de>
1237
1238 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
1239 grub-mkelfimage.
1240
9aced544 12412009-08-18 Felix Zielcke <fzielcke@z-51.de>
1242
1243 * util/grub-mkconfig.in: Don't use gfxterm by default if not
1244 explicitly specified by the user.
1245
b7da6bab 12462009-08-18 Pavel Roskin <proski@gnu.org>
1247
1248 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
1249 grub_uint8_t pointer for data.
1250 * include/grub/fbutil.h (struct grub_video_fbblit_info):
1251 Likewise.
1252 * video/fb/fbutil.c: Remove unnecessary casts.
1253
19f1b335 12542009-08-17 Michal Suchanek <hramrach@centrum.cz>
1255
1256 VBE cleanup.
1257
1258 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
1259 (grub_vbe_set_video_mode): Save active mode info
1260 only after setting the mode.
1261 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
1262 second argument.
1263
2f467aa9 12642009-08-17 Michal Suchanek <hramrach@centrum.cz>
1265
1266 Rename variables for clarity.
1267
1268 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
1269 (active_vbe_mode_info): ... this. All users updated.
1270 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
1271 All users updated.
1272 (initial_mode): Rename to ...
1273 (initial_vbe_mode): ... this. All users updated.
1274 (mode_in_use): Rename to ..
1275 (vbe_mode_in_use): ... this. All users updated.
1276 (mode_list): Rename to ..
1277 (vbe_mode_list): ... this. All users updated.
1278 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
1279 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
1280 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
1281 'mode_list_size' to 'vbe_mode_list_size'.
1282 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
1283 'best_mode_info' to 'best_vbe_mode_info' and
1284 'best_mode' to 'best_vbe_mode'
1285
6025fcd7 12862009-08-17 Michal Suchanek <hramrach@centrum.cz>
1287
1288 Remove duplicate grub_video_fb_get_video_ptr.
1289
1290 * include/grub/fbutil.h (get_data_ptr): Rename to ...
1291 (grub_video_fb_get_video_ptr): ... this.
1292 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
1293 * video/fb/fbutil.c: Add comment about addressing.
1294 (get_data_ptr): Rename to ...
1295 (grub_video_fb_get_video_ptr): ... this. All users updated.
1296 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
1297
cc8c6faf 12982009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1299
1300 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
1301 grub_dprintf() that was just added.
1302
08aa61f0 13032009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1304
1305 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
1306 (DEFAULT_VIDEO_MODE): Remove macros.
1307 (grub_linux_boot): Remove assumption that Linux has FB support,
1308 and use "text" as default video mode.
1309
7cef4f75 13102009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
1313 grub_dprintf.
1314 * fs/fat.c (grub_fat_read_data): Likewise.
1315
e1f39873 13162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
1319 payload.
1320 (grub_module): Likewise.
1321
c166d79e 13222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
1325 mbi->cmdline but free playground.
1326
c60cee8e 13272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 Handle group offset on UFS1.
1330
1331 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
1332 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
1333
c0d8b5d4 13342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Split ufs.mod into ufs1.mod and ufs2.mod.
1337
1338 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
1339 (grub_fstest_SOURCES): Likewise.
1340 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
1341 (ufs_mod_SOURCES): Remove.
1342 (ufs_mod_CFLAGS): Likewise.
1343 (ufs_mod_LDFLAGS): Likewise.
1344 (ufs1_mod_SOURCES): New variable.
1345 (ufs1_mod_CFLAGS): Likewise.
1346 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 1347 (ufs2_mod_SOURCES): New variable.
1348 (ufs2_mod_CFLAGS): Likewise.
1349 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 1350 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
1351 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1352 Likewise.
1353 (grub_emu_SOURCES): Likewise.
1354 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1355 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1356 (grub_setup_SOURCES): Likewise.
1357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1358 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
1359 (grub_setup_SOURCES): Likewise.
1360 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1361 Likewise.
1362 * fs/ufs2.c: New file.
1363 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
1364
d3539132 13652009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Framebuffer split.
1368
1369 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
1370 subsystem at the end.
1371 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
1372 (video_fb_mod_SOURCES): New variable.
1373 (video_fb_mod_CFLAGS): Likewise.
1374 (video_fb_mod_LDFLAGS): Likewise.
1375 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
1376 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
1377 * video/i386/pc/vbeblit.c: Moved from here ...
1378 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
1379 * video/i386/pc/vbefill.c: Moved from here ...
1380 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
1381 * video/i386/pc/vbeutil.c: Moved from here ...
1382 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
1383 * include/grub/i386/pc/vbeblit.h: Moved from here ...
1384 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
1385 * include/grub/i386/pc/vbefill.h: Moved from here ...
1386 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
1387 * include/grub/i386/pc/vbeutil.h: Moved from here ...
1388 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
1389 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
1390 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
1391 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
1392 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
1393 (grub_video_adapter): Added 'get_info_and_fini'.
1394 (grub_video_get_info_and_fini): New prototype.
1395 (grub_video_set_mode): make modestring const char *.
1396 * loader/i386/linux.c (grub_linux_setup_video): Use
1397 grub_video_get_info_and_fini.
1398 (grub_linux_boot): Move modesetting just before booting.
1399 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
1400 grub_video_get_info_and_fini.
1401 * video/i386/pc/vbe.c: Moved framebuffer part ...
1402 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
1403 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
1404 grub_video_fbstd_colors and grub_video_fb_set_palette.
1405 (grub_video_vbe_init): Clear 'framebuffer' variable and use
1406 grub_video_fb_init.
1407 (grub_video_vbe_fini): Use grub_video_fb_fini.
1408 (grub_video_vbe_setup): Use framebuffer.render_target instead of
1409 render_target and use grub_video_fb_set_active_render_target and
1410 grub_video_fb_set_palette.
1411 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
1412 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
1413 (grub_video_vbe_adapter): Use framebuffer.
1414 * video/video.c (grub_video_get_info_and_fini): New function.
1415 (grub_video_set_mode): Make modestring const char *.
1416 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
1417 values are already initialised.
1418
d404ee56 14192009-08-14 Pavel Roskin <proski@gnu.org>
1420
1421 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
1422 ABS and APPLE_CC.
1423 * boot/i386/pc/diskboot.S: Likewise.
1424 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
1425 sectors allow compilation on MacOSX.
1426 * conf/i386-pc.rmk: Enable unconditional compilation of
1427 lnxboot.img.
1428
9a10df16 14292009-08-13 Colin Watson <cjwatson@ubuntu.com>
1430
1431 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
1432 * util/grub.d/00_header.in: Enter interruptible sleep if
1433 GRUB_HIDDEN_TIMEOUT is set.
1434
be3c9ca7 14352009-08-13 Yves Blusseau <blusseau@zetam.org>
1436
1437 * include/grub/symbol.h: Add the LOCAL macro.
1438 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
1439 starting with "L_".
1440
1f9e557e 14412009-08-13 Pavel Roskin <proski@gnu.org>
1442
9ca62843 1443 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
1444 any modern compilers we support.
1445
1f9e557e 1446 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
1447 Use local labels starting with "L_" so that Apple assembler
1448 knows they are local.
1449
81623db6 14502009-08-10 Robert Millan <rmh.grub@aybabtu.com>
1451
1452 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
1453 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
1454 (bsd_kernel_types): ... this enum.
1455
1456 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
1457 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
1458 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
1459
1460 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
1461 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
1462 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
1463 messages.
1464
f5d35e7a 14652009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1466
1467 * util/grub-dumpdevtree: Moved from here ...
1468 * util/i386/efi/grub-dumpdevtree: ... to here.
1469 (hexify): New function. Converts a string to its hex version.
1470 Generate hex versions of "efi" and "device-properties" by calling
1471 hexify() on the ASCII strings rather than by hardcoding numbers.
1472
d1e1d527 14732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1474
1475 * fs/jfs.c: Update copyright year.
1476
1ebbe064 14772009-08-08 Felix Zielcke <fzielcke@z-51.de>
1478
1479 * util/grub.d/00_header.in: Fix a comment.
1480 * util/grub.d/10_linux.in: Likewise.
1481 * util/grub.d/10_windows.in: Likewise.
1482 * util/grub.d/10_hurd.in: Likewise.
1483
a78c8d24 14842009-08-08 Felix Zielcke <fzielcke@z-51.de>
1485
1486 * util/grub-mkconfig.in: Allow the user to specify the used font
1487 with GRUB_FONT.
1488
29a6b9e8 14892009-08-08 Pavel Roskin <proski@gnu.org>
1490
b5f16cc4 1491 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
1492 available, xfs.mod needs it now.
1493
2f5cb827 1494 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
1495 the "g" modifier in sed when the intention is to strip something
1496 once. This fixes comparison of kernels with multiple dashes.
1497
29a6b9e8 1498 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
1499 on it. Add missing space before closing bracket. Fix
1500 misleading formatting.
1501
892a3d98 15022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1503
1504 * docs/grub.texi: Major overhaul. Remove all sections that are
1505 specific to GRUB Legacy, or mostly composed of Legacy-specific
1506 information.
1507
ed94253f 15082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1509
1510 * docs/version.texi: New file. Provides version information for
1511 grub.texi.
1512
126d6628 15132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1514
1515 * docs/grub.texi: Update CVS information to SVN.
1516 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
1517
998b5aa9 15182009-08-07 Felix Zielcke <fzielcke@z-51.de>
1519
1520 * util/grub-mkconfig.in: Remove a wrong `fi'.
1521
818e094a 15222009-08-07 Felix Zielcke <fzielcke@z-51.de>
1523
1524 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
1525 (grub_jfs_uuid): New function.
1526 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
1527
b969c52f 15282009-08-07 Felix Zielcke <fzielcke@z-51.de>
1529
1530 * util/grub-mkconfig_lib.in (font_path): Move the functionality
1531 of it to ...
1532 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
1533 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
1534
7a4894cc 15352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1536
1537 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
1538 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
1539 Update all users.
1540
1541 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
1542 not just "vmlinu[zx]".
1543 Moved from here ...
1544 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
1545 all users.
1546
1547 * util/grub.d/10_linux.in (find_latest): Moved from here ...
1548 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
1549 all users.
1550
4e2171f8 15512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1552
1553 * util/grub.d/10_freebsd.in: Use an absolute device path for
1554 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
1555
6dcfcb32 15562009-08-06 Felix Zielcke <fzielcke@z-51.de>
1557
1558 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1559 handling of multiple abstraction modules.
1560
f56a8756 15612009-08-04 Robert Millan <rmh.grub@aybabtu.com>
1562
1563 Fix a bug resulting in black screen when loading Linux using a
1564 packed video mode.
1565
1566 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
1567 function.
1568
1569 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
1570 (grub_vbe_bios_getset_dac_palette_width): New function.
1571 (grub_vbe_bios_get_dac_palette_width)
1572 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
1573 grub_vbe_bios_getset_dac_palette_width()).
1574
1575 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
1576 check for return status.
1577 (grub_vbe_get_video_mode_info): When getting information for a packed
1578 mode (<= 8 bpp), obtain DAC palette width using
1579 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
1580 {red,green,blue}_mark_size.
1581
222671b2 15822009-08-04 Felix Zielcke <fzielcke@z-51.de>
1583
ecb1a6d9 1584 * commands/search.c (options): Fix help output to match actual code.
222671b2 1585
f84114f5 15862009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
1589 of homegrown code.
1590
bd288a20 15912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 1592
1593 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
1594 on XFS or ReiserFS.
1595
8aab5e25 15962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 Support Apple partition map with sector size different from 512 bytes.
1599
1600 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
1601 (apple_partition_map_iterate): Respect 'aheader.blocksize'
1602 and 'apart.partmap_size'.
1603
6ad6258a 16042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16052009-08-01 Robert Millan <rmh.grub@aybabtu.com>
1606
1607 Fix cpuid command.
1608
1609 * commands/i386/cpuid.c (options): New variable.
1610 (grub_cmd_cpuid): Return real error.
1611 (GRUB_MOD_INIT(cpuid)): Declare options.
1612
67459bc6 16132009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
1616 valid.
1617
fbc6ab54 16182009-07-31 Bean <bean123ch@gmail.com>
1619
1620 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
1621 log2_inode.
1622 (grub_fshelp_node): Move inode field to the end.
1623 (grub_xfs_data): Remove inode field.
1624 (grub_xfs_inode_block): Calculate inode size using sblock.
1625 (grub_xfs_inode_offset): Likewise.
1626 (grub_xfs_read_inode): Calculate inode size using sblock.
1627 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
1628 (grub_xfs_iterate_dir): Calculate inode size using sblock.
1629 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
1630 to match inode size.
1631 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
1632 not accessible when data is null.
1633 (grub_xfs_open): Likewise.
1634
f45d6cfc 16352009-07-31 Bean <bean123ch@gmail.com>
1636
1637 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
1638 Don't change pv->disk if it's already set.
1639
1640 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
1641 (grub_raid_register): ... here.
1642 (grub_raid_rescan): Removed.
1643
1644 * include/grub/raid.h (grub_raid_rescan): Removed.
1645
1646 * util/grub-fstest.c: Remove include file <grub/raid.h>.
1647 (fstest): Replace grub_raid_rescan with module fini function followed
1648 by init function.
1649
1650 * util/grub-probe.c: Add include file <grub/raid.h>.
1651 (probe_raid_level): New function.
1652 (probe): Detect abstraction by walking the disk device, support two
1653 level of abstraction (LVM on RAID) when detecting partition map.
1654
24443b5a 16552009-07-31 Pavel Roskin <proski@gnu.org>
1656
1657 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
1658 to grub_zalloc(), it was erroneous.
1659 Reported by Bean <bean123ch@gmail.com>
1660
a275d9e7 16612009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 1664 embedding zone, not only the first one.
a275d9e7 1665
56c5a47f 16662009-07-29 Joe Auricchio <jauricchio@gmail.com>
1667
1668 * term/gfxterm.c (clear_char): New function.
1669 (grub_virtual_screen_setup): Use clear_char.
1670 (scroll_up): Likewise.
1671 (grub_virtual_screen_cls): Likewise.
1672
67bb323a 16732009-07-29 Felix Zielcke <fzielcke@z-51.de>
1674
1675 * util/deviceiter.c (get_acceleraid_disk_name): New static
1676 function.
1677 (grub_util_iterate_devices): Handle Accelraid devices.
1678 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
1679
388a7c75 16802009-07-28 Robert Millan <rmh.grub@aybabtu.com>
1681
1682 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
1683 separator for the suggested gfxpayload string (';' collides with the
1684 parser and needs escaping).
1685
3bb7abcf 16862009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
1689 Clear direction flag before jumping to OS.
1690 (grub_multiboot2_real_boot): Likewise.
1691
2ddd36d7 16922009-07-28 Felix Zielcke <fzielcke@z-51.de>
1693
1694 * util/i386/pc/grub-install: Fix parsing of --disk-module
1695 option.
1696
c521b62b 16972009-07-28 Felix Zielcke <fzielcke@z-51.de>
1698
1699 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
1700 when embedding.
1701
880e0a0c 17022009-07-26 Felix Zielcke <fzielcke@z-51.de>
1703
1704 * util/grub-mkconfig.in (package_version): New variable.
1705 Use it do display the version.
1706
2366e356 17072009-07-25 Felix Zielcke <fzielcke@z-51.de>
1708
1709 * kern/file.c (grub_file_open): Revert to previous check with
1710 grub_errno.
1711
7ad8c80e 17122009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
1715 from help line. It's out of sync with code.
1716
72b9658b 17172009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
1720 entries on failed boot.
1721
77435277 17222009-07-25 Felix Zielcke <fzielcke@z-51.de>
1723
1724 * kern/file.c (grub_file_open): Fix an error check.
1725
fcaa8b21 17262009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
1727
35d16c74 1728 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
1729 partition map couldn't be identified.
fcaa8b21 1730
48904cd1 17312009-07-23 Pavel Roskin <proski@gnu.org>
1732
ef3c317f 1733 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
1734 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
1735 case of little endian words becomes just an optimization.
1736 Respect const modifier.
ad8ea1f4 1737 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 1738
48904cd1 1739 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
1740 to avoid loss of upper bits if align is unsigned and shorter
1741 than addr.
1742
260c9a89 17432009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 UUID support for UFS
1746
1747 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
1748 (grub_ufs_uuid): New function.
1749 (grub_ufs_fs): add .uuid
1750
f76ce889 17512009-07-21 Pavel Roskin <proski@gnu.org>
1752
1753 * kern/dl.c (grub_dl_check_header): Make static.
1754
6a6cbcaf 17552009-07-21 Felix Zielcke <fzielcke@z-51.de>
1756
1757 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
1758 add drivemap for Vista. It breaks Windows 7.
1759
cffcddb2 17602009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
1763 128 bytes
1764
1ef44b80 17652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Add BFS support
1768
1769 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
1770 (grub_fstest_SOURCES): Likewise.
1771 (pkglib_MODULES): Add befs.mod.
1772 (befs_mod_SOURCES): New variable.
1773 (befs_mod_CFLAGS): Likewise.
1774 (befs_mod_LDFLAGS): Likewise.
1775 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
1776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1779 (grub_setup_SOURCES): Likewise.
1780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1781 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1782 (grub_setup_SOURCES): Likewise.
1783 * fs/befs.c: New file.
1784 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
1785 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
1786 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
1787 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
1788 (B_KEY_INDEX_ALIGN): New declaration.
1789 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
1790 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
1791 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
1792 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
1793 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
1794 (grub_afs_mount) [MODE_BFS]: Likewise.
1795 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
1796 (grub_afs_fs): Use GRUB_AFS_FSNAME
1797 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
1798 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
1799 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
1800 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
1801
4f253044 18022009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
1803
1804 * util/getroot.c (find_root_device): Add support for MacOSX.
1805 * util/hostdisk.c: Likewise.
1806
57a55913 18072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * font/font.c (find_glyph): Check whether a font is present to avoid
1810 segmentation fault.
75421ca9 1811
18122009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 1813
1814 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
1815
e98cd0c2 18162009-07-20 Pavel Roskin <proski@gnu.org>
1817
1818 * configure.ac: Trim excessively wordy excuses.
1819
1d2d169a 18202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 Add symlink, mtime and label support to AtheFS.
1823
1824 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
1825 (grub_afs_iterate_dir): Handle symlinks.
1826 (grub_afs_open): Use grub_afs_read_symlink.
1827 (grub_afs_dir): Likewise.
1828 Pass mtime.
1829 (grub_afs_label): New function.
1830 (grub_afs_fs): Add grub_afs_label.
1831 (grub_afs_read_symlink): New function.
1832
186f3189 18332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 Fix AtheFS support.
1836
1837 * fs/afs.c: Fix comments style.
1838 (grub_afs_blockrun): Declare as packed.
1839 (grub_afs_datastream): Likewise.
1840 (grub_afs_bnode): Likewise.
1841 (grub_afs_btree): Likewise.
1842 (grub_afs_sblock): Likewise.
1843 Declare `name' as char.
1844 (grub_afs_inode): Declare as packed.
1845 Change void *vnode to grub_uint32_t unused.
1846 (grub_afs_iterate_dir): Check that key_size is positive.
1847 (grub_afs_mount): Don't read superblock twice.
75421ca9 1848 (grub_afs_dir): Don't free node in case of error,
186f3189 1849 grub_fshelp_find_file already handles this.
1850 (grub_afs_open): Likewise.
1851
5680109e 18522009-07-19 Pavel Roskin <proski@gnu.org>
1853
1854 * Makefile.in: Remove LIBLZO and enable_lzo.
1855 * conf/i386-pc.rmk: Remove lzo support.
1856 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
1857 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
1858 support.
1859 * kern/i386/pc/lzo1x.S: Remove.
1860 * kern/i386/pc/startup.S: Remove lzo support.
1861 * util/i386/pc/grub-mkimage.c: Likewise.
1862
ac70fa32 18632009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
1866 * fs/xfs.c (grub_xfs_dir): Likewise.
1867 * fs/afs.c (grub_afs_dir): Likewise.
1868 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1869 (grub_iso9660_open): Likewise.
1870 * fs/jfs.c (grub_jfs_open): Likewise.
1871 * fs/ext2.c (grub_ext2_dir): Likewise.
1872 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
1873 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 1874
eab58da2 18752009-07-16 Pavel Roskin <proski@gnu.org>
1876
d2838156 1877 * configure.ac: Never add "-c" to CFLAGS.
1878
55c70904 1879 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
1880
43e6200c 1881 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
1882 grub_cv_cc_efiemu should be used.
1883
ce7a733d 1884 * configure.ac: Typo fixes.
1885
eab58da2 1886 * kern/mm.c (grub_zalloc): New function.
1887 (grub_debug_zalloc): Likewise.
1888 * include/grub/mm.h: Declare grub_zalloc() and
1889 grub_debug_zalloc().
1890 * util/misc.c (grub_zalloc): New function.
1891 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
1892 instead of grub_malloc(), remove unneeded initializations.
1893 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
1894 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
1895 * commands/parttool.c (grub_cmd_parttool): Likewise.
1896 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1897 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
1898 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
1899 * disk/usbms.c (grub_usbms_finddevs): Likewise.
1900 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
1901 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
1902 (grub_cmd_efiemu_pnvram): Likewise.
1903 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
1904 * fs/iso9660.c (grub_iso9660_mount): Likewise.
1905 (grub_iso9660_iterate_dir): Likewise.
1906 * fs/jfs.c (grub_jfs_opendir): Likewise.
1907 * fs/ntfs.c (list_file): Likewise.
1908 (grub_ntfs_mount): Likewise.
1909 * kern/disk.c (grub_disk_open): Likewise.
1910 * kern/dl.c (grub_dl_load_core): Likewise.
1911 * kern/elf.c (grub_elf_file): Likewise.
1912 * kern/env.c (grub_env_context_open): Likewise.
1913 (grub_env_set): Likewise.
1914 (grub_env_set_data_slot): Likewise.
1915 * kern/file.c (grub_file_open): Likewise.
1916 * kern/fs.c (grub_fs_blocklist_open): Likewise.
1917 * loader/i386/multiboot.c (grub_module): Likewise.
1918 * loader/xnu.c (grub_xnu_create_key): Likewise.
1919 (grub_xnu_create_value): Likewise.
1920 * normal/main.c (grub_normal_add_menu_entry): Likewise.
1921 (read_config_file): Likewise.
1922 * normal/menu_entry.c (make_screen): Likewise.
1923 * partmap/sun.c (sun_partition_map_iterate): Likewise.
1924 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
1925 * script/sh/script.c (grub_script_parse): Likewise.
1926 * video/bitmap.c (grub_video_bitmap_create): Likewise.
1927 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1928 * video/readers/png.c (grub_png_output_byte): Likewise.
1929 (grub_video_reader_png): Likewise.
1930
830afef7 19312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 1932
1933 Enable all targets that can be built by default
1934
830afef7 1935 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 1936 grub-mkfont and grub-fstest if they can be built
1937
ee293aee 19382009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Fix hang and segmentation fault in grub-emu-usb
1941
1942 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
1943 * util/usb.c (grub_libusb_devices): likewise
1944 (grub_libusb_init): rename to ...
1945 (GRUB_MOD_INIT (libusb)):...this
1946 (grub_libusb_fini): rename to ..
1947 (GRUB_MOD_FINI (libusb)):...this
1948 * disk/usbms.c (grub_usbms_transfer): fix retry logic
1949 * include/grub/disk.h (grub_raid_init): removed, it's useless
1950 (grub_raid_fini): likewise
1951 (grub_lvm_init): likewise
1952 (grub_lvm_fini): likewise
1953 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
1954 by grub_init_all
1955
94414221 19562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Fix libusb
1959
1960 * Makefile.in (LIBUSB): new macro
1961 * genmk.rb (Utility/print_tail): new method
1962 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
1963 (top level): call util.print_tail at the end.
1964
59ade63d 19652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Make FreeBSD accept zpool.cache
1968
1969 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
1970 type is /boot/zfs/zpool.cache
1971
a58da8c7 19722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Fix 64-bit efiemu
1975
1976 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
1977 correct wrong typedef
1978 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
1979
20591577 19802009-07-15 Pavel Roskin <proski@gnu.org>
1981
560ca572 1982 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
1983 * kern/disk.c (struct grub_disk_cache): Likewise.
1984
e8e8e4fd 1985 * commands/probe.c (options): Typo fix.
1986
fde24e10 1987 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
1988 Increase to 0x5a to accommodate FAT32. Adjust other offsets
1989 accordingly.
1990 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
1991
379c54c1 1992 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
1993 the end of "Error" to make the message more readable.
1994
7bd8f5bf 1995 * boot/i386/pc/boot.S (kernel_segment): Remove.
1996 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
1997 for destination.
1998
40b132c5 1999 * boot/i386/pc/boot.S (boot_version): Remove.
2000 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2001 Remove.
2002
20591577 2003 * include/grub/i386/pc/boot.h: Sort all offsets.
2004 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
2005 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
2006 * boot/i386/pc/boot.S: Assert location of every offset listed in
2007 include/grub/i386/pc/boot.h.
2008
2df32b2c 20092009-07-13 Pavel Roskin <proski@gnu.org>
2010
44b5d879 2011 * include/grub/i386/coreboot/machine.h: Rename
2012 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
2013 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
2014 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2015
17dc3751 2016 * kern/dl.c: Force native word size to suppress warnings when
2017 compiling grub-emu.
2018
2df32b2c 2019 * kern/device.c (grub_device_iterate): Change struct part_ent to
2020 hold the name, not a pointer to it. Use one grub_malloc() per
2021 partition, not two. Free partition_name if grub_malloc() fails.
2022 Set ents to NULL only before grub_partition_iterate() is called.
2023
75c59f59 20242009-07-11 Bean <bean123ch@gmail.com>
2025
2026 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2027 childname.
2028
0ae1bf88 20292009-07-10 Bean <bean123ch@gmail.com>
20302009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2031
2032 * kern/ieee1275/openfw.c (grub_children_iterate)
2033 (grub_devalias_iterate): Fix size evaluation for property or path
2034 strings, which was broken since r2132.
2035
8279cade 20362009-07-07 Pavel Roskin <proski@gnu.org>
2037
7d8a52d3 2038 * commands/search.c (search_file): Merge into ...
2039 (search_fs): ... this. Accept search type as argument.
2040 (grub_cmd_search): Pass search type to search_fs().
2041
25f9a05a 2042 * include/grub/util/console.h: New file.
2043 * util/console.c: Use it instead of grub/machine/console.h.
2044 * util/grub-emu.c: Likewise.
2045
8279cade 2046 * lib/arg.c (find_long_option): Remove.
2047 (find_long): Add `len' argument, make `s' const char *.
2048 (grub_arg_parse): Parse long options in place, not in a
2049 temporary buffer.
2050
4a11b60f 20512009-07-06 Pavel Roskin <proski@gnu.org>
2052
99f68041 2053 * commands/search.c (search_fs): Fix potential NULL pointer
2054 dereference.
2055
4a11b60f 2056 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2057 function pointer.
2058
e110f4de 20592009-07-06 Daniel Mierswa <impulze@impulze.org>
2060
2061 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2062 comparison.
2063
46eeb6a2 20642009-07-05 Pavel Roskin <proski@gnu.org>
2065
bab74958 2066 * include/grub/i386/linux.h (struct linux_kernel_params):
2067 Restore padding3, it's still needed.
2068
46eeb6a2 2069 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2070 FreeBSD.
2071 * util/osdetect.lua: Likewise.
2072
b4a1dc79 20732009-07-05 Bean <bean123ch@gmail.com>
2074
2075 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2076
2077 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2078 (grub_lua_getenv): Likewise.
2079 (grub_lua_setenv): Likewise.
2080 (save_errno): New function.
2081 (push_result): Likewise.
2082 (grub_lua_enum_device): Likewise.
2083 (grub_lua_enum_file): Likewise.
2084 (grub_lua_file_open): Likewise.
2085 (grub_lua_file_close): Likewise.
2086 (grub_lua_file_seek): Likewise.
2087 (grub_lua_file_read): Likewise.
2088 (grub_lua_file_getline): Likewise.
2089 (grub_lua_file_getsize): Likewise.
2090 (grub_lua_file_getpos): Likewise.
2091 (grub_lua_file_eof): Likewise.
2092 (grub_lua_file_exist): Likewise.
2093 (grub_lua_add_menu): Likewise.
2094
2095 * script/lua/grub_lua.h (isupper): New inline function.
2096 (islower): Likewise.
2097 (ispunct): Likewise.
2098 (isxdigit): Likewise.
2099 (strcspn): Change to normal function.
2100 (strpbkr): New function declaration.
2101 (memchr): Likewise.
2102
2103 * script/lua/grub_main.c (scan_str): New function.
2104 (strcspn): Likewise.
2105 (strpbrk): Likewise.
2106 (memchr): Likewise.
2107
2108 * script/lua/linit.c (lualibs): Enable the string library.
2109
2110 * util/osdetect.lua: New file.
2111
2da92295 21122009-07-04 Robert Millan <rmh.grub@aybabtu.com>
2113
2114 * include/grub/i386/linux.h (struct linux_kernel_params): Add
2115 `capabilities' member.
2116
b2582ec9 21172009-07-02 Pavel Roskin <proski@gnu.org>
2118
2119 * genparttoollist.sh: Add missing newline at the end.
2120
32622956 21212009-07-01 Pavel Roskin <proski@gnu.org>
2122
87a7339e 2123 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2124
d23af54e 2125 * util/hostdisk.c (open_device): Remove `const' from
2126 `sysctl_size', as sysctlbyname() can change it (in this case it
2127 doesn't actually happen).
2128
c94b18a9 2129 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
2130 using signed long int constants.
2131
c6cd3ef0 2132 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
2133 constant to avoid a warning on FreeBSD.
2134
0df63420 2135 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
2136 where it's needed.
2137
999577f1 2138 * Makefile.in: Install include/grub/machine symlink.
2139
6f41557f 2140 * Makefile.in: When installing symlinks, use "cp -fR", which
2141 works on FreeBSD and MacOSX.
2142 From Yves Blusseau <cl7m42e02@sneakemail.com>
2143
c8d22988 2144 * kern/dl.c (grub_dl_resolve_symbol): Make static.
2145 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
2146
1b96e952 2147 * util/misc.c: Move grub_reboot() and grub_halt() ...
2148 * util/grub-emu.c: ... here. Make main_env static.
2149 * include/grub/util/misc.h: Remove main_env.
2150
2ef0084d 2151 * kern/mm.c: Use correct format to print size_t.
2152
32622956 2153 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
2154 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
2155 * kern/powerpc/dl.c: Likewise.
2156 * kern/sparc64/dl.c: Likewise.
2157 * kern/x86_64/dl.c: Likewise.
2158
3f7f0cd0 21592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2160
2161 Fix grub-emu build on sparc64-ieee1275.
2162
75421ca9 2163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 2164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2165
211d06b5 21662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2167
2168 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
2169 (grub_reboot, grub_halt): New functions.
2170
2171 * util/i386/pc/misc.c: Delete. Update all users.
2172 * util/sparc64/ieee1275/misc.c: Likewise.
2173 * util/powerpc/ieee1275/misc.c: Likewise.
2174
aaf53e3c 21752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2176
2177 * conf/i386.rmk (setjmp_mod_SOURCES)
2178 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
2179 * conf/common.rmk (setjmp_mod_SOURCES)
2180 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
2181 to use $(target_cpu).
2182 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
2183 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
2184 * conf/powerpc-ieee1275.rmk: Likewise.
2185 * conf/sparc64-ieee1275.rmk: Likewise.
2186
2187 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
2188 $(target_cpu) for kern/$(target_cpu)/dl.c.
2189 * conf/i386-efi.rmk: Likewise.
2190 * conf/i386-ieee1275.rmk: Likewise.
2191 * conf/x86_64-efi.rmk: Likewise.
2192 * conf/i386-coreboot.rmk: Likewise.
2193 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
2194 $(target_cpu) for kern/$(target_cpu)/dl.c and for
2195 kern/$(target_cpu)/cache.S.
2196 * conf/sparc64-ieee1275.rmk: Likewise.
2197
a337130b 21982009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2199
2200 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
2201 type to `grub_uint8_t', and adjust `padding9' accordingly.
2202
c6fe4d53 22032009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2204
b09db61d 2205 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
2206
c6fe4d53 2207 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
2208 assembly in final jump, using register constraints.
2209
b09db61d 2210 (grub_linux_boot): For text mode, initialize `have_vga' using
2211 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
2212
2213 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
2214 right before the final jump.
2215
2216 Set `video_mode' to 0x3.
2217
2218 Document initialization of `video_page', `video_mode' and
2219 `video_ega_bx'.
2220
28333ad0 22212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2222
2223 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
2224 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 2225 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 2226
02164e1b 22272009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2228
2229 Fix build on Debian / sparc.
2230
2231 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2232
18b6c557 22332009-06-28 Pavel Roskin <proski@gnu.org>
2234
85f2aab6 2235 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
2236 fix a warning.
2237
18b6c557 2238 * util/grub.d/10_linux.in: Match SUSE style initrd names.
2239
ad760f81 22402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2241
2242 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
2243 `err'.
2244
87a4623b 22452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2246
2247 Revert r2338.
2248
2249 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
2250 file can't be opened. grub_file_open() is already supposed to set
75421ca9 2251 grub_errno / grub_errmsg appropriately.
87a4623b 2252 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2253
8231fb77 22542009-06-27 Pavel Roskin <proski@gnu.org>
22552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2256
2257 * include/grub/dl.h: Include grub/elf.h.
2258 (struct grub_dl): Add symtab field.
2259 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
2260 GRUB_MODULES_MACHINE_READONLY.
2261 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
2262 of the header for read-only modules.
2263 (grub_dl_unload): Free mod->symtab for read-only modules.
2264 * kern/i386/dl.c: Use mod->symtab.
2265 * kern/powerpc/dl.c: Likewise.
2266 * kern/sparc64/dl.c: Likewise.
2267 * kern/x86_64/dl.c: Likewise.
2268
2269 * conf/i386-qemu.rmk: New file.
2270 * kern/i386/qemu/startup.S: Likewise.
2271 * kern/i386/qemu/mmap.c: Likewise.
2272 * boot/i386/qemu/boot.S: Likewise.
2273 * include/grub/i386/qemu/time.h: Likewise.
2274 * include/grub/i386/qemu/serial.h: Likewise.
2275 * include/grub/i386/qemu/kernel.h: Likewise.
2276 * include/grub/i386/qemu/console.h: Likewise.
2277 * include/grub/i386/qemu/boot.h: Likewise.
2278 * include/grub/i386/qemu/init.h: Likewise.
2279 * include/grub/i386/qemu/machine.h: Likewise.
2280 * include/grub/i386/qemu/loader.h: Likewise.
2281 * include/grub/i386/qemu/memory.h: Likewise.
2282
2283 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
2284 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
2285 [qemu] (pkglib_IMAGES): Add `boot.img'.
2286 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
2287 [qemu] (boot_img_FORMAT): New variables.
2288 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
2289 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
2290 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
2291 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2292 [qemu] (kernel_img_FORMAT): New variables.
2293
2294 * configure.ac: Recognise `i386-qemu'.
2295
2296 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
2297 (for no compression).
2298 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
2299 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
2300 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
2301 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
2302 ifdefs).
2303
97fe384e 23042009-06-27 Pavel Roskin <proski@gnu.org>
2305
2306 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
2307 read.
2308 * efiemu/prepare32.c: Likewise.
2309 * efiemu/prepare64.c: Likewise.
2310
c402ab17 23112009-06-26 Pavel Roskin <proski@gnu.org>
2312
2313 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
2314 * include/grub/elf.h: Define symbols without "32" or "64" based
2315 on GRUB_TARGET_WORDSIZE.
2316 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
2317 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
2318 ELF definitions.
2319 * efiemu/loadcore64.c: Likewise.
2320 * loader/i386/bsd32.c: Likewise.
2321 * loader/i386/bsd64.c: Likewise.
2322 * kern/dl.c: Remove own ELF definitions.
2323 * util/i386/efi/grub-mkimage.c: Likewise.
2324
9bbdfd4d 23252009-06-23 Robert Millan <rmh.grub@aybabtu.com>
2326
2327 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
2328 segment 0x0 unconditionally, because the reference generated by
2329 GAS is an absolute address.
2330
a42ce6e9 23312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2332
2333 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
2334 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2335
c952cf92 23362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2337
2338 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
2339 indexes. Check for -f explicitly.
cc3752ad 2340 (search_file): Improve error message.
2341 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 2342
132a0a59 23432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2344
2345 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
2346 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
2347
387a140c 23482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2349
2350 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
2351 * conf/i386-ieee1275.rmk: Likewise.
2352 * conf/i386-coreboot.rmk: Likewise.
2353
2354 * kern/i386/pc/startup.S (grub_stop): Remove function.
2355 * kern/i386/ieee1275/startup.S: Likewise.
2356 * kern/i386/coreboot/startup.S: Likewise.
2357 * kern/i386/misc.S (grub_stop): New function.
2358
41da9665 23592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2360
2361 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
2362 * kern/i386/realmode.S (real_to_prot): ... to here.
2363
bf337234 23642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2365
2366 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
2367 with `kernel.img'.
2368 (kernel_elf_SOURCES): Rename to ...
2369 (kernel_img_SOURCES): ... this.
2370 (kernel_elf_HEADERS): Rename to ...
2371 (kernel_img_HEADERS): ... this. Update all users.
2372 (kernel_elf_ASFLAGS): Rename to ...
2373 (kernel_img_ASFLAGS): ... this.
2374 (kernel_elf_CFLAGS): Rename to ...
2375 (kernel_img_CFLAGS): ... this.
2376 (kernel_elf_LDFLAGS): Rename to ...
2377 (kernel_img_LDFLAGS): ... this.
2378 * conf/i386-coreboot.rmk: Likewise.
2379 * conf/powerpc-ieee1275.rmk: Likewise.
2380
2381 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
2382 with "kernel.img".
2383
f52196ff 23842009-06-21 Pavel Roskin <proski@gnu.org>
2385
c3cee413 2386 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
2387 to match nested functions.
2388 * loader/sparc64/ieee1275/linux.c: Likewise.
2389
f52196ff 2390 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
2391
58750afc 23922009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2393
2394 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
2395 all i386 platforms.
2396
15355c7d 23972009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2398
2399 Fix asm file handling on ELF, and remove workarounds.
2400
2401 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 2402 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 2403 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
2404 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
2405
3f3ec72b 24062009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Load BSD ELF modules
2409
2410 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
2411 and loader/i386/bsd64.c
2412 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
2413 (FREEBSD_MODTYPE_ELF_MODULE): New definition
2414 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
2415 (grub_freebsd_load_elfmodule32): New declaration
2416 (grub_freebsd_load_elfmoduleobj64): Likewise
2417 (grub_freebsd_load_elf_meta32): Likewise
2418 (grub_freebsd_load_elf_meta64): Likewise
2419 (grub_freebsd_add_meta): Likewise
2420 (grub_freebsd_add_meta_module): Likewise
2421 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
2422 (grub_freebsd_add_meta_module): Likewise and move module-specific
2423 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
2424 (grub_cmd_freebsd): Add elf-kernel specific parts
2425 based on grub_freebsd_add_meta_module
2426 (grub_cmd_freebsd_module): Add type parsing moved from
2427 grub_freebsd_add_meta_module
2428 (grub_cmd_freebsd_module_elf): New function
2429 (cmd_freebsd_module_elf): New variable
2430 (GRUB_MOD_INIT): Register freebsd_module_elf
2431 * loader/i386/bsd32.c: New file
2432 * loader/i386/bsd64.c: Likewise
2433 * loader/i386/bsdXX.c: Likewise
2434 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
2435 (grub_elf64_load): Likewise
2436 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
2437 All users updated
2438 (grub_elf64_load_hook_t): Likewise
2439
0db15301 24402009-06-21 Colin Watson <cjwatson@ubuntu.com>
2441
2442 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
2443 variable.
2444 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
2445 don't write a menu entry for recovery mode.
2446
546796c1 24472009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2448
2449 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
2450 after it's no longer needed.
2451
cd7310d5 24522009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2453
2454 * include/grub/i386/loader.h (grub_linux_prot_size)
2455 (grub_linux_tmp_addr, grub_linux_real_addr)
2456 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
2457 GRUB_MACHINE_PCBIOS.
2458 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
2459 common grub_util_info() call to ...
2460 (generate_image): ... here.
2461 Fix use of uninitialized memory, comparison of signed with
2462 unsigned integers and memory leak.
2463 Remove bogus module address message.
2464
ab32d3b5 24652009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
2468 grub_raid_register
2469 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2470
024ef597 24712009-06-19 Pavel Roskin <proski@gnu.org>
2472
2473 * configure.ac: Remove stray AC_MSG_CHECKING.
2474
3ac72b51 24752009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 2478
e14cd814 24792009-06-18 Pavel Roskin <proski@gnu.org>
2480
2481 * conf/common.rmk: Add fs_file.mod.
2482 * disk/fs_file.c: New file.
2483 * include/grub/disk.h (enum grub_disk_dev_id): Add
2484 GRUB_DISK_DEVICE_FILE_ID.
2485
26586d98 24862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 Fix build with Apple's toolchain. Part 2
2489
2490 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
2491 a fake start
2492
26de2bcd 24932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Fix build with Apple's toolchain. Part 1
2496
2497 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
2498 for long calls
2499 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 2500 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 2501 Apple's toolchain
2502
09b3490b 25032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Fix warnings
2506
2507 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
2508 (decomp_block): initialize ch
2509 use grub_memcpy instead of memcpy
2510
c22a006a 25112009-06-17 Pavel Roskin <proski@gnu.org>
2512
d3638678 2513 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
2514 version, use declarations needed to use vga_text as the startup
2515 console.
2516
c22a006a 2517 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
2518 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
2519 the kernel.
2520 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
2521 and grub_at_keyboard_fini(), it's done on module load and
2522 unload.
2523
05b129e0 25242009-06-17 Felix Zielcke <fzielcke@z-51.de>
2525
2526 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
2527 file can't be found.
2528 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2529
cf24ed9e 25302009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Fix newline handling
2533
2534 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 2535 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 2536 (grub_script_yylex): don't segfault on unterminated script
2537 newline terminates command and variable
2538
74aa8e4b 25392009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 avoid double grub_adjust_range call. Bug reported by David Simner
2542
2543 * kern/disk.c (grub_disk_write): change to raw disk access before
2544 calling disk_read
2545
1bd265f3 25462009-06-17 Colin Watson <cjwatson@ubuntu.com>
2547
2548 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
2549 spaces, for the benefit of help2man.
2550 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2551
a2d08c06 25522009-06-16 Pavel Roskin <proski@gnu.org>
2553
2554 * kern/i386/halt.c: Include grub/machine/init.h.
2555 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
2556
b97bcb19 25572009-06-16 Felix Zielcke <fzielcke@z-51.de>
2558
2559 * util/grub.d/30_os-prober.in: Use ${root} in the generated
2560 drivemap menuentry.
2561
0644f96c 25622009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
2563
2564 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
2565 `echo' command.
2566
3ef17a2e 25672009-06-16 Pavel Roskin <proski@gnu.org>
2568
2569 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
2570 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
2571 save %dx, we only need %dl and we never change it.
2572 * boot/i386/pc/cdboot.S: Don't set the root drive.
2573 * boot/i386/pc/pxeboot.S: Likewise.
2574 * include/grub/i386/pc/boot.h: Remove
2575 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
2576 GRUB_BOOT_MACHINE_DRIVE_CHECK.
2577 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
2578 * kern/i386/pc/init.c (make_install_device): Remove references
2579 to grub_root_drive.
2580 * kern/i386/pc/startup.S: Likewise.
2581 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2582
693fe637 25832009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 xnu_uuid command
2586
2587 * commands/xnu_uuid.c: new file
2588 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
2589 (xnu_uuid_mod_SOURCES): new variable
2590 (xnu_uuid_mod_CFLAGS): likewise
2591 (xnu_uuid_mod_LDFLAGS): likewise
2592 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2593 * conf/i386-ieee1275.rmk: likewise
2594 * conf/i386-pc.rmk: likewise
2595 * conf/powerpc-ieee1275.rmk: likewise
2596 * conf/sparc64-ieee1275.rmk: likewise
2597 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
2598
c9da87d0 25992009-06-16 Pavel Roskin <proski@gnu.org>
2600
2601 * configure.ac: Avoid '==' in test command, it's not portable.
2602
9c6f4596 26032009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Probe command
2606
2607 * commands/probe.c: new file
2608 * conf/common.rmk (pkglib_MODULES): add probe.mod
2609 (probe_mod_SOURCES): new variable
2610 (probe_mod_CFLAGS): likewise
2611 (probe_mod_LDFLAGS): likewise
2612 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2613 * conf/i386-ieee1275.rmk: likewise
2614 * conf/i386-pc.rmk: likewise
2615 * conf/powerpc-ieee1275.rmk: likewise
2616 * conf/sparc64-ieee1275.rmk: likewise
2617
70b7f9fd 26182009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 Fix handling of string like \"hello\" and "a
2621 b"
2622
2623 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
2624 (grub_script_yylex): fix parsing of quoting, escaping and newline
2625
71c79a6b 26262009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2627
dd74360c 2628 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 2629 handling
dd74360c 2630
0644f96c 26312009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 2632
2633 * util/grub-mkconfig.in: Fix parsing of --output option.
2634
e40893c3 26352009-06-12 Pavel Roskin <proski@gnu.org>
2636
2637 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
2638 genmk.rb don't need to be generated or installed.
2639
3a1acfe2 26402009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * commands/i386/pc/drivemap_int13h.S: add more comments
2643
3a4575d4 26442009-06-11 Pavel Roskin <proski@gnu.org>
2645
0658e928 2646 * Makefile.in (uninstall): Uninstall manuals.
2647
ca0388f0 2648 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
2649 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
2650 and update-grub_lib in two places.
2651 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
2652
e3b27c39 2653 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
2654 a compiler warning.
2655
3a4575d4 2656 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
2657 `entry_lo' to fix variable shadowing.
2658
af1f4f55 26592009-06-11 Christian Franke <franke@computer.org>
2660
2661 * kern/misc.c (__enable_execute_stack): Add missing return type
2662 to prevent gcc warning.
2663
5225e649 26642009-06-11 Felix Zielcke <fzielcke@z-51.de>
2665
2666 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
2667
7d83bd47 26682009-06-11 Pavel Roskin <proski@gnu.org>
2669
c1cb63ba 2670 * Makefile.in: Don't rely on any scripts being executable.
2671 Always use $(SHELL) to run shell scripts.
2672
7d83bd47 2673 * configure.ac: Always define ___main if using -nostdlib. This
2674 fixes tests on Cygwin.
2675
948f48e7 26762009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
2677
2678 UDF fix
2679
7d83bd47 2680 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 2681 is in bytes and not in blocks
7d83bd47 2682
8ada9bc1 26832009-06-11 Pavel Roskin <proski@gnu.org>
2684
2685 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
2686 warning.
2687
25ad2323 26882009-06-11 Felix Zielcke <fzielcke@z-51.de>
2689
2690 * util/grub.d/30_os-prober.in: Fix a comment. Source
2691 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
2692 to set the root device. Place drivemap command in the generated
2693 chain entry.
2694
e65acb0c 26952009-06-11 Pavel Roskin <proski@gnu.org>
2696
2697 * configure.ac: Remove host_m32. Issues with 64-bit utilities
2698 have long been resolved.
2699
f285fe2d 27002009-06-11 Colin Watson <cjwatson@ubuntu.com>
2701
bd47b0b5 2702 * util/grub.d/10_linux.in: Capitalise "Linux".
2703
f285fe2d 2704 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
2705
a0c62e4e 27062009-06-11 Pavel Roskin <proski@gnu.org>
2707
b6783cb2 2708 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
2709 fix a gcc warning and ensure that the function won't ever exit.
2710
dde032e8 2711 * kern/i386/ieee1275/init.c: Add missing prototype for
2712 grub_stop_floppy().
2713
22cd079d 2714 * loader/ieee1275/multiboot2.c [__i386__]: Include
2715 grub/cpu/multiboot.h.
2716
a0c62e4e 2717 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
2718 casts to short - they are not portable and cause warnings. Fix
2719 use of uninitialized values in input_buf. Use ARRAY_SIZE.
2720
63963d17 27212009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 Drivemap fixes
2724
2725 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
2726 new function
2727 (grub_get_root_biosnumber_saved): new variable
2728 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
2729 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 2730 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 2731 %dx after the call if necessary
2732 * conf/common.rmk (pkglib_MODULES): remove boot.mod
2733 (boot_mod_SOURCES): remove
2734 (boot_mod_CFLAGS): remove
2735 (boot_mod_LDFLAGS): remove
2736 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
2737 (boot_mod_SOURCES): new variable
2738 (boot_mod_CFLAGS): likewise
2739 (boot_mod_LDFLAGS): likewise
2740 * conf/i386-efi.rmk: likewise
2741 * conf/i386-ieee1275.rmk: likewise
2742 * conf/i386-pc.rmk: likewise
2743 * conf/powerpc-ieee1275.rmk: likewise
2744 * conf/sparc64-ieee1275.rmk: likewise
2745 * conf/x86_64-efi.rmk: likewise
2746 * include/grub/i386/pc/biosnum.h: new file
2747 * lib/i386/pc/biosnum.c: likewise
2748 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
2749 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
2750 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 2751
33abf7ae 27522009-06-10 Pavel Roskin <proski@gnu.org>
2753
5ac35b35 2754 * io/gzio.c (test_header): Don't reuse one buffer for all data.
2755 Use separate variables. Read only the file size at the end, but
2756 not the checksum that we don't use.
2757
5c5215d5 2758 * kern/file.c (grub_file_read): Use void pointer for the buffer.
2759 Adjust all callers.
2760
27d5fef7 2761 * kern/ieee1275/openfw.c: Remove libc includes.
2762 * kern/ieee1275/cmain.c: Likewise.
2763 * include/grub/ieee1275/ieee1275.h: Likewise.
2764
33abf7ae 2765 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
2766 compiler warnings.
2767
19d50c2b 27682009-06-10 Felix Zielcke <fzielcke@z-51.de>
2769
2770 * Makefile.in: Remove all trailing whitespace.
2771 * conf/i386-pc.rmk: Likewise.
2772 * conf/powerpc-ieee1275.rmk: Likewise.
2773 * conf/sparc64-ieee1275.rmk: Likewise.
2774 * docs/grub.texi: Likewise.
2775 * docs/texinfo.tex: Likewise.
2776 * disk/fs_uuid.c: Likewise.
2777 * disk/lvm.c: Likewise.
2778 * disk/scsi.c: Likewise.
2779 * disk/ata.c: Likewise.
2780 * disk/ieee1275/ofdisk.c: Likewise.
2781 * disk/i386/pc/biosdisk.c: Likewise.
2782 * disk/host.c: Likewise.
2783 * disk/raid.c: Likewise.
2784 * disk/efi/efidisk.c: Likewise.
2785 * disk/usbms.c: Likewise.
2786 * disk/memdisk.c: Likewise.
2787 * disk/loopback.c: Likewise.
2788 * kern/powerpc/dl.c: Likewise.
2789 * kern/device.c: Likewise.
2790 * kern/dl.c: Likewise.
2791 * kern/sparc64/dl.c: Likewise.
2792 * kern/ieee1275/ieee1275.c: Likewise.
2793 * kern/term.c: Likewise.
2794 * kern/fs.c: Likewise.
2795 * kern/i386/dl.c: Likewise.
2796 * kern/i386/pc/startup.S: Likewise.
2797 * kern/i386/pc/init.c: Likewise.
2798 * kern/i386/pc/mmap.c: Likewise.
2799 * kern/i386/pc/lzo1x.S: Likewise.
2800 * kern/i386/ieee1275/init.c: Likewise.
2801 * kern/i386/realmode.S: Likewise.
2802 * kern/i386/tsc.c: Likewise.
2803 * kern/partition.c: Likewise.
2804 * kern/corecmd.c: Likewise.
2805 * kern/file.c: Likewise.
2806 * kern/efi/efi.c: Likewise.
2807 * kern/efi/init.c: Likewise.
2808 * kern/efi/mm.c: Likewise.
2809 * kern/main.c: Likewise.
2810 * kern/err.c: Likewise.
2811 * kern/env.c: Likewise.
2812 * kern/disk.c: Likewise.
2813 * kern/generic/millisleep.c: Likewise.
2814 * kern/generic/rtc_get_time_ms.c: Likewise.
2815 * kern/misc.c: Likewise.
2816 * kern/parser.c: Likewise.
2817 * genmk.rb: Likewise.
2818 * configure.ac: Likewise.
2819 * boot/i386/pc/diskboot.S: Likewise.
2820 * boot/i386/pc/pxeboot.S: Likewise.
2821 * boot/i386/pc/boot.S: Likewise.
2822 * boot/i386/pc/lnxboot.S: Likewise.
2823 * boot/i386/pc/cdboot.S: Likewise.
2824 * parttool/pcpart.c: Likewise.
2825 * video/readers/tga.c: Likewise.
2826 * video/video.c: Likewise.
2827 * video/bitmap.c: Likewise.
2828 * lib/envblk.c: Likewise.
2829 * lib/i386/setjmp.S: Likewise.
2830 * fs/xfs.c: Likewise.
2831 * fs/afs.c: Likewise.
2832 * fs/fat.c: Likewise.
2833 * fs/ntfs.c: Likewise.
2834 * fs/udf.c: Likewise.
2835 * fs/affs.c: Likewise.
2836 * fs/iso9660.c: Likewise.
2837 * fs/hfs.c: Likewise.
2838 * fs/fshelp.c: Likewise.
2839 * fs/ext2.c: Likewise.
2840 * fs/jfs.c: Likewise.
2841 * fs/reiserfs.c: Likewise.
2842 * fs/hfsplus.c: Likewise.
2843 * fs/minix.c: Likewise.
2844 * fs/cpio.c: Likewise.
2845 * fs/sfs.c: Likewise.
2846 * fs/ufs.c: Likewise.
2847 * efiemu/prepare.c: Likewise.
2848 * efiemu/loadcore_common.c: Likewise.
2849 * efiemu/runtime/efiemu.sh: Likewise.
2850 * efiemu/runtime/efiemu.S: Likewise.
2851 * efiemu/runtime/efiemu.c: Likewise.
2852 * efiemu/pnvram.c: Likewise.
2853 * efiemu/main.c: Likewise.
2854 * efiemu/i386/pc/cfgtables.c: Likewise.
2855 * efiemu/i386/loadcore64.c: Likewise.
2856 * efiemu/i386/loadcore32.c: Likewise.
2857 * efiemu/loadcore.c: Likewise.
2858 * efiemu/symbols.c: Likewise.
2859 * efiemu/mm.c: Likewise.
2860 * include/grub/autoefi.h: Likewise.
2861 * include/grub/datetime.h: Likewise.
2862 * include/grub/term.h: Likewise.
2863 * include/grub/hfs.h: Likewise.
2864 * include/grub/lvm.h: Likewise.
2865 * include/grub/i386/tsc.h: Likewise.
2866 * include/grub/i386/linux.h: Likewise.
2867 * include/grub/i386/xnu.h: Likewise.
2868 * include/grub/i386/efiemu.h: Likewise.
2869 * include/grub/i386/pc/biosdisk.h: Likewise.
2870 * include/grub/i386/pc/memory.h: Likewise.
2871 * include/grub/i386/pc/vbe.h: Likewise.
2872 * include/grub/parttool.h: Likewise.
2873 * include/grub/video.h: Likewise.
2874 * include/grub/memory.h: Likewise.
2875 * include/grub/fs.h: Likewise.
2876 * include/grub/partition.h: Likewise.
2877 * include/grub/xnu.h: Likewise.
2878 * include/grub/efi/api.h: Likewise.
2879 * include/grub/efi/pe32.h: Likewise.
2880 * include/grub/efi/memory.h: Likewise.
2881 * include/grub/multiboot.h: Likewise.
2882 * include/grub/usbdesc.h: Likewise.
2883 * include/grub/multiboot2.h: Likewise.
2884 * include/grub/acpi.h: Likewise.
2885 * include/grub/efiemu/efiemu.h: Likewise.
2886 * include/grub/disk.h: Likewise.
2887 * include/grub/ieee1275/ieee1275.h: Likewise.
2888 * include/grub/net.h: Likewise.
2889 * include/grub/machoload.h: Likewise.
2890 * include/grub/macho.h: Likewise.
2891 * include/multiboot.h: Likewise.
2892 * genmoddep.awk: Likewise.
2893 * normal/main.c: Likewise.
2894 * normal/menu_entry.c: Likewise.
2895 * normal/menu_viewer.c: Likewise.
2896 * normal/completion.c: Likewise.
2897 * normal/cmdline.c: Likewise.
2898 * normal/misc.c: Likewise.
2899 * normal/datetime.c: Likewise.
2900 * bus/usb/usbtrans.c: Likewise.
2901 * bus/usb/ohci.c: Likewise.
2902 * bus/usb/uhci.c: Likewise.
2903 * bus/usb/usb.c: Likewise.
2904 * mmap/efi/mmap.c: Likewise.
2905 * mmap/i386/pc/mmap_helper.S: Likewise.
2906 * mmap/i386/pc/mmap.c: Likewise.
2907 * mmap/i386/mmap.c: Likewise.
2908 * mmap/i386/uppermem.c: Likewise.
2909 * mmap/mmap.c: Likewise.
2910 * commands/acpi.c: Likewise.
2911 * commands/echo.c: Likewise.
2912 * commands/blocklist.c: Likewise.
2913 * commands/loadenv.c: Likewise.
2914 * commands/usbtest.c: Likewise.
2915 * commands/boot.c: Likewise.
2916 * commands/parttool.c: Likewise.
2917 * commands/search.c: Likewise.
2918 * commands/cat.c: Likewise.
2919 * commands/i386/pc/play.c: Likewise.
2920 * commands/i386/pc/drivemap.c: Likewise.
2921 * commands/i386/pc/vbeinfo.c: Likewise.
2922 * commands/i386/pc/acpi.c: Likewise.
2923 * commands/i386/pc/vbetest.c: Likewise.
2924 * commands/ls.c: Likewise.
2925 * commands/cmp.c: Likewise.
2926 * commands/test.c: Likewise.
2927 * commands/efi/acpi.c: Likewise.
2928 * commands/gptsync.c: Likewise.
2929 * commands/help.c: Likewise.
2930 * partmap/amiga.c: Likewise.
2931 * partmap/apple.c: Likewise.
2932 * partmap/acorn.c: Likewise.
2933 * partmap/pc.c: Likewise.
2934 * partmap/sun.c: Likewise.
2935 * partmap/gpt.c: Likewise.
2936 * script/sh/lexer.c: Likewise.
2937 * script/sh/function.c: Likewise.
2938 * font/font.c: Likewise.
2939 * font/font_cmd.c: Likewise.
2940 * loader/powerpc/ieee1275/linux.c: Likewise.
2941 * loader/efi/chainloader.c: Likewise.
2942 * loader/multiboot_loader.c: Likewise.
2943 * loader/macho.c: Likewise.
2944 * loader/i386/multiboot.c: Likewise.
2945 * loader/i386/linux.c: Likewise.
2946 * loader/i386/pc/linux.c: Likewise.
2947 * loader/i386/pc/multiboot2.c: Likewise.
2948 * loader/i386/pc/chainloader.c: Likewise.
2949 * loader/i386/pc/xnu.c: Likewise.
2950 * loader/i386/bsd_trampoline.S: Likewise.
2951 * loader/i386/efi/linux.c: Likewise.
2952 * loader/i386/multiboot_elfxx.c: Likewise.
2953 * loader/i386/bsd_helper.S: Likewise.
2954 * loader/i386/bsd.c: Likewise.
2955 * loader/i386/linux_trampoline.S: Likewise.
2956 * loader/i386/xnu_helper.S: Likewise.
2957 * loader/i386/xnu.c: Likewise.
2958 * loader/i386/bsd_pagetable.c: Likewise.
2959 * loader/i386/multiboot_helper.S: Likewise.
2960 * loader/xnu.c: Likewise.
2961 * loader/xnu_resume.c: Likewise.
2962 * io/gzio.c: Likewise.
2963 * term/efi/console.c: Likewise.
2964 * term/terminfo.c: Likewise.
2965 * term/ieee1275/ofconsole.c: Likewise.
2966 * term/i386/pc/serial.c: Likewise.
2967 * term/i386/pc/vesafb.c: Likewise.
2968 * term/i386/pc/vga.c: Likewise.
2969 * term/usb_keyboard.c: Likewise.
2970 * term/gfxterm.c: Likewise.
2971 * aclocal.m4: Likewise.
2972 * util/lvm.c: Likewise.
2973 * util/grub.d/30_os-prober.in: Likewise.
2974 * util/grub.d/10_hurd.in: Likewise.
2975 * util/console.c: Likewise.
2976 * util/grub-macho2img.c: Likewise.
2977 * util/grub-probe.c: Likewise.
2978 * util/hostfs.c: Likewise.
2979 * util/i386/pc/grub-mkimage.c: Likewise.
2980 * util/i386/pc/grub-setup.c: Likewise.
2981 * util/i386/efi/grub-mkimage.c: Likewise.
2982 * util/grub-mkconfig.in: Likewise.
2983 * util/raid.c: Likewise.
2984 * util/resolve.c: Likewise.
2985 * util/grub-mkdevicemap.c: Likewise.
2986 * util/grub-emu.c: Likewise.
2987 * util/getroot.c: Likewise.
2988 * util/hostdisk.c: Likewise.
2989 * util/usb.c: Likewise.
2990 * util/grub-editenv.c: Likewise.
2991 * util/misc.c: Likewise.
2992
d2d49665 29932009-06-10 Felix Zielcke <fzielcke@z-51.de>
2994
2995 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
2996 `genparttoollist.sh'.
2997 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
2998 Add `*.sh' to the list find searches for and change `mdate.sh'
2999 to `mdate-sh'.
3000
fe052e37 30012009-06-10 Pavel Roskin <proski@gnu.org>
3002
2763ac18 3003 * include/grub/multiboot2.h: Provide compatibility defines for
3004 multiboot2.h.
3005 * include/multiboot2.h: Include stdint.h only if needed, using
3006 angle brackets.
3007 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
3008 grub/multiboot2.h.
3009 * loader/ieee1275/multiboot2.c: Likewise.
3010 * loader/multiboot2.c: Likewise.
3011 * loader/multiboot_loader.c: Likewise.
3012
437e6adc 3013 * configure.ac: Use -nostdlib when probing for the target. It
3014 should not be required to have libc for the target.
3015
06a6836c 3016 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
3017 they fail without libc headers for the target.
3018 * include/grub/powerpc/libgcc.h: Use weak attribute for all
3019 exports.
3020 * include/grub/sparc64/libgcc.h: Likewise. Don't use
3021 preprocessor conditionals.
3022
fe052e37 3023 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
3024 build system doesn't need to be aware of the tar.c internals.
3025
afd22553 30262009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 3027
afd22553 3028 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 3029
6b787c4f 30302009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3031
3032 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3033 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3034
30352009-06-09 Felix Zielcke <fzielcke@z-51.de>
3036
3037 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 3038 aren't available if ata.mod gets used.
6b787c4f 3039
473d1e45 30402009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 3041
473d1e45 3042 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 3043 initialising controller.
473d1e45 3044 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 3045
255a27d4 30462009-06-08 Felix Zielcke <fzielcke@z-51.de>
3047
3048 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3049 to choose between ata and biosdisk module on i386-pc.
3050
473d1e45 30512009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 3052
d55842d8 3053 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3054 Subclass and Programming Interface fields in terms of the 3 byte
3055 Class Code register.
3056 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3057
fa5db0b1 3058 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3059 interface is OHCI. Add grub_dprintf for symmetry with
3060 bus/usb/uhci.c.
3061 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3062 interface is UHCI. Add interf variable for programming
3063 interface. Print interface with class/subclass.
3064
c0947beb 3065 * bus/usb/ohci.c: Set interf with correct field.
3066
69da8877 3067 * bus/usb/uhci.c: Remove unneeded doubled lines.
3068 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3069 Remove whitespace inside comment.
3070
9e172e30 30712009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3072
3073 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3074 as fallback an equivalent option without depth.
3075
de65ee2b 30762009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Not fail if unable to retrieve C/H/S on LBA disks
3079
473d1e45 3080 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 3081 if unable to retrieve C/H/S on LBA disks
3082
b57ea2c9 30832009-06-08 Pavel Roskin <proski@gnu.org>
3084
3085 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3086 about aliasing.
3087
af361263 30882009-06-08 Felix Zielcke <fzielcke@z-51.de>
3089
3090 * Makefile.in (uninstall): Remove all $lib_DATA files.
3091
4c9ec6b3 30922009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Bugfix: install on partitionless device
3095
3096 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
3097 is a whole disk
3098
e76fc924 30992009-06-08 Felix Zielcke <fzielcke@z-51.de>
3100
3101 * Makefile.in (uninstall): Remove all $include_DATA files.
3102
ba5a0d05 31032009-06-08 Felix Zielcke <fzielcke@z-51.de>
3104
3105 * commands/true.c: New file. Implement the true and false commands.
3106 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
3107 (true_mod_SOURCES): New variable.
3108 (true_mod_CFLAGS): Likewise.
3109 (true_mod_LDFLAGS): Likewise.
3110
c8048e32 31112009-06-05 Colin D Bennett <colin@gibibit.com>
3112
3113 Optimized font character lookup using binary search instead of linear
3114 search. Fonts now are required to have the character index ordered by
3115 code point.
3116
3117 * font/font.c (load_font_index): Verify that fonts have ordered
3118 character indices.
3119 (find_glyph): Use binary search instead of linear search to find a
3120 character in a font.
3121
408305be 31222009-06-05 Michael Scherer <misc@mandriva.org>
3123
3124 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
3125 uses case sensitive btree.
3126 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
3127 only for case insensitive filesystems.
3128
8ee1e0d9 31292009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
3132 * conf/common.rmk (search_mod_CFLAGS): likewise
3133
a9966eb1 31342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3135
473d1e45 3136 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 3137 compensate a compiler bug
3138
9e7100fb 31392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3140
473d1e45 3141 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 3142 instead of '\b'
473d1e45 3143
ede21d71 31442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Definitions for creating asm symbols with Apple's CC
3147
3148 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
3149 [APPLE_CC] (VARIABLE): likewise
3150
9dbf7653 31512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 Disable lnxboot.img when compiled
3154 with Apple's CC
3155
3156 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
3157 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
3158 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
3159 [! APPLE_CC] (CODE_LENG): skip
3160 [! APPLE_CC] (setup_sects): likewise
3161 [! APPLE_CC]: skip filling
473d1e45 3162
e93cdc3d 31632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 Address in trampolines based on 32-bit registers when compiled
3166 with Apple's CC
3167
473d1e45 3168 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 3169 for addresses
3170 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
3171
6c688477 31722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Avoid aliases when compiling with Apple's CC for PCBIOS machine
3175
3176 * kern/misc.c [APPLE_CC] (memcpy): new function
3177 [APPLE_CC] (memmove): likewise
3178 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 3179 (memcpy): define alias conditionally on !APPLE_CC
6c688477 3180 (memset): likewise
3181 (abort): likewise
3182 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
3183 APPLE_CC are defined
3184 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
3185 (grub_assert_fail): make prototype conditional
3186
e37ffc5c 31872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
3190
473d1e45 3191 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
3192 grub-macho2img
e37ffc5c 3193 (CLEANFILES): add grub-macho2img
3194 (grub_macho2img_SOURCES): new variable
3195 * kern/i386/pc/startup.S (bss_start): new variable
3196 (bss_end): likewise
3197 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
3198 * util/grub-macho2img.c: new file
3199
cf00df31 32002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Use objconv when compiling with Apple's CC
3203
3204 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
3205 (efiemu64.o): likewise
3206 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
3207 when compiling with Apple's CC
3208 (efiemu64_s.o): likewise
3209 * configure.ac: check for objconv when compiling with Apple's CC
3210 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 3211
d119a20c 32122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Define segment as well as section when compiling with
3215 Apple's CC
3216
3217 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
3218 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
3219 (efiemu_convert_pointer): likewise
3220 (efiemu_set_virtual_address_map): likewise
3221 (efiemu_convert_pointer): likewise
3222 (efiemu_getcrc32): likewise
3223 (init_crc32_table): likewise
3224 (reflect): likewise
3225 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
3226 (GRUB_MOD_DEP): likewise
473d1e45 3227
c8600122 32282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Allow a compilation without -mcmodel=large
3231
3232 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
3233 when compiled without -mcmodel=large
473d1e45 3234 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 3235 without -mcmodel=large
473d1e45 3236 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 3237 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 3238
e8df1d4e 32392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 Remove nested functions in efiemu core
3242
3243 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 3244
cc6c3ac1 32452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
3248
3249 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
3250 temporary storage
473d1e45 3251 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
3252 using Apple's CC
cc6c3ac1 3253 (grub_cpu_is_tsc_supported): likewise
3254 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 3255
3e325901 32562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Absolute addressing through constant with Apple's cc
3259
3260 * kern/i386/pc/startup.S: Define necessary constants
3261 and address through it when using ABS with Apple's CC
3262 * boot/i386/pc/diskboot.S: likewise
3263 * boot/i386/pc/boot.S: likewise
3264 * boot/i386/pc/lnxboot.S: likewise
3265 * boot/i386/pc/cdboot.S: likewise
3266 * mmap/i386/pc/mmap_helper.S: likewise
3267 * commands/i386/pc/drivemap_int13h.S: likewise
3268
2b167a72 32692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Check if compiler is apple cc
3272
3273 * Makefile.in (ASFLAGS): new variable
3274 (TARGET_ASFLAGS): likewise
3275 (TARGET_MODULE_FORMAT): likewise
3276 (TARGET_APPLE_CC): likewise
3277 (OBJCONV): likewise
3278 (TARGET_IMG_CFLAGS): likewise
3279 (TARGET_CPPFLAGS): add includedir
3280 * configure.ac: call grub_apple_cc and grub_apple_target_cc
3281 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
3282 Check for linker script only if compiler isn't Apple's CC
3283 (TARGET_MODULE_FORMAT): set
3284 (TARGET_APPLE_CC): likewise
3285 (TARGET_ASFLAGS): likewise
3286 (ASFLAGS): likewise
3287 Check for objcopy only if compiler isn't Apple's CC
3288 Check for BSS symbol only if compiler isn't Apple's CC
3289 * genmk.rb: adapt nm options if we use Apple's utils
3290 * aclocal.m4 (grub_apple_cc): new test
3291 (grub_apple_target_cc): likewise
473d1e45 3292
fb14123e 32932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 Simplify sed expressions and improve awk
3296
3297 * Makefile.in (install-local): simplify sed expression
3298 * gencmdlist.sh: likewise
3299 * genmoddep.awk: avoid adding module as a dependency of itself
3300
5b889789 33012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 Add missing start symbols
3304
3305 * boot/i386/pc/boot.S: add start
fb14123e 3306 * boot/i386/pc/pxeboot.S: likewise
473d1e45 3307
fd2bf2e3 33082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 3311
3312 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 3313 (relocate_addresses): consider both r_addend and value at offset
3314 (make_mods_section): zerofill modinfo and header
3315 (convert_elf): write prefix here
473d1e45 3316
5389763d 33172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Use .asciz instead of .string
3320
3321 * i386/pc/diskboot.S: use .asciz instead of .string
3322 * i386/pc/boot.S: likewise
3323 * include/grub/dl.h (GRUB_MOD_DEP): likewise
3324 (GRUB_MOD_NAME): likewise
473d1e45 3325
3eb5ed4e 33262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 gfxpayload support
3329
3330 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
3331 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
3332 (grub_video_setup): remove
3333 (grub_video_set_mode): new prototype
3334 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
3335 (vid_mode): remove
3336 (linux_vesafb_res): compile only on PCBIOS
3337 (grub_linux_boot): support gfxpayload
3338 * loader/i386/pc/xnu.c (video_hook): new function
3339 (grub_xnu_set_video): support gfxpayload
3340 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
3341 (DEFAULT_VIDEO_HEIGHT): likewise
3342 (DEFAULT_VIDEO_FLAGS): likewise
3343 (DEFAULT_VIDEO_MODE): new definition
3344 (video_hook): new function
3345 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 3346 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 3347 loading xnu
3348 * video/video.c (grub_video_setup): removed
473d1e45 3349 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 3350 grub_video_setup
3351
4b0e1143 33522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Avoid calling biosdisk in drivemap
3355
3356 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
3357 (revparse_biosdisk): likewise
3358 (list_mappings): derive name from id directly
3359 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 3360
fda6cb98 33612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 Script fixes
3364
3365 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
3366 (grub_lexer_param): add tokenonhold
3367 (grub_script_create_cmdline): remove cmdline. All callers updated
3368 (grub_script_function_create): make functionname
3369 grub_script_arg. All callers updated
3370 (grub_script_execute_argument_to_string): new prototype
3371 * kern/parser.c (state_transitions): reorder
3372 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 3373 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 3374 make global
3375 (grub_script_execute_cmdline): use new format
3376 * script/sh/function.c (grub_script_function_create): make functionname
3377 grub_script_arg. All callers updated
473d1e45 3378 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 3379 (grub_script_yylex): remove
3380 (grub_script_yylex2): renamed to ...
3381 (grub_script_yylex): ...renamed
3382 parse the expressions like a${b}c
3383 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
3384 (GRUB_PARSER_TOKEN_VAR): remove
3385 (GRUB_PARSER_TOKEN_NAME): likewise
3386 ("if"): declare as typeless
3387 ("while"): likewise
3388 ("function"): likewise
3389 ("else"): likewise
3390 ("then"): likewise
3391 ("fi"): likewise
3392 (text): remove
3393 (argument): likewise
3394 (script): accept empty scripts and make exit on error
3395 (arguments): use GRUB_PARSER_TOKEN_ARG
3396 (function): likewise
3397 (command): move error handling to script
3398 (menuentry): move grub_script_lexer_ref before
473d1e45 3399 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 3400 argument. All callers updated
3401
f4448a07 34022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3403
3404 Prevent GRUB from probing floppies during boot.
3405
3406 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
3407 * commands/search.c (options): Add --no-floppy.
3408 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
3409 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
3410 --no-floppy when searching for UUIDs.
3411
2bf5885a 34122009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3413
3414 Simplify the code duplication in commands/search.c.
3415
3416 * commands/search.c (search_label, search_fs_uuid): Merge into ...
3417 (search_fs): ... this. Update all users.
3418
f6fd460a 34192009-06-03 Felix Zielcke <fzielcke@z-51.de>
3420
3421 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
3422
cbb3c83e 34232009-05-28 Pavel Roskin <proski@gnu.org>
3424
57788cfd 3425 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
3426 Remove the original symlink explicitly.
3427
cbb3c83e 3428 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
3429 just one slash. That's how grub_fshelp_find_file() does it.
3430
cd0d5e30 34312009-05-26 Pavel Roskin <proski@gnu.org>
3432
f0f8bbe2 3433 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
3434 to `str'.
3435
cd0d5e30 3436 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
3437 possibly unused.
3438
8c2cab51 34392009-05-25 Christian Franke <franke@computer.org>
3440
3441 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
3442 register.
3443 (grub_atapi_identify): Add wait after drive select.
3444 (grub_ata_identify): Do more strict status register check before
3445 calling grub_atapi_identify (). Suppress error message if status
3446 register is 0x00 after command failure. Add status register
3447 check after PIO read to avoid bogus identify due to stuck DRQ.
3448 Thanks to Pavel Roskin for testing.
3449 (grub_device_initialize): Remove unsafe status register check.
3450 Thanks to 'phcoder' for problem report and patch.
3451 Prevent sign extension in debug message.
3452
230c0ad6 34532009-05-23 Colin D Bennett <colin@gibibit.com>
3454
3455 Cleaned up `include/grub/normal.h'. Grouped prototypes by
3456 definition file, and functions defined in `normal/menu.c' have had
3457 their prototypes moved to `include/grub/menu.h' for consistency.
3458
3459 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
3460 from normal.h.
3461 (grub_menu_get_entry): Likewise.
3462 (grub_menu_get_timeout): Likewise.
3463 (grub_menu_set_timeout): Likewise.
3464 (grub_menu_execute_entry): Likewise.
3465 (grub_menu_execute_with_fallback): Likewise.
3466 (grub_menu_entry_run): Likewise.
3467
3468 * include/grub/normal.h: Re-ordered and grouped function
3469 prototypes by file that the function is defined in.
3470 (grub_menu_execute_callback): Removed; moved to menu.h.
3471 (grub_menu_get_entry): Likewise.
3472 (grub_menu_get_timeout): Likewise.
3473 (grub_menu_set_timeout): Likewise.
3474 (grub_menu_execute_entry): Likewise.
3475 (grub_menu_execute_with_fallback): Likewise.
3476 (grub_menu_entry_run): Likewise.
3477 (grub_menu_addentry): Renamed from this ...
3478 (grub_normal_add_menu_entry): ... to this.
3479
3480 * normal/main.c (grub_menu_addentry): Renamed from this ...
3481 (grub_normal_add_menu_entry): ... to this.
3482
3483 * script/sh/execute.c (grub_script_execute_menuentry): Update
3484 reference to renamed grub_menu_addentry function.
3485
861f03a5 34862009-05-23 Felix Zielcke <fzielcke@z-51.de>
3487
3488 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
3489
96b1619a 34902009-05-22 Pavel Roskin <proski@gnu.org>
3491
bf6a5fb2 3492 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
3493 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
3494 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
3495 compiling for the i386 targets, but not for the utilities.
3496
96b1619a 3497 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
3498 to grub_uint8_t.
3499 (grub_root_drive): Likewise.
3500 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
3501 remove alignment.
3502 (grub_root_drive): Change size to byte.
3503 (grub_start_addr): Remove.
3504 (grub_end_addr): Likewise.
3505 (grub_apm_bios_info): Likewise.
3506
b729776b 35072009-05-21 Felix Zielcke <fzielcke@z-51.de>
3508
3509 * normal/i386: Remove.
3510 * normal/powerpc: Likewise.
3511 * normal/sparc64: Likewise.
3512 * normal/x86_64: Likewise.
3513
0a15ce80 35142009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 3517 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 3518 * loader/i386/xnu_helper.S: Likewise
d6da58e6 3519
33db9015 35202009-05-18 Colin D Bennett <colin@gibibit.com>
3521
d6da58e6 3522 Display error messages when parsing a Lua statement fails.
3523 Previously, executing a syntactically invalid statement like
3524 ")foo" or "bar;" would silently fail.
33db9015 3525
3526 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 3527 (grub_lua_parse_line): Improved reporting of Lua parser and
3528 execution errors.
33db9015 3529
46422c89 35302009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 Remove -Werror which causes build to fail on some systems
3533
3534 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
3535 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
3536 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 3537
22f53a96 35382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 trampoline for linux on 64-bit platform
3541
18f547ad 3542 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
3543 loader/i386/efi/linux_trampoline.S
3544 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 3545 declaration
d6da58e6 3546 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
3547 here
22f53a96 3548 * loader/i386/linux_trampoline.S: moved here
d6da58e6 3549 * loader/i386/efi/linux.c (allocate_pages): reserve space for
3550 trampoline
22f53a96 3551 (jumpvector): removed
3552 (grub_linux_trampoline_start): new declaration
3553 (grub_linux_trampoline_end): likewise
3554 (grub_linux_boot): use trampoline when on 64-bit platform
3555 * loader/i386/linux.c: likewise
3556
cb5a0f40 35572009-05-16 Pavel Roskin <proski@gnu.org>
3558
3559 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
3560 const to avoid a warning.
3561 (grub_lua_setenv): Likewise.
3562 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
3563 lmsg to fix a warning.
3564
334f2c28 35652009-05-16 Felix Zielcke <fzielcke@z-51.de>
3566
3567 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 3568 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3569 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
3570 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3571 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3572 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3573 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3574 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 3575
59e5d3ec 35762009-05-16 Felix Zielcke <fzielcke@z-51.de>
3577
3578 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
3579
9d87a1ba 35802009-05-16 Bean <bean123ch@gmail.com>
3581
3582 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
3583 (lua_mod_SOURCES): New variable.
3584 (lua_mod_CFLAGS): Likewise.
3585 (lua_mod_LDFLAGS): Likewise.
3586
3587 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
3588 (setjmp_mod_SOURCES): New variable.
3589 (setjmp_mod_CFLAGS): Likewise.
3590 (setjmp_LDFLAGS): Likewise.
3591
3592 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
3593 (setjmp_mod_SOURCES): New variable.
3594 (setjmp_mod_CFLAGS): Likewise.
3595 (setjmp_LDFLAGS): Likewise.
3596
3597 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3598 (setjmp_mod_SOURCES): New variable.
3599 (setjmp_mod_CFLAGS): Likewise.
3600 (setjmp_LDFLAGS): Likewise.
3601
3602 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3603 (setjmp_mod_SOURCES): New variable.
3604 (setjmp_mod_CFLAGS): Likewise.
3605 (setjmp_LDFLAGS): Likewise.
3606
3607 * normal/i386/setjmp.S: Moved from here ...
3608 * lib/i386/setjmp.S: ... Moved here
3609 * normal/x86_64/setjmp.S: Moved from here ...
3610 * lib/x86_64/setjmp.S: ... Moved here
3611 * normal/powerpc/setjmp.S: Moved from here ...
3612 * lib/powerpc/setjmp.S: ... Moved here
3613 * normal/sparc64/setjmp.S: Moved from here ...
3614 * lib/sparc64/setjmp.S: ... Moved here
3615
3616 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
3617 returns_twice in mingw.
3618
3619 * script/lua/grub_lib.c: New file.
3620 * script/lua/grub_lib.h: Likewise.
3621 * script/lua/grub_lua.h: Likewise.
3622 * script/lua/grub_main.c: Likewise.
3623 * script/lua/lapi.c: Likewise.
3624 * script/lua/lapi.h: Likewise.
3625 * script/lua/lauxlib.c: Likewise.
3626 * script/lua/lauxlib.h: Likewise.
3627 * script/lua/lbaselib.c: Likewise.
3628 * script/lua/lcode.c: Likewise.
3629 * script/lua/lcode.h: Likewise.
3630 * script/lua/ldblib.c: Likewise.
3631 * script/lua/ldebug.c: Likewise.
3632 * script/lua/ldebug.h: Likewise.
3633 * script/lua/ldo.c: Likewise.
3634 * script/lua/ldo.h: Likewise.
3635 * script/lua/ldump.c: Likewise.
3636 * script/lua/lfunc.c: Likewise.
3637 * script/lua/lfunc.h: Likewise.
3638 * script/lua/lgc.c: Likewise.
3639 * script/lua/lgc.h: Likewise.
3640 * script/lua/linit.c: Likewise.
3641 * script/lua/liolib.c: Likewise.
3642 * script/lua/llex.c: Likewise.
3643 * script/lua/llex.h: Likewise.
3644 * script/lua/llimits.h: Likewise.
3645 * script/lua/lmathlib.c: Likewise.
3646 * script/lua/lmem.c: Likewise.
3647 * script/lua/lmem.h: Likewise.
3648 * script/lua/loadlib.c: Likewise.
3649 * script/lua/lobject.c: Likewise.
3650 * script/lua/lobject.h: Likewise.
3651 * script/lua/lopcodes.c: Likewise.
3652 * script/lua/lopcodes.h: Likewise.
3653 * script/lua/loslib.c: Likewise.
3654 * script/lua/lparser.c: Likewise.
3655 * script/lua/lparser.h: Likewise.
3656 * script/lua/lstate.c: Likewise.
3657 * script/lua/lstate.h: Likewise.
3658 * script/lua/lstring.c: Likewise.
3659 * script/lua/lstring.h: Likewise.
3660 * script/lua/lstrlib.c: Likewise.
3661 * script/lua/ltable.c: Likewise.
3662 * script/lua/ltable.h: Likewise.
3663 * script/lua/ltablib.c: Likewise.
3664 * script/lua/ltm.c: Likewise.
3665 * script/lua/ltm.h: Likewise.
3666 * script/lua/lua.h: Likewise.
3667 * script/lua/luaconf.h: Likewise.
3668 * script/lua/lualib.h: Likewise.
3669 * script/lua/lundump.c: Likewise.
3670 * script/lua/lundump.h: Likewise.
3671 * script/lua/lvm.c: Likewise.
3672 * script/lua/lvm.h: Likewise.
3673 * script/lua/lzio.c: Likewise.
3674 * script/lua/lzio.h: Likewise.
3675
5e898c9d 36762009-05-16 Bean <bean123ch@gmail.com>
3677
3678 * include/grub/kernel.h (grub_module_header_types): Add type
3679 OBJ_TYPE_CONFIG.
3680
3681 * kern/main.c (grub_load_config): New function.
3682 (grub_main): Call grub_load_config to read boot config.
3683
3684 * grub-mkimage (generate_image): New parameter config_path.
3685 (options): New option --config.
3686 (main): Parse --config option, and pass it to generate_image.
3687
cf353a47 36882009-05-14 Christian Franke <franke@computer.org>
3689
3690 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
3691 This fixes build on Cygwin.
3692
3834887f 36932009-05-14 Pavel Roskin <proski@gnu.org>
3694
3695 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
3696 jump. This saves two bytes, so the typical case of 2 swapped
3697 drives would fit 32 bytes.
3698
8090fc01 36992009-05-13 Pavel Roskin <proski@gnu.org>
3700
ac963883 3701 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
3702 grub_uint32_t to avoid a warning.
3703
8090fc01 3704 * loader/i386/linux.c (allocate_pages): When assigning
3705 real_mode_mem, cast through grub_size_t to fix a warning. The
3706 code already makes sure that the value would fit a pointer.
3707 (grub_linux_setup_video): Cast render_target->data to
3708 grub_size_t to fix a warning.
3709
18f547ad 37102009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 3711
3712 * commands/i386/pc/drivemap.c: New file - implement drivemap
3713 command.
3714 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
3715 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
3716
6f6a8b28 37172009-05-13 Pavel Roskin <proski@gnu.org>
3718
3719 * util/i386/pc/grub-setup.c (setup): Remove unused variable
3720 embedding_area_exists.
3721
15fbf4c4 37222009-05-13 Robert Millan <rmh.grub@aybabtu.com>
3723
3724 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
3725 it easier to understand / work with.
59978c8a 3726 Improve warning messages for cases where there's no embedding area,
3727 or when it is too small (or core.img too large).
15fbf4c4 3728
238e871f 37292009-05-13 Pavel Roskin <proski@gnu.org>
3730
0ab3a9a4 3731 * loader/i386/pc/multiboot2.c: Add necessary includes for
3732 grub_multiboot2_real_boot().
3733
a2c8c5f8 3734 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
3735 PX record is always little-endian. We only need the lower 2
3736 bytes of the mode.
3737
faec96af 3738 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
3739 facilitate code reuse.
3740 (grub_cpio_mount): Use "struct head", not a char buffer. This
3741 fixes a warning reported by gcc 4.4.
3742
238e871f 3743 * kernel/disk.c (grub_disk_read): Use void pointer for the
3744 buffer.
3745 (grub_disk_write): Use const void pointer for the buffer.
3746 Adjust all callers. Remove unnecessary casts.
3747
901d2f0c 37482009-05-10 Robert Millan <rmh.grub@aybabtu.com>
3749
3750 * util/i386/pc/grub-install.in: Update copyright year.
3751
18f547ad 37522009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 3753
3754 gptsync
3755
3756 * commands/gptsync.c: new file
3757 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
3758 (gptsync_mod_SOURCES): new variable
3759 (gptsync_mod_CFLAGS): likewise
3760 (gptsync_mod_LDFLAGS): likewise
18f547ad 3761 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 3762 new definition
3763 (GRUB_PC_PARTITION_TYPE_HFS): likewise
3764 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
3765 * conf/i386-ieee1275.rmk: likewise
3766 * conf/i386-pc.rmk: likewise
3767 * conf/powerpc-ieee1275.rmk: likewise
3768
b4ba690a 37692009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Fixed grub-emu
3772
3773 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
3774 (grub_dl_ref): likewise
3775
317e1a44 37762009-05-08 Robert Millan <rmh.grub@aybabtu.com>
3777
3778 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
3779 split in two functions (one for msdos and one for gpt).
3780
041b8094 37812009-05-08 Pavel Roskin <proski@gnu.org>
3782
752473c2 3783 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
3784 not modified.
3785
041b8094 3786 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
3787 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
3788 Initialize them with -1. Add sanity check for bad1. Eliminate
3789 nerr variable.
3790
172800ce 37912009-05-08 David S. Miller <davem@davemloft.net>
3792
3793 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
3794
29aa5e81 37952009-05-06 Robert Millan <rmh.grub@aybabtu.com>
3796
3797 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 3798 existence.
29aa5e81 3799
96613b62 38002009-05-05 Felix Zielcke <fzielcke@z-51.de>
3801
3802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 3803 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 3804
eef73c8a 38052009-05-05 David S. Miller <davem@davemloft.net>
3806
3807 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
3808
119494b5 38092009-05-05 Pavel Roskin <proski@gnu.org>
3810
3811 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
3812 of grub_dl_ref() and grub_dl_unref().
3813 * commands/parttool.c: Remove preprocessor conditionals around
3814 grub_dl_ref() and grub_dl_unref().
3815 * fs/affs.c: Likewise.
3816 * fs/afs.c: Likewise.
3817 * fs/cpio.c: Likewise.
3818 * fs/ext2.c: Likewise.
3819 * fs/fat.c: Likewise.
3820 * fs/hfs.c: Likewise.
3821 * fs/hfsplus.c: Likewise.
3822 * fs/iso9660.c: Likewise.
3823 * fs/jfs.c: Likewise.
3824 * fs/minix.c: Likewise.
3825 * fs/ntfs.c: Likewise.
3826 * fs/reiserfs.c: Likewise.
3827 * fs/sfs.c: Likewise.
3828 * fs/udf.c: Likewise.
3829 * fs/ufs.c: Likewise.
3830 * fs/xfs.c: Likewise.
3831 * include/grub/dl.h: Likewise.
3832 * loader/xnu.c: Likewise.
3833
de5fd76e 38342009-05-04 Pavel Roskin <proski@gnu.org>
3835
3836 * commands/acpi.c: Remove unused variable my_mod.
3837 * partmap/amiga.c: Likewise.
3838 * partmap/apple.c: Likewise.
3839 * partmap/gpt.c: Likewise.
3840 * partmap/pc.c: Likewise.
3841 * partmap/sun.c: Likewise.
3842 * term/gfxterm.c: Likewise.
3843 * term/i386/pc/vesafb.c: Likewise.
3844 * term/i386/pc/vga.c: Likewise.
3845
983598ad 38462009-05-04 David S. Miller <davem@davemloft.net>
3847
3848 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
3849 pointer args to grub_ieee1275_get_property().
3850
8aadec43 3851 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
3852
9554b15e 3853 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
3854 devices, and do not traverse down under controller nodes.
3855
67e23c90 3856 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
3857 (grub_ofdisk_open): Use it to un-escape "," characters.
3858 * kern/disk.c (find_part_sep): New.
3859 (grub_disk_open): Use it to find the first non-escaped ','
3860 character in the disk name.
3861 * util/ieee1275/devicemap.c (escape_of_path): New.
3862 (grub_util_emit_devicemap_entry): Use it.
3863 * util/sparc64/ieee1275/grub-install.in: Update script to
3864 strip partition specifiers properly by not triggering on
3865 '\' escaped ',' characters.
3866
74bfdd2f 38672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3868
3869 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
3870 to 0x300.
3871 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
3872 resolutions.
3873 (linux_vesafb_modes): Add a lot of additional modes to the list (based
3874 on documentation from Wikipedia).
3875
4241d2b1 38762009-05-04 Pavel Roskin <proski@gnu.org>
3877
3878 * disk/ata.c: Spelling fixes.
3879 * disk/raid.c: Likewise.
3880 * disk/usbms.c: Likewise.
3881 * disk/dmraid_nvidia.c: Likewise.
3882 * kern/ieee1275/openfw.c: Likewise.
3883 * kern/ieee1275/init.c: Likewise.
3884 * kern/ieee1275/cmain.c: Likewise.
3885 * boot/i386/pc/cdboot.S: Likewise.
3886 * video/readers/png.c: Likewise.
3887 * video/i386/pc/vbe.c: Likewise.
3888 * fs/udf.c: Likewise.
3889 * fs/hfs.c: Likewise.
3890 * fs/reiserfs.c: Likewise.
3891 * efiemu/runtime/efiemu.c: Likewise.
3892 * efiemu/main.c: Likewise.
3893 * efiemu/mm.c: Likewise.
3894 * include/grub/elf.h: Likewise.
3895 * include/grub/xnu.h: Likewise.
3896 * include/grub/usbdesc.h: Likewise.
3897 * include/grub/usb.h: Likewise.
3898 * include/grub/script_sh.h: Likewise.
3899 * include/grub/lib/LzmaEnc.h: Likewise.
3900 * include/grub/efiemu/efiemu.h: Likewise.
3901 * include/grub/command.h: Likewise.
3902 * normal/menu.c: Likewise.
3903 * normal/main.c: Likewise.
3904 * normal/datetime.c: Likewise.
3905 * bus/usb/uhci.c: Likewise.
3906 * mmap/i386/uppermem.c: Likewise.
3907 * mmap/mmap.c: Likewise.
3908 * commands/acpi.c: Likewise.
3909 * commands/test.c: Likewise.
3910 * partmap/apple.c: Likewise.
3911 * font/font.c: Likewise.
3912 * loader/sparc64/ieee1275/linux.c: Likewise.
3913 * loader/macho.c: Likewise.
3914 * loader/i386/bsd_trampoline.S: Likewise.
3915 * loader/i386/bsd.c: Likewise.
3916 * loader/xnu.c: Likewise.
3917 * term/i386/pc/vesafb.c: Likewise.
3918 * term/usb_keyboard.c: Likewise.
3919 * util/resolve.c: Likewise.
3920 * util/getroot.c: Likewise.
3921
0cfc0083 39222009-05-04 Felix Zielcke <fzielcke@z-51.de>
3923
3924 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
3925
7c1d00cd 39262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3927
3928 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
3929 build error.
3930
b01f0548 39312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3932
3933 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
3934 parameter only available on BIOS.
3935
ecc3eb22 39362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 Removed wrong semicolon in declaration
3939
3940 * grub/misc.h (grub_dprintf): remove semicolon
3941
112972a9 39422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3943
3944 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
3945 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
3946 is done by grub_cmd_linux() now).
3947 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
3948 restore video to text mode.
3949 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
3950 indicates lack of "vga=" parameter. "vga=0" is mapped to
3951 `GRUB_LINUX_VID_MODE_NORMAL'.
3952
afd5c115 39532009-05-04 Felix Zielcke <fzielcke@z-51.de>
3954
3955 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
3956 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
3957 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 3958 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 3959 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
3960 `grub_script.tab.c'.
3961
3962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3963 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
3966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3967
faa517ce 3968 * Makefile.in: Remove duplicated 2008 in Copyright line.
3969
ae0c0bdc 39702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3971
473d1e45 3972 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 3973 unconditionally.
3974 * include/grub/util/misc.h (grub_util_warn): New declaration.
3975
3976 * util/i386/pc/grub-install.in: Understand --force and pass it down
3977 to grub-setup.
3978
3979 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
3980 down to setup().
3981 (setup): Improve error messages and add warnings when requested to
3982 install in odd layouts. Refuse to install using blocklists unless
3983 --force was set.
3984
18f547ad 39852009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 3986
3987 * disk/raid.c (grub_raid_scan_device): Improve debug message.
3988
6d260daa 39892009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 Updated copyright year
3992
3993 * fs/hfsplus.c: updated copyright year
18f547ad 3994
69f853f8 39952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 HFS+ UUID
3998
18f547ad 3999 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 4000 in the space previously used by unused3
4001 (grub_hfsplus_uuid): new function
4002 (grub_hfsplus_fs): added uuid field
4003
4c402e73 40042009-05-03 Pavel Roskin <proski@gnu.org>
4005
4006 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
4007 suppress warnings. It's no longer needed.
4008 * disk/host.c: Likewise.
4009 * disk/ata_pthru.c: Likewise.
4010 * disk/loopback.c: Likewise.
4011 * hook/datehook.c: Likewise.
4012 * parttool/pcpart.c: Likewise.
4013 * fs/i386/pc/pxe.c: Likewise.
4014 * fs/ntfscomp.c: Likewise.
4015 * efiemu/main.c: Likewise.
4016 * mmap/mmap.c: Likewise.
4017 * commands/crc.c: Likewise.
4018 * commands/hexdump.c: Likewise.
4019 * commands/hdparm.c: Likewise.
4020 * commands/acpi.c: Likewise.
4021 * commands/echo.c: Likewise.
4022 * commands/minicmd.c: Likewise.
4023 * commands/blocklist.c: Likewise.
4024 * commands/memrw.c: Likewise.
4025 * commands/loadenv.c: Likewise.
4026 * commands/usbtest.c: Likewise.
4027 * commands/lsmmap.c: Likewise.
4028 * commands/boot.c: Likewise.
4029 * commands/parttool.c: Likewise.
4030 * commands/configfile.c: Likewise.
4031 * commands/search.c: Likewise.
4032 * commands/ieee1275/suspend.c: Likewise.
4033 * commands/cat.c: Likewise.
4034 * commands/i386/pc/pxecmd.c: Likewise.
4035 * commands/i386/pc/play.c: Likewise.
4036 * commands/i386/pc/halt.c: Likewise.
4037 * commands/i386/pc/vbeinfo.c: Likewise.
4038 * commands/i386/pc/vbetest.c: Likewise.
4039 * commands/lspci.c: Likewise.
4040 * commands/date.c: Likewise.
4041 * commands/handler.c: Likewise.
4042 * commands/ls.c: Likewise.
4043 * commands/test.c: Likewise.
4044 * commands/cmp.c: Likewise.
4045 * commands/efi/loadbios.c: Likewise.
4046 * commands/efi/fixvideo.c: Likewise.
4047 * commands/halt.c: Likewise.
4048 * commands/help.c: Likewise.
4049 * commands/reboot.c: Likewise.
4050 * hello/hello.c: Likewise.
4051 * script/sh/main.c: Likewise.
4052 * loader/xnu.c: Likewise.
4053 * term/terminfo.c: Likewise.
4054 * term/i386/pc/serial.c: Likewise.
4055 * term/usb_keyboard.c: Likewise.
4056
515b5079 40572009-05-03 David S. Miller <davem@davemloft.net>
4058
4059 * normal/menu.c: Include grub/parser.h
4060
dfc31a22 40612009-05-03 Pavel Roskin <proski@gnu.org>
4062
2fee74f1 4063 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4064 not char*.
4065 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4066 Suggested by Javier Martín <lordhabbit@gmail.com>
4067
dfc31a22 4068 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4069 efiemu??.o doesn't exist.
4070 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4071 copying.
4072
18f547ad 40732009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 4074
4075 FreeBSD 64-bit support
4076
18f547ad 4077 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 4078 and loader/i386/bsd_trampoline.S
4079 (bsd_mod_ASFLAGS): new variable
4080 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4081 (FREEBSD_MODTYPE_KERNEL64): likewise
4082 (grub_bsd64_trampoline_start): likewise
4083 (grub_bsd64_trampoline_end): likewise
4084 (grub_bsd64_trampoline_selfjump): likewise
4085 (grub_bsd64_trampoline_gdt): likewise
4086 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4087 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4088 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4089 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 4090 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 4091 of "attrib" member
4092 * loader/i386/bsd_pagetable.c: new file
4093 * loader/i386/bsd_trampoline.S: likewise
4094 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4095 (ALIGN_VAR): likewise
4096 (entry_hi): new variable
4097 (kern_end_mdofs): likewise
4098 (is_64bit): likewise
4099 (grub_freebsd_add_meta): use ALIGN_VAR
4100 (grub_e820_mmap): new declaration
4101 (grub_freebsd_add_mmap): new function
4102 (grub_freebsd_add_meta_module): support 64 bit kernels
4103 (grub_freebsd_list_modules): use ALIGN_VAR
4104 (gdt_descriptor): new declaration
4105 (grub_freebsd_boot): support 64 bit kernels
4106 (grub_bsd_elf64_hook): new function
4107 (grub_bsd_load_elf): support elf64
4108
038c5720 41092009-05-03 Bean <bean123ch@gmail.com>
4110
4111 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
4112 after we get the result of if statement.
4113
fc45fb58 41142009-05-03 Bean <bean123ch@gmail.com>
4115
4116 * Makefile.in (enable_efiemu): New variable.
4117
4118 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
4119 set.
4120 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
4121 path.
4122 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
4123 path, add -mno-red-zone option.
4124 (efiemu64_s.o): Likewise.
4125 (efiemu64.o): Use macro $^ for source file.
4126
4127 * configure.ac (--enable-efiemu): New option.
4128
bbee0f2b 41292009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 xnu support
4132
4133 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
4134 (pkglib_MODULES): add xnu.mod
4135 (xnu_mod_SOURCES): new variable
4136 (xnu_mod_CFLAGS): likewise
4137 (xnu_mod_LDFLAGS): likewise
4138 (xnu_mod_ASFLAGS): likewise
4139 * conf/i386-pc.rmk: likewise
4140 * conf/x86_64-efi.rmk: likewise
7dd4a573 4141 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 4142 new declaration
4143 * include/grub/i386/macho.h: new file
4144 * include/grub/i386/xnu.h: likewise
4145 * include/grub/macho.h: likewise
4146 * include/grub/machoload.h: likewise
4147 * include/grub/x86_64/macho.h: likewise
4148 * include/grub/x86_64/xnu.h: likewise
4149 * include/grub/xnu.h: likewise
4150 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
4151 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
4152 * loader/i386/efi/xnu.c: new file
4153 * loader/i386/pc/xnu.c: likewise
4154 * loader/i386/xnu.c: likewise
4155 * loader/i386/xnu_helper.S: likewise
4156 * loader/macho.c: likewise
4157 * loader/xnu.c: likewise
4158 * loader/xnu_resume.c: likewise
4159 * util/grub-dumpdevtree: likewise
4160 * include/grub/i386/pit.h: include grub/err.h
4161 (grub_pit_wait): export
4162 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 4163
5caf964d 41642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 Efiemu
7dd4a573 4167
5caf964d 4168 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 4169 _linux_efi, linux_efi.
4170 new files in grub-emu
5caf964d 4171 new targets efiemu32.o and efiemu64.o
4172 * loader/linux_normal_efiemu.c: likewise
4173 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 4174 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 4175 files to copy
4176 * include/grub/autoefi.h: new file
7dd4a573 4177 * include/grub/i386/efiemu.h: likewise
5caf964d 4178 * include/grub/i386/pc/efiemu.h: likewise
4179 * include/grub/efi/api.h: add LL suffix when necessary
4180 new definitions relating to tables
4181 * include/grub/efiemu/efiemu.h: new file
4182 * include/grub/efiemu/runtime.h: likewise
4183 * efiemu/prepare.c: likewise
4184 * efiemu/loadcore_common.c: likewise
4185 * efiemu/loadcore64.c: likewise
4186 * efiemu/runtime/efiemu.sh: likewise
4187 * efiemu/runtime/efiemu.S: likewise
4188 * efiemu/runtime/efiemu.c: likewise
4189 * efiemu/runtime/config.h: likewise
4190 * efiemu/prepare32.c: likewise
4191 * efiemu/main.c: likewise
4192 * efiemu/modules/pnvram.c: likewise
4193 * efiemu/modules/i386: likewise
4194 * efiemu/modules/i386/pc: likewise
4195 * efiemu/modules/acpi.c: likewise
4196 * efiemu/i386/pc/cfgtables.c: likewise
4197 * efiemu/i386/loadcore64.c: likewise
4198 * efiemu/i386/loadcore32.c: likewise
4199 * efiemu/prepare64.c: likewise
4200 * efiemu/loadcore.c: likewise
4201 * efiemu/symbols.c: likewise
4202 * efiemu/mm.c: likewise
4203 * efiemu/loadcore32.c: likewise
7dd4a573 4204
42052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 4206
4207 ACPI spoofing
4208
4209 * commands/acpi.c: new file
4210 * commands/i386/pc/acpi.c: likewise
4211 * commands/efi/acpi.c: likewise
4212 * include/grub/acpi.h: likewise
4213 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
4214 (acpi_mod_SOURCES): new variable
4215 (acpi_mod_CFLAGS): likewise
4216 (acpi_mod_LDFLAGS): likewise
4217 * conf/i386-efi.rmk: likewise
4218 * conf/x86_64-efi.rmk: likewise
4219
7dd4a573 42202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 4221
4222 Missing part from mmap patch
4223
4224 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
4225 (grub_mmap_unregister)
4226 (grub_mmap_free_and_unregister): use grub_mmap_register
4227
7dd4a573 42282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 4229
4230 Mmap services
4231
4232 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
4233 * loader/i386/linux.c (find_mmap_size): likewise
4234 (allocate_pages): likewise
4235 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
4236 (grub_fill_multiboot_mmap): likewise
4237 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
4238 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
4239 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
4240 (OPENBSD_MMAP_RESERVED): likewise
4241 * include/grub/i386/pc/memory.h: include grub/memory.h
4242 (grub_lower_mem): removed
4243 (grub_upper_mem): likewise
4244 (GRUB_MACHINE_MEMORY_ACPI): new definition
4245 (GRUB_MACHINE_MEMORY_NVS): likewise
4246 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
4247 (GRUB_MACHINE_MEMORY_HOLE): likewise
4248 (grub_machine_mmap_register): likewise
4249 (grub_machine_mmap_unregister): likewise
4250 (grub_machine_get_upper): likewise
4251 (grub_machine_get_lower): likewise
4252 (grub_machine_get_post64): likewise
4253 * include/grub/i386/efi/memory.h: new file
4254 * include/grub/x86_64/efi/memory.h: likewise
4255 * include/grub/efi/memory.h: likewise
4256 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
4257 (mmap_mod_SOURCES): new variable
4258 (mmap_mod_LDFLAGS): likewise
4259 (mmap_mod_ASFLAGS): likewise
4260 * conf/i386-coreboot.rmk: likewise
4261 * conf/i386-ieee1275.rmk: likewise
4262 * conf/i386-efi.rmk: likewise
4263 * conf/x86_64-efi.rmk: likewise
4264 * include/grub/types.h (UINT_TO_PTR): new macro
4265 (PTR_TO_UINT32): likewise
4266 (PTR_TO_UINT64): likewise
4267 * include/grub/memory.h: new file
4268 * mmap/i386/pc/mmap.c: likewise
4269 * mmap/i386/pc/mmap_helper.S: likewise
4270 * mmap/i386/uppermem.c: likewise
4271 * mmap/mmap.c: likewise
4272 * mmap/efi/mmap.c: likewise
7dd4a573 4273 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 4274 grub_upper_mem
4275 * kern/i386/pc/init.c (grub_lower_mem): removed variable
4276 (grub_upper_mem): likewise
4277 (grub_machine_init): don't use grub_upper_mem,
4278 make grub_lower_mem local
4279 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
4280 grub_mmap_iterate and grub_mmap_get_upper
4281 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
4282
d558e6b5 42832009-05-02 Bean <bean123ch@gmail.com>
4284
4285 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
4286 script/sh/parser.y.
4287 (pkglib_MODULES): Add normal.mod and sh.mod.
4288 (normal_SOURCES): New variable.
4289 (normal_mod_CFLAGS): Likewise.
4290 (normal_mod_LDFLAGS): Likewise.
4291 (sh_mod_SOURCES): Likewise.
4292 (sh_mod_CFLAGS): Likewise.
4293 (sh_mod_LDFLAGS): Likewise.
4294
4295 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
4296 script/sh/lexer.c_DEPENDENCIES.
4297 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
4298 kern/rescue_reader.c and kern/rescue_parser.c.
4299 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
4300 (grub_emu_SOURCES): Change source files.
4301 (pkglib_MODULES): Remove normal.mod.
4302 (normal_SOURCES): Removed.
4303 (normal_mod_CFLAGS): Likewise.
4304 (normal_mod_LDFLAGS): Likewise.
4305 * conf/i386-coreboot.rmk: Likewise.
4306 * conf/i386-efi.rmk: Likewise.
4307 * conf/i386-ieee1276.rmk: Likewise.
4308 * conf/powerpc-ieee1275.rmk: Likewise.
4309 * conf/sparc64-ieee1275.rmk: Likewise.
4310 * conf/x86_64-efi.rmk: Likewise.
4311
4312 * include/grub/command.h (grub_command_execute): New inline function.
4313
4314 * include/grub/menu.h (grub_menu_entry): Removed commands field.
4315
4316 * include/grub/normal.h: Remove <grub/setjmp.h>.
4317 (grub_fs_module_list): Moved to normal/autofs.c.
4318 (grub_exit_env): Removed.
4319 (grub_command_execute): Likewise.
4320 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
4321 parameter script.
4322 (read_command_list): New function declaration.
4323 (read_fs_list): Likewise.
4324
4325 * include/parser.h: Include <grub/reader.h>.
4326 (grub_parser_split_cmdline): Change type of getline parameter.
4327 (grub_parser): New structure.
4328 (grub_parser_class): New variable.
4329 (grub_parser_execute): New function declaration.
4330 (grub_register_rescue_parser): Likewise.
4331 (grub_parser_register): New inline function.
4332 (grub_parser_unregister): Likewise.
4333 (grub_parser_get_current): Likewise.
4334 (grub_parser_set_current): Likewise.
4335
4336 * include/grub/reader.h: New file.
4337 * kern/reader.c: Likewise.
4338 * kern/rescue_parser.c: Likewise.
4339 * kern/rescue_reader.c: Likewise.
4340 * normal/autofs.c: Likewise.
4341 * normal/dyncmd.c: Likewise.
4342
4343 * include/grub/rescue.h: Removed.
4344 * normal/command.h: Likewise.
4345
4346 * include/grub/script.h: Moved to ...
4347 * include/grub/script_sh.h: ... Moved here.
4348 * normal/execute.c: Moved to ...
4349 * script/sh/execute.c: ... Moved here.
4350 * normal/function.c: Moved to ...
4351 * script/sh/function.c: ... Moved here.
4352 * normal/lexer.c: Moved to ...
4353 * script/sh/lexer.c: ... Moved here.
4354 * normal/parser.y: Moved to ...
4355 * script/sh/parser.y: ... Moved here.
4356 * normal/script.c: Moved to ...
4357 * script/sh/script.c: ... Moved here.
4358
4359 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
4360 <grub/reader.h>.
4361 (grub_exit_env): Removed.
4362 (fs_module_list): Moved to normal/autofs.c.
4363 (grub_file_getline): Don't handle comment here.
4364 (free_menu): Skip removed field entry->commands.
4365 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
4366 script parameter.
4367 (read_config_file): Removed nested parameter, change getline function.
4368 (grub_enter_normal_mode): Removed.
4369 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
4370 (read_command_list): Likewise.
4371 (autoload_fs_module): Moved to normal/autofs.c.
4372 (read_fs_list): Likewise.
4373 (reader_nested): New variable.
4374 (grub_normal_execute): Run parser.sh to switch to sh parser.
4375 (grub_cmd_rescue): Removed.
4376 (cmd_normal): Removed.
4377 (grub_cmd_normal): Unregister itself at the beginning. Don't register
4378 rescue command.
4379 (grub_cmdline_run): New function.
4380 (grub_normal_reader_init): Likewise.
4381 (grub_normal_read_line): Likewise.
4382 (grub_env_write_pager): Likewise.
4383 (cmdline): New variable.
4384 (grub_normal_reader): Likewise.
4385 (GRUB_MOD_INIT): Register normal reader and set as current, register
4386 pager hook, register normal command with grub_register_command_prio,
4387 so that it won't show up in command.lst.
4388 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
4389 grub_fs_autoload_hook.
4390
4391 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
4392 (grub_menu_execute_entry): Replace grub_script_execute with
4393 grub_parser_execute, change parameter to grub_command_execute.
4394
4395 * normal/menu_text.c: Remove <grub/script.h>.
4396
4397 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
4398 and <grub/parser.h>.
4399 (run): Change editor_getline to use new parser interface. Change
4400 parameter to grub_command_execute.
4401
4402 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
4403 <grub/reader.h> and <grub/parser.h>.
4404 (grub_load_normal_mode): Execute normal command.
4405 (grub_main): Call grub_register_core_commands,
4406 grub_register_rescue_parser and grub_register_rescue_reader, use
4407 grub_reader_loop to enter input loop.
4408
7dd4a573 4409 * kern/parser.c (grub_parser_split_cmdline): Change type of
4410 getline parameter.
d558e6b5 4411 (grub_parser_class): New variable.
4412 (grub_parser_execute): New function.
4413
4414 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
4415 * loader/multiboot2.c: Likewise.
4416 * loader/sparc64/ieee1275/linux.c: Likewise.
4417
4418 * util/grub-emu.c (read_command_list): New dummy function.
4419
18db813d 44202009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4421
4422 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
4423 count to 16 for CCISS and IDA.
4424
6c67de15 44252009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4426
4427 * normal/menu_text.c (grub_wait_after_message): Print a newline
4428 after waiting for user input.
4429
4430 * loader/i386/linux.c: Include `<grub/normal.h>'.
4431 (grub_cmd_linux): Improve the error message about `ask' mode, by
4432 waiting for user input so it's not missed (we can do this, since
4433 user requested interaction).
4434
d9dc87b0 44352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Added missing lst to grub-mkrescue
4438
4439 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
4440 and ${input_dir}/parttool.lst
4441
ac8a2baa 44422009-04-30 David S. Miller <davem@davemloft.net>
4443
ad22a610 4444 * util/hostdisk.c (device_is_wholedisk): New function.
4445 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
4446 zero only if device_is_wholedisk() returns true.
4447
6966215d 4448 * util/hostdisk.c (convert_system_partition_to_system_disk):
4449 Handle virtual disk devices named /dev/vdiskX as found on sparc
4450 and powerpc.
4451
ac8a2baa 4452 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
4453 lettered partition specifier is found, convert to numbered.
4454
979b4fb4 44552009-04-29 David S. Miller <davem@davemloft.net>
4456
e2bf39b2 4457 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
4458 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4459
3c64e104 4460 * normal/command.c: Add missing newline at end of file.
4461
979b4fb4 4462 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
4463 warnings.
4464 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
4465 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
4466 grub_ofdisk_read): Likewise, and deal similarly with the fact that
4467 ihandles have a 32-bit type but need to be stored in a "void *".
4468
136d9f82 44692009-04-28 Pavel Roskin <proski@gnu.org>
4470
9459c306 4471 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
4472 not disk. Adjust all dependencies.
2e08a26a 4473 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 4474 grub_disk_close().
4475
136d9f82 4476 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
4477 parent's partition, don't copy it by reference, as it gets freed
4478 on close.
4479
7dd4a573 44802009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 4481
4482 Preboot hooks support
4483
4484 * commands/boot.c (struct grub_preboot_t): new declaration
4485 (preboots_head): new variable
4486 (preboots_tail): likewise
4487 (grub_loader_register_preboot_hook): new function
4488 (grub_loader_unregister_preboot_hook): likewise
4489 (grub_loader_set): launch preboot hooks
4490 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
4491 (grub_loader_register_preboot_hook): new declaration
4492 (grub_loader_unregister_preboot_hook): likewise
4493
5af922b5 44942009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Warning fix
4497
7dd4a573 4498 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 4499 calling grub_dprintf
4500
a5562c30 45012009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Bug and warning fixes
4504
7dd4a573 4505 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 4506 declaration
4507 * commands/test.c (test_parse): fixed bug with file tests and corrected
4508 declaration of find_file
4509
4006f85c 45102009-04-26 Pavel Roskin <proski@gnu.org>
4511
4512 * Makefile.in: Don't install empty manual pages if help2man is
4513 missing. Use help2man option for output, not shell redirection.
4514
5c77c3de 45152009-04-26 David S. Miller <davem@davemloft.net>
4516
4517 * util/grub-mkdevicemap.c (make_device_map): Add missing
4518 NESTED_FUNC_ATTR to process_device().
4519
033b10a8 45202009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 Test command
4523
4524 * commands/test.c: rewritten to use bash-like test
4525
e4343593 45262009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 Parttool autoloading and improvements
4529
7dd4a573 4530 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 4531 (parttool.lst): new target
4532 * genmk.rb: generate parttool-*
4533 (CLEANFILES): add #{parttool}
4534 (PARTTOOLFILES): new variable
4535 * genparttoollist.sh: new file
7dd4a573 4536 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 4537 (grub_pcpart_type): likewise
4538 * commands/parttool.c (helpmsg): new variable
4539 (grub_cmd_parttool): output help if not enough arguments are supplied
4540 autoload modules
4541 (GRUB_MOD_INIT(parttool)): use helpmsg
4542
0d312500 45432009-04-24 David S. Miller <davem@davemloft.net>
4544
7dd4a573 4545 Avoiding opening same device multiple times in device iterator.
0d312500 4546
4547 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 4548 and use it to build a list of partitions in iterate_disk() and
0d312500 4549 iterate_partition().
4550
ac20caff 4551 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
4552 on disk->data.
4553
0dcf7495 4554 * disk/ieee1275/nand.c (grub_nand_iterate): Return
4555 grub_devalias_iterate() result instead of unconditional 0.
4556 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
4557 Also, capture hook return value, either directly or via
4558 grub_children_iterate(), and propagate to caller.
4559 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
4560 grub_children_iterate): Return value is now 'int' instead of
4561 'grub_err_t'.
4562 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
4563 like a proper iterator, stopping when hooks return non-zero.
4564 (grub_devalias_iterate): Likewise.
4565
c8c08833 45662009-04-23 David S. Miller <davem@davemloft.net>
4567
4568 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
4569
f01005a8 45702009-04-22 David S. Miller <davem@davemloft.net>
4571
4572 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
4573 is larger than address_cells, use that value for address_cells too.
4574
4e8269da 4575 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
4576 IEEE1275_MAX_PATH_LEN): Define.
4577 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
4578 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
4579 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
4580 'devtype'. Explicitly NULL terminate devalias expansion.
4581
a1447506 4582 * util/sparc64/ieee1275/misc.c: New file.
4583 * util/sparc64/ieee1275/grub-setup.c: New file.
4584 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
4585 * util/sparc64/ieee1275/grub-mkimage.c: New file.
4586 * util/sparc64/ieee1275/grub-install.in: New file.
4587 * util/ieee1275/ofpath.c: New file.
4588 * util/ieee1275/devicemap.c: New file.
4589 * util/devicemap.c: New file.
4590 * util/deviceiter.c: New file.
4591 * kern/sparc64/ieee1275/init.c: New file.
4592 * include/grub/util/ofpath.h: New file.
4593 * include/grub/util/deviceiter.h: New file.
4594 * util/grub-mkdevicemap.c: Include deviceiter.h.
4595 Implement using grub_util_emit_devicemap_entry and
4596 grub_util_iterate_devices.
4597 * conf/i386-corebook.rmk: Build util/deviceiter.c and
4598 util/devicemap.c into grub-mkdevicemap
4599 * conf/i386-efi.rmk: Likewise.
4600 * conf/i386-ieee1275.rmk: Likewise.
4601 * conf/i386-pc.rmk: Likewise.
4602 * conf/powerpc-ieee1275.rmk: Likewise.
4603 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
4604 images and installation utilities. Build kernel as image
4605 instead of as elf binary. Use common rules as much as possible.
4606
7dd4a573 46072009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 4608
4609 Correct GPT definition
4610
7dd4a573 4611 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 4612 of "attrib" member
4613
c6c5219f 46142009-04-19 Felix Zielcke <fzielcke@z-51.de>
4615
4616 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
4617
0552ff9f 46182009-04-19 David S. Miller <davem@davemloft.net>
4619
4620 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
4621 (grub_rescue_cmd_linux): Rename to...
4622 (grub_cmd_linux): and fix prototype.
4623 (grub_rescue_cmd_initrd): Rename to...
4624 (grub_cmd_initrd): and fix prototype.
4625 (cmd_linux, cmd_initrd): New.
4626 (GRUB_MOD_INIT(linux)): Use grub_register_command().
4627 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
4628
d1a282fc 46292009-04-17 Pavel Roskin <proski@gnu.org>
4630
07c5039f 4631 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
4632 format.
4633 (grub_ohci_transfer): Likewise.
4634
b012002d 4635 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
4636
1bc09c35 4637 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
4638 return without a value. Fix inconsistent indentation.
4639
e0ff9126 4640 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
4641 match struct grub_fs.
4642
d1a282fc 4643 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
4644 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
4645 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4646 * commands/lspci.c (grub_lspci_iter): Likewise.
4647
a96df3f2 46482009-04-16 Bean <bean123ch@gmail.com>
4649
4650 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
4651 value.
4652
41bb0fe9 46532009-04-15 Pavel Roskin <proski@gnu.org>
4654
4655 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
4656 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
4657 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
4658 definitions.
4659
596c6970 46602009-04-15 Felix Zielcke <fzielcke@z-51.de>
4661
4662 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 4663 that no multiple data or metadata areas are supported and `Unknown
596c6970 4664 metadata header'.
4665
7dd4a573 46662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 4667
4668 Move loader out of the kernel
4669
4670 * kern/loader.c: moved to ...
4671 * commands/boot.c: ... moved here
4672 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
4673 * commands/boot.c (grub_cmd_boot): moved here. All users updated
4674 * include/grub/kernel.h (grub_machine_fini): export
4675 * include/grub/loader.h (grub_loader_is_loaded): update declaration
4676 (grub_loader_set): likewise
4677 (grub_loader_unset): likewise
4678 (grub_loader_boot): likewise
4679 * conf/common.rmk: new module boot.mod
4680 (pkglib_MODULES): add boot.mod
4681 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
4682 (grub_emu_SOURCES): likewise
4683 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
4684 (grub_emu_SOURCES): likewise
4685 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
4686 (grub_emu_SOURCES): likewise
4687 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
4688 (grub_emu_SOURCES): likewise
4689 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
4690 (grub_emu_SOURCES): likewise
7dd4a573 4691 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
4692 (grub_emu_SOURCES): likewise
0d5d5653 4693 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 4694 (grub_emu_SOURCES): likewise
0d5d5653 4695
7dd4a573 46962009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 4697
4698 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 4699
5999d619 4700 * kern/misc.c (grub_itoa): Removed function
4701 (grub_ltoa): likewise
4702 (grub_vsprintf): use grub_lltoa
4703
7dd4a573 47042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 4705
4706 Restore grub-emu
4707
4708 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
4709 * conf/i386-coreboot.rmk: likewise
4710 * conf/i386-ieee1275.rmk: likewise
4711 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 4712
20318222 47132009-04-15 Felix Zielcke <fzielcke@z-51.de>
4714
4715 * INSTALL: Add that `./autogen.sh' needs to be run before
4716 `./configure.'.
4717
d05f0df3 47182009-04-14 Bean <bean123ch@gmail.com>
4719
4720 * Makefile.in (pkglib_DATA): Add handler.lst.
4721 (handler.lst): New rule.
4722
4723 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
4724 * conf/i386-coreboot.rmk: Likewise.
4725 * conf/i386-ieee1275.rmk: Likewise.
4726 * conf/i386-efi.rmk: Likewise.
4727 * conf/x86_64-efi.rmk: Likewise.
4728 * conf/powerpc-ieee1275.rmk: Likewise.
4729 * conf/sparc64-ieee1275.rmk: Likewise.
4730
4731 * genhandlerlist.sh: New file.
4732
4733 * genmk.rb: Add rules to generate handler.lst.
4734
4735 * include/grub/normal.h (grub_file_getline): New function definition.
4736 (read_handler_list): Likewise.
4737 (free_handler_list): Likewise.
4738
4739 * include/grub/term.h (grub_term_register_input): Add name parameter
4740 for auto generation of handler.lst.
4741 (grub_term_register_output): Likewise.
4742
4743 * normal/handler.c: New file.
4744
4745 * normal/main.c (get_line): Renamed to grub_file_getline.
4746 (read_config_file): Use the newly renamed grub_file_getline.
4747 (read_command_list): Likewise.
4748 (read_fs_list): Likewise.
4749 (grub_normal_execute): Call read_handler_list to parse handler.lst.
4750 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
4751
4752 * term/efi/console.c (grub_console_init): Add name parameter for auto
4753 generation of handler.lst.
4754 * term/gfxterm.c: Likewise.
4755 * term/i386/pc/at_keyboard.c: Likewise.
4756 * term/i386/pc/console.c: Likewise.
4757 * term/i386/pc/serial.c: Likewise.
4758 * term/i386/pc/vesafb.c: Likewise.
4759 * term/i386/pc/vga.c: Likewise.
4760 * term/i386/pc/vga_text.c: Likewise.
4761 * term/ieee1275/ofconsole.c: Likewise.
4762 * term/usb_keyboard.c: Likewise.
4763
33c846be 47642009-04-14 Bean <bean123ch@gmail.com>
4765
4766 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
4767 properly with null character.
4768
4484e01e 47692009-04-14 Felix Zielcke <fzielcke@z-51.de>
4770
4771 * configure: Remove.
4772 * config.h.in: Likewise.
f93d668e 4773 * stamp-h.in: Likewise.
4484e01e 4774 * DISTLIST: Likewise.
4775 * conf/common.mk: Likewise.
4776 * conf/i386-coreboot.mk: Likewise.
4777 * conf/i386-efi.mk: Likewise.
4778 * conf/i386-ieee1275.mk: Likewise.
4779 * conf/i386.mk: Likewise.
4780 * conf/i386-pc.mk: Likewise.
4781 * conf/powerpc-ieee1275.mk: Likewise.
4782 * conf/sparc64-ieee1275.mk: Likewise.
4783 * conf/x86_64-efi.mk: Likewise.
4784
4785 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
4786 develop on GRUB.
4787
7dd4a573 47882009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 4789 David S. Miller <davem@davemloft.net>
4790
4791 * util/hostdisk.c (make_device_name): Fix buffer length
4792 calculations.
4793
e25b5a8c 47942009-04-14 Felix Zielcke <fzielcke@z-51.de>
4795
4796 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
4797 <sys/param.h> and <sys/sysctl.h>.
4798 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
4799 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
4800 opening the device and reset them afterwards.
4801
1f1f580c 48022009-04-13 Pavel Roskin <proski@gnu.org>
4803
4804 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
4805 Reported by John Stanley <jpsinthemix@verizon.net>
4806
7ebc2d6b 48072009-04-13 Robert Millan <rmh@aybabtu.com>
4808
4809 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 4810 that name for menuentries when appropriate.
7ebc2d6b 4811
d8ba3667 48122009-04-13 Felix Zielcke <fzielcke@z-51.de>
4813
4814 * util/grub.d/10_freebsd.in: Add a missing `fi'.
4815
cba416eb 48162009-04-13 Robert Millan <rmh@aybabtu.com>
4817
4818 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
4819 to Linux, simply abort telling the user it's no longer supported.
4820
a547a745 48212009-04-13 Felix Zielcke <fzielcke@z-51.de>
4822
4823 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 4824 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 4825 `freebsd_loadenv' only when devices.hints exist.
4826
232a769c 48272009-04-13 Pavel Roskin <proski@gnu.org>
4828
4829 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
4830
c3012039 48312009-04-13 Felix Zielcke <fzielcke@z-51.de>
4832
4833 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
4834 partition number.
4835 (grub_drive): Likewise.
4836
234022fe 48372009-04-13 David S. Miller <davem@davemloft.net>
4838
4839 * kern/sparc64/ieee1275/ieee1275.c: New file.
4840 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
4841 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
4842 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
4843 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
4844 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
4845 grub_ieee1275_alloc_physmem): Declare new exported functions.
4846
d8e1836c 4847 * include/grub/sparc64/ieee1275/loader.h: New file.
4848 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4849 * include/grub/sparc64/kernel.h: Likewise.
4850 * loader/sparc64/ieee1275/linux.c: Likewise.
4851
96bd81ec 4852 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
4853 (grub_fstest_SOURCES): Likewise.
4854
6a4737e5 4855 * util/hostdisk.c (make_device_name): Do not make any assumptions
4856 about the length of drive names.
4857
1d7a72fd 4858 * kern/dl.c (grub_dl_load_file): Close file immediately when
4859 we are done using it.
4860
56bc2471 48612009-04-12 David S. Miller <davem@davemloft.net>
4862
4863 * kern/misc.c (grub_ltoa): Fix cast when handling negative
4864 values. Noticed by Pavel Roskin.
4865
df38d0bb 4866 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
4867 target compiler.
7dd4a573 4868
e382e93a 4869 * genmk.rb: Add more flexible image type specification, also
4870 pass --strip-unneeded to objcopy.
4871 * conf/i386-pc.rmk: Use *_FORMAT.
4872 * conf/i386-pc.mk: Rebuilt.
4873
f5dbbca9 4874 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
4875 (OFDISK_HASH_SZ): Define.
4876 (ofdisk_hash): New hash table.
4877 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
4878 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
4879 instead of device phandle which is not unique.
4880
91c88b12 4881 * kern/sparc64/ieee1275/init.c: Delete, replace with...
4882 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
4883 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
4884 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
4885 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
4886 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
4887 GRUB_KERNEL_MACHINE_DATA_END): Define.
4888 (grub_kernel_image_size, grub_total_module_size): Declare.
4889
5b5d4aa5 48902009-04-12 Pavel Roskin <proski@gnu.org>
4891
7dd4a573 4892 * configure.ac: Change the logic when we check for target tools.
4893 Do it when the target is specified and it's different from the
4894 specified value of the host.
5b5d4aa5 4895
c91e1793 48962009-04-11 Felix Zielcke <fzielcke@z-51.de>
4897
4898 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
4899 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
4900 GNU/kFreeBSD. Check if a device is a character device. Use
4901 DIOCGMEDIASIZE to get the size.
4902 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
4903 support for GNU/kFreeBSD.
4904 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
4905 is a character device instead of a block device. Add support for
4906 FreeBSD device names.
4907
4908 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
4909 is a character device instead of a block device.
4910
4911 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
4912 is a character device instead of a block device.
4913
b1ac8644 49142009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
4915
4916 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
4917 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
4918 FreeBSD. Check if a device is a character device. Use
4919 DIOCGMEDIASIZE to get the size.
4920 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
4921 support for FreeBSD.
4922 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
4923 is a character device instead of a block device. Add support for
4924 FreeBSD device names.
4925
4926 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
4927 a character device instead of a block device.
4928 (grub_util_check_char_device): New function.
4929
4930 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
4931 a character device instead of a block device.
4932
4933 * include/grub/util/getroot.h (grub_util_check_char_device): New
4934 prototype.
4935
a3f7515a 49362009-04-11 David S. Miller <davem@davemloft.net>
4937
4938 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
4939 static libgcc.
4940 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
4941 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
4942 function, if present.
4943 (__bswapdi2): Likewise.
4944
0d44993d 4945 * include/grub/sparc64/ieee1275/boot.h: New file.
4946 * boot/sparc64/ieee1275/boot.S: Likewise.
4947 * boot/sparc64/ieee1275/diskboot.S: Likewise.
4948
ed3d2bc2 4949 * kern/misc.c (grub_ltoa): New function.
4950 (grub_vsprintf): Use it to format 'long' integers.
4951
d3bfb59c 49522009-04-10 David S. Miller <davem@davemloft.net>
4953
4954 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
4955 slots are of type grub_ieee1275_cell_t.
4956 (grub_nand_read): Likewise.
4957 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
4958 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
4959 macros are used to compare values in arg/ret block of the call.
4960 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
4961 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
4962 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
4963 grub_ieee1275_instance_to_path, grub_ieee1275_write,
4964 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
4965 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
4966 grub_ieee1275_close, grub_ieee1275_set_property,
4967 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
4968 grub_ieee1275_cell_t.
4969 * kern/ieee1275/openfw.c (grub_map): Likewise.
4970 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
4971 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
4972
450e2238 4973 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
4974 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4975 (grub_devalias_iterate): Likewise.
4976
7dd4a573 49772009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 4978
4979 UFS improvements
4980
4981 * fs/ufs.c (INODE_NBLOCKS): new definition
4982 (struct grub_ufs_dirent): added fields for non-BSD dirents
4983 (grub_ufs_get_file_block): fixed double indirect handling
4984 (grub_ufs_lookup_symlink): use more robust way to determine whether
4985 symlink is inline
4986 (grub_ufs_find_file): support for non-BSD dirents
4987 (grub_ufs_dir): support for non-BSD dirents
4988
e7e6862a 49892009-04-10 Bean <bean123ch@gnail.com>
4990
4991 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
4992 attribute, otherwise the size would be wrong for i386 platform.
4993
4994 * include/grub/pci.h (grub_pci_read_word): New inline function.
4995 (grub_pci_read_byte): Likewise.
4996 (grub_pci_write): Likewise.
4997 (grub_pci_write_word): Likewise.
4998 (grub_pci_write_byte): Likewise.
4999
5000 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
5001
5002 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
5003 (find_framebuf): Scan pci to locate the frame buffer address.
5004
5005 * commands/efi/fixvideo.c: New file.
5006
5007 * commands/efi/loadbios.c: Likewise.
5008
5009 * commands/memrw.c: Likewise.
5010
5011 * util/grub-dumpbios.in: Likewise.
5012
5013 * conf/common.rmk (grub-dumpbios): New utility.
5014 (pkglib_MODULES): New module memrw.mod.
5015 (memrw_mod_SOURCE): New macro.
5016 (memrw_mod_CFLAGS): Likewise.
5017 (memrw_mod_LDFLAGS): Likewise.
5018
7dd4a573 5019 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5020 fixvideo.mod.
5021 (loadbios_mod_SOURCE): New macro.
5022 (loadbios_mod_CFLAGS): Likewise.
5023 (loadbios_mod_LDFLAGS): Likewise.
5024 (fixvideo_mod_SOURCE): Likewise.
5025 (fixvideo_mod_CFLAGS): Likewise.
5026 (fixvideo_mod_LDFLAGS): Likewise.
5027
7dd4a573 5028 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5029 fixvideo.mod.
5030 (loadbios_mod_SOURCE): New macro.
5031 (loadbios_mod_CFLAGS): Likewise.
5032 (loadbios_mod_LDFLAGS): Likewise.
5033 (fixvideo_mod_SOURCE): Likewise.
5034 (fixvideo_mod_CFLAGS): Likewise.
5035 (fixvideo_mod_LDFLAGS): Likewise.
5036
af63ada2 50372009-04-08 Felix Zielcke <fzielcke@z-51.de>
5038
5039 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5040
c2cdde70 50412009-04-07 David S. Miller <davem@davemloft.net>
5042
5043 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5044 support for R_SPARC_OLO10 relocations. Fix compile warning for
5045 R_SPARC_WDISP30 case.
ea3f72cf 5046 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 5047
761319cf 50482009-04-06 Pavel Roskin <proski@gnu.org>
5049
1007d1f5 5050 * include/grub/misc.h (ARRAY_SIZE): New macro.
5051 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5052 New macro.
5053 * loader/i386/linux.c (allocate_pages): Use free_pages().
5054 (grub_linux_unload): Don't use free_pages().
5055 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5056 wrong index. Treat all other modes as text modes.
5057 (grub_cmd_linux): Initialize vid_mode unconditionally to
5058 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5059
761319cf 5060 * commands/help.c (print_command_help): Use cmd->prio, not
5061 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5062
ea761d40 50632009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 5064
ea761d40 5065 Parttool
5066
5067 * parttool/pcpart.c: new file
5068 * commands/parttool.c: likewise
5069 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5070 (parttool_mod_SOURCES): new variable
5071 (parttool_mod_CFLAGS): likewise
5072 (parttool_mod_LDFLAGS): likewise
5073 (pcpart_mod_SOURCES): likewise
5074 (pcpart_mod_CFLAGS): likewise
5075 (pcpart_mod_LDFLAGS): likewise
7dd4a573 5076 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 5077 and parttool/pcpart.c
5078 * conf/i386-efi.rmk: likewise
5079 * conf/i386-ieee1275.rmk: likewise
5080 * conf/i386-pc.rmk: likewise
5081 * conf/powerpc-ieee1275.rmk: likewise
5082 * conf/sparc64-ieee1275.rmk: likewise
5083 * conf/x86_64-ieee1275.rmk: likewise
5084
05aaebfb 50852009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 Support for mtime and further expandability of dir command
5088
5089 * include/grub/lib/datetime.h: moved to ...
7dd4a573 5090 * include/grub/datetime.h: ... moved here and added
05aaebfb 5091 declaration of grub_unixtime2datetime. All users updated
7dd4a573 5092 * include/grub/fs.h: new syntax for dir and mtime functions in
5093 struct grub_fs
05aaebfb 5094 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5095 and GRUB_FSHELP_FLAGS_MASK
5096 * commands/ls.c (grub_ls_list_files): Write mtime in long format
5097 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
5098 (grub_ext2_mtime): new function
5099 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
5100 (grub_hfsplus_mtime): new function
5101 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
5102 (GRUB_UFS_ATTR_FILE): likewise
5103 (GRUB_UFS_ATTR_LNK): likewise
5104 (struct grub_ufs_sblock): new fields mtime
5105 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
5106 all users updated
5107 (grub_ufs_dir): mtime support
5108 (grub_ufs_mtime): new function
5109 * fs/affs.c (grub_affs_dir): use new dir syntax
5110 * fs/afs.c (grub_afs_dir): likewise
5111 * fs/cpio.c (grub_cpio_dir): likewise
5112 * fs/fat.c (grub_fat_find_dir): likewise
5113 * fs/hfs.c (grub_hfs_dir): likewise
5114 * fs/iso9660.c (grub_iso9660_dir): likewise
5115 * fs/jfs.c (grub_jfs_dir): likewise
5116 * fs/minix.c (grub_minix_dir): likewise
5117 * fs/ntfs.c (grub_ntfs_dir): likewise
5118 * fs/reiserfs.c (grub_reiserfs_dir): likewise
5119 * fs/sfs.c (grub_sfs_dir): likewise
5120 * fs/xfs.c (grub_xfs_dir): likewise
5121 * util/hostfs.c (grub_hostfs_dir): likewise
5122 * lib/datetime.c: moved to ...
5123 * normal/datetime.c: ... moved here
5124 (grub_unixtime2datetime): new function
5125 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 5126 * normal/completion.c (iterate_dir): use new dir syntax
5127 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 5128 last modification time of a volume
7dd4a573 5129 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 5130 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 5131 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 5132 (normal_mod_SOURCES): likewise
5133 (datetime_mod_SOURCES): Removed lib/datetime.c
5134 * conf/i386-efi.rmk: likewise
7dd4a573 5135 * conf/i386-ieee1275.rmk: likewise
05aaebfb 5136 * conf/i386-pc.rmk: likewise
5137 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5138 * conf/sparc64-ieee1275.rmk: likewise
5139 * conf/x86_64-efi.rmk: likewise
05aaebfb 5140
8a7e1a14 51412009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 5144
5145 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 5146 on grub_fat_find_dir
5147 (grub_fat_find_dir): use grub_fat_iterate_dir
5148 (grub_fat_label): likewise
5149
04186a9c 51502009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5151
7dd4a573 5152 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 5153 and command.h
5154 remove extraneous kernel_elf_HEADERS
5155
da4c0bb6 51562009-04-04 Bean <bean123ch@gnail.com>
5157
5158 * include/grub/util/misc.h: Add dummy function fsync for mingw.
5159
5160 * util/misc.c: Likewise.
5161
54ad9555 51622009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
5163
5164 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
5165 instead of grub_printf.
5166
7a6bf9f2 51672009-04-03 Robert Millan <rmh@aybabtu.com>
5168
5169 * loader/i386/linux.c (grub_linux_setup_video): Fill
5170 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
5171 values from `mode info' structure instead of hardcoded
5172 values.
5173
3fcc2083 51742009-04-01 Pavel Roskin <proski@gnu.org>
5175
5176 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
5177 unused now.
5178 * genmk.rb: Likewise.
5179 * configure.ac: Likewise.
5180
5ec9740b 51812009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
5182
5183 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
5184 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
5185
5270cec8 51862009-04-01 David S. Miller <davem@davemloft.net>
5187
5188 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 5189 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 5190 (grub_setjmp): Mark with 'returns_twice' attribute.
5191 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
5192 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
5193 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
5194
9c3dd854 51952009-04-01 Robert Millan <rmh@aybabtu.com>
5196
5197 Reapply fix from 2008-07-28 which was accidentally reverted; also
5198 perform the same fix to a similar check in same function.
5199
5200 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
5201 with the same number are found, just use issue a warning with
5202 grub_dprintf(), as this error has been reported to be non-fatal.
5203
0d818b7e 52042009-03-31 Pavel Roskin <proski@gnu.org>
5205
5206 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
5207 for cross-compilation.
5208
95646d92 52092009-03-30 Robert Millan <rmh@aybabtu.com>
5210
5211 Fix i386-ieee1275 build.
5212
5213 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
5214 Remove declaration.
5215
6a003ed1 52162009-03-30 Pavel Roskin <proski@gnu.org>
5217
5218 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
5219 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
5220 zero-terminated, rely only on the strlen value. Fix comparison
5221 of strings differing in length.
5222
92f33540 52232009-03-30 Robert Millan <rmh@aybabtu.com>
5224
5225 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
5226 checking for abi version. Improve error messages on BIOS to notify
5227 user about `linux16' command.
5228
a8c48fd5 52292009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5230
f968172e 5231 Leak fixes
a8c48fd5 5232
f968172e 5233 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
5234 in case of collision
5235 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 5236
9c323f09 52372009-03-29 Robert Millan <rmh@aybabtu.com>
5238
5239 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
5240 set `vid_mode' accordingly.
5241 (grub_linux_boot): Process `vid_mode' and set video mode.
5242
ae68f423 52432009-03-29 Robert Millan <rmh@aybabtu.com>
5244
5245 * util/grub.d/10_linux.in (linux_entry): New function.
5246 Factorize generation of Linux boot entries.
5247
5709cfc4 52482009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
5249
5250 Make the format of Environment Block plain text. The boot loader
5251 part is not tested well yet.
7dd4a573 5252
5709cfc4 5253 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
5254 (buffer): Removed.
5255 (envblk): Likewise.
5256 (usage): Remove "info" and "clear". Add "unset". Update the
5257 description of "set", as this does not delete variables any
5258 longer.
5259 (create_envblk_file): Complete rewrite.
5260 (open_envblk_file): Likewise.
5261 (cmd_info): Removed.
5262 (cmd_list): Likewise.
5263 (cmd_set): Likewise.
5264 (cmd_clear): Likewise.
5265 (list_variables): New function.
5266 (write_envblk): Likewise.
5267 (set_variables): Likewise.
5268 (unset_variables): Likewise.
5269 (main): Complete rewrite.
5270
5271 * commands/loadenv.c (buffer): Removed.
5272 (envblk): Likewise.
5273 (open_envblk_file): New function.
5274 (read_envblk_file): Complete rewrite.
5275 (grub_cmd_load_env): Likewise.
5276 (grub_cmd_list_env): Likewise.
5277 (struct blocklist): New struct.
5278 (free_blocklists): New function.
5279 (check_blocklists): Likewise.
5280 (write_blocklists): Likewise.
5281 (grub_cmd_save_env): Complete rewrite.
5282
5283 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
5284 a plain text signature.
5285 (GRUB_ENVBLK_MAXLEN): Removed.
5286 (struct grub_envblk): Complete rewrite.
5287 (grub_envblk_find): Removed.
5288 (grub_envblk_insert): Likewise.
5289 (grub_envblk_open): New prototype.
5290 (grub_envblk_set): Likewise.
5291 (grub_envblk_delete): Put const to VALUE.
5292 (grub_envblk_iterate): Put const to NAME and VALUE.
5293 (grub_envblk_close): New prototype.
5294 (grub_envblk_buffer): New inline function.
5295 (grub_envblk_size): Likewise.
5296
5297 * lib/envblk.c: Include grub/mm.h.
5298 (grub_env_find): Removed.
5299 (grub_envblk_open): New function.
5300 (grub_envblk_close): Likewise.
5301 (escaped_value_len): Likewise.
5302 (find_next_line): Likewise.
5303 (grub_envblk_insert): Removed.
5304 (grub_envblk_set): New function.
5305 (grub_envblk_delete): Complete rewrite.
5306 (grub_envblk_iterate): Likewise.
5307
a9368fd3 53082009-03-28 Robert Millan <rmh@aybabtu.com>
5309
5310 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
5311 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
5312 variables. Use 16-bit loader.
5313 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
5314 loader.
5315 * kern/i386/loader.S (grub_linux_boot): Rename to ...
5316 (grub_linux16_boot): ... this. Update all users.
5317 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
5318 (grub_linux_boot): ... this. Update all users.
5319
5320 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
5321 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
5322 commands to `linux16' and `initrd16'.
5323 (GRUB_MOD_FINI(linux)): Rename to ...
5324 (GRUB_MOD_FINI(linux16)): ... this.
5325
e4dd5a7e 53262009-03-24 Pavel Roskin <proski@gnu.org>
5327
5328 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
5329 not just for compilation.
5330
c04d6e05 53312009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 Move multiboot helper out of kernel
5334
5335 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
5336 `loader/i386/multiboot_helper.S'.
5337 * conf/i386-coreboot.rmk: Likewise
5338 * conf/i386-ieee1275.rmk: Likewise
5339
5340 * kern/i386/loader.S: Move multiboot helpers from here...
5341 * loader/i386/multiboot_helper.S: ...moved here
5342 * include/grub/i386/loader.h: Move declarations of multiboot
5343 helpers from here...
5344 * include/grub/i386/multiboot.h: ...moved here
5345 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
5346
42a5b3fc 53472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5348
5349 * kern/env.c (grub_env_context_open): Added an argument to specify
5350 whether a new context inherits exported variables from current
5351 one. This is useful when making a sandbox to interpret a config
5352 file.
5353 All callers updated.
5354
5355 * include/grub/env.h (grub_env_context_open): Updated the prototype.
5356
b28bbc4e 53572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5358
5359 * kern/env.c (grub_env_context_close): Fix memory leaks.
5360
f04f02e4 53612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5362
5363 * normal/main.c (grub_normal_execute): Added an argument
5364 BATCH to specify if an interactive interface should be provided
5365 after reading a config file.
5366 All callers updated.
5367 (read_command_list): Prevent being executed twice.
5368 (read_fs_list): Likewise.
5369
42a5b3fc 5370 * include/grub/normal.h (grub_normal_execute): Updated the
5371 prototype.
f04f02e4 5372
41473ac2 53732009-03-22 Pavel Roskin <proski@gno.org>
5374
fbc00b0c 5375 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
5376 _start.
5377 * kern/i386/pc/startup.S: Likewise.
5378 * kern/i386/efi/startup.S: Likewise.
5379 * kern/i386/ieee1275/startup.S: Likewise.
5380 * kern/i386/coreboot/startup.S: Likewise.
5381 * kern/x86_64/efi/startup.S: Likewise.
5382
41473ac2 5383 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
5384 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
5385 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
5386
2274cc8f 53872009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 Bugfixes in multiboot for bugs uncovered by solaris kernel.
5390
5391 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
5392 limit detection.
5393 Use vaddr of correct segment for entry_point.
5394
b1b797cb 53952009-03-21 Bean <bean123ch@gmail.com>
5396
5397 * commands/blocklist.c: Add include file <grub/command.h>, remove
5398 <grub/normal.h> and <grub/arg.h>.
5399 (grub_cmd_blocklist): Use the new command interface.
5400 (GRUB_MOD_INIT): Likewise.
5401 (GRUB_MOD_FINI): Likewise.
5402 * commands/boot.c: Likewise.
5403 * commands/cat.c: Likewise.
5404 * commands/cmp.c: Likewise.
5405 * commands/configfile.c: Likewise.
5406 * commands/crc.c: Likewise.
5407 * commands/echo.c: Likewise.
5408 * commands/halt.c: Likewise.
5409 * commands/handler.c: Likewise.
5410 * commands/hdparm.c: Likewise.
5411 * commands/help.c: Likewise.
5412 * commands/hexdump.c: Likewise.
5413 * commands/loadenv.c: Likewise.
5414 * commands/ls.c: Likewise.
5415 * commands/lsmmap.c: Likewise.
5416 * commands/lspci.c: Likewise.
5417 * commands/loadenv.c: Likewise.
5418 * commands/read.c: Likewise.
5419 * commands/reboot.c: Likewise.
5420 * commands/search.c: Likewise.
5421 * commands/sleep.c: Likewise.
5422 * commands/test.c: Likewise.
5423 * commands/usbtest.c: Likewise.
5424 * commands/videotest.c: Likewise.
5425 * commands/i386/cpuid.c: Likewise.
5426 * commands/i386/pc/halt.c: Likewise.
5427 * commands/i386/pc/play.c: Likewise.
5428 * commands/i386/pc/pxecmd.c: Likewise.
5429 * commands/i386/pc/vbeinfo.c: Likewise.
5430 * commands/i386/pc/vbetest.c: Likewise.
5431 * commands/ieee1275/suspend.c: Likewise.
5432 * disk/loopback.c: Likewise.
5433 * font/font_cmd.c: Likewise.
5434 * hello/hello.c: Likewise.
5435 * loader/efi/appleloader.c: Likewise.
5436 * loader/efi/chainloader.c: Likewise.
5437 * loader/i386/bsd.c: Likewise.
5438 * loader/i386/efi/linux.c: Likewise.
5439 * loader/i386/ieee1275/linux.c: Likewise.
5440 * loader/i386/linux.c: Likewise.
5441 * loader/i386/pc/chainloader.c: Likewise.
5442 * loader/i386/pc/linux.c: Likewise.
5443 * loader/powerpc/ieee1275/linux.c: Likewise.
5444 * loader/multiboot_loader.c: Likewise.
5445 * term/gfxterm.c: Likewise.
5446 * term/i386/pc/serial.c: Likewise.
5447 * term/terminfo.c: Likewise.
5448
5449 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
5450 * term/i386/pc/vga.c: Likewise.
5451 * video/readers/jpeg.c: Likewise.
5452 * video/readers/png.c: Likewise.
5453 * video/readers/tga.c: Likewise.
5454
5455 * util/grub-fstest (cmd_loopback): Removed.
5456 (cmd_blocklist): Likewise.
5457 (cmd_ls): Likewise.
5458 (grub_register_command): Likewise.
5459 (grub_unregister_command): Likewise.
5460 (execute_command): Use grub_command_find to locate command and execute
5461 it.
5462
5463 * include/grub/efi/chainloader.h: Removed.
5464 * loader/efi/chainloader_normal.c: Likewise.
5465 * loader/i386/bsd_normal.c: Likewise.
5466 * loader/i386/pc/chainloader_normal.c: Likewise.
5467 * loader/i386/pc/multiboot_normal.c: Likewise.
5468 * loader/linux_normal.c: Likewise.
5469 * loader/multiboot_loader_normal.c: Likewise.
5470 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
5471
5472 * gencmdlist.sh: Scan new registration command grub_register_extcmd
5473 and grub_register_command_p1.
5474
5475 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
5476 kern/command.c, lib/arg.c and commands/extcmd.c.
5477 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
5478 (minicmd_mod_SOURCES): New variable.
5479 (minicmd_mod_CFLAGS): Likewise.
5480 (minicmd_mod_LDFLAGS): Likewise.
5481 (extcmd_mod_SOURCES): Likewise.
5482 (extcmd_mod_CFLAGS): Likewise.
5483 (extcmd_mod_LDFLAGS): Likewise.
5484 (boot_mod_SOURCES): Removed.
5485 (boot_mod_CFLAGS): Likewise.
5486 (boot_mod_LDFLAGS): Likewise.
5487
5488 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
5489 kern/corecmd.c.
5490 (kernel_img_HEADERS): Add command.h.
5491 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
5492 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
5493 and lib/arg.c.
5494 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
5495 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
5496 remove the corresponding normal mode command.
5497 (normal_mod_SOURCES): Remove normal/arg.c.
5498 * conf/i386-coreboot.rmk: Likewise.
5499 * conf/i386-efi.rmk: Likewise.
5500 * conf/i386-ieee1275.rmk: Likewise.
5501 * conf/powerpc-ieee1275.rmk: Likewise.
5502 * conf/x86_64-efi.rmk: Likewise.
5503
5504 * include/grub/arg.h: Move from here ...
5505 * include/grub/lib/arg.h: ... to here.
5506
5507 * normal/arg.c: Move from here ...
5508 * lib/arg.c: ... to here.
5509
5510 * commands/extcmd.c: New file.
5511 * commands/minicmd.c: Likewise.
5512 * include/grub/command.h: Likewise.
5513 * include/grub/extcmd.h: Likewise.
5514 * kern/command.c: Likewise.
5515 * kern/corecmd.c: Likewise.
5516
5517 * kern/list.c (grub_list_iterate): Return int instead of void.
5518 (grub_list_insert): New function.
5519 (grub_prio_list_insert): Likewise.
5520
5521 * kern/rescue.c (grub_rescue_command): Removed.
5522 (grub_rescue_command_list): Likewise.
5523 (grub_rescue_register_command): Likewise.
5524 (grub_rescue_unregister_command): Likewise.
5525 (grub_rescue_cmd_boot): Move to minicmd.c
5526 (grub_rescue_cmd_help): Likewise.
5527 (grub_rescue_cmd_info): Likewise.
5528 (grub_rescue_cmd_boot): Likewise.
5529 (grub_rescue_cmd_testload): Likewise.
5530 (grub_rescue_cmd_dump): Likewise.
5531 (grub_rescue_cmd_rmmod): Likewise.
5532 (grub_rescue_cmd_lsmod): Likewise.
5533 (grub_rescue_cmd_exit): Likewise.
5534 (grub_rescue_print_devices): Moved to corecmd.c.
5535 (grub_rescue_print_files): Likewise.
5536 (grub_rescue_cmd_ls): Likewise.
5537 (grub_rescue_cmd_insmod): Likewise.
5538 (grub_rescue_cmd_set): Likewise.
5539 (grub_rescue_cmd_unset): Likewise.
7d074e3c 5540 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 5541 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 5542 commands, remove grub_rescue_register_command calls.
b1b797cb 5543
7d074e3c 5544 * normal/command.c (grub_register_command): Removed.
b1b797cb 5545 (grub_unregister_command): Likewise.
5546 (grub_command_find): Likewise.
5547 (grub_iterate_commands): Likewise.
5548 (rescue_command): Likewise.
5549 (export_command): Moved to corecmd.c.
5550 (set_command): Removed.
5551 (unset_command): Likewise.
5552 (insmod_command): Likewise.
5553 (rmmod_command): Likewise.
5554 (lsmod_command): Likewise.
5555 (grub_command_init): Likewise.
5556
5557 * normal/completion.c (iterate_command): Use cmd->prio to check for
5558 active command.
5559 (complete_arguments): Use grub_extcmd_t structure to find options.
5560 (grub_normal_do_completion): Change function grub_iterate_commands to
5561 grub_command_iterate.
5562
5563 * normal/execute.c (grub_script_execute_cmd): No need to parse
5564 argument here.
5565
5566 * normal/main.c (grub_dyncmd_dispatcher): New function.
5567 (read_command_list): Register unload commands as dyncmd.
5568 (grub_cmd_normal): Use new command interface, register rescue,
5569 unregister normal at entry, register normal, unregister rescue at exit.
5570
5571 * include/grub/list.h (grub_list_test_t): New type.
5572 (grub_list_iterate): Return int instead of void.
5573 (grub_list_insert): New function.
5574 (GRUB_AS_NAMED_LIST_P): New macro.
5575 (GRUB_AS_PRIO_LIST): Likewise.
5576 (GRUB_AS_PRIO_LIST_P): Likewise.
5577 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
5578 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
5579 (grub_prio_list): New structure.
5580 (grub_prio_list_insert): New function.
5581 (grub_prio_list_remove): New inline function.
5582
5583 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
5584 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
5585 (GRUB_COMMAND_FLAG_MENU): Likewise.
5586 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5587 (GRUB_COMMAND_FLAG_TITLE): Likewise.
5588 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5589 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
5590 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
5591 (grub_command): Likewise.
5592 (grub_register_command): Likewise.
5593 (grub_command_find): Likewise.
5594 (grub_iterate_commands): Likewise.
5595 (grub_command_init): Likewise.
5596 (grub_arg_parse): Likewise.
5597 (grub_arg_show_help): Likewise.
5598
5599 * include/grub/rescue.h (grub_rescue_register_command): Removed.
5600 (grub_rescue_unregister_command): Likewise.
5601
5602 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
5603 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
5604 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
5605
5606 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
5607 grub_rescue_cmd_initrd.
5608 * include/grub/i386/loader.h: Likewise.
5609 * include/grub/x86_64/loader.h: Likewise.
5610
5611 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
5612
1f4147aa 56132009-03-21 Bean <bean123ch@gmail.com>
5614
5615 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
5616 instead of stat in mingw environment.
5617
5618 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
5619
5620 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
5621
5622 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
5623 AC_CONFIG_LINKS.
5624
2156d5ba 56252009-03-21 Bean <bean123ch@gmail.com>
5626
5627 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
5628 out of range error.
5629
177b82ca 56302009-03-18 Michel Dänzer <michel@daenzer.net>
5631
5632 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
5633 checking inode flags for EXT4_EXTENTS_FLAG.
5634
14aad807 56352009-03-18 Robert Millan <rmh@aybabtu.com>
5636
5637 * loader/i386/linux.c: Include `<grub/video.h>' and
5638 `<grub/i386/pc/vbe.h>'..
5639 (grub_linux_setup_video): New function. Loosely based on the EFI one.
5640 (grub_linux32_boot): Attempt to configure video settings with
5641 grub_linux_setup_video().
5642 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
5643 to avoid grub_console_fini() which would step out of graphical mode
5644 unconditionally.
5645
8cf83a27 56462009-03-14 Robert Millan <rmh@aybabtu.com>
5647
5648 Fix build on powerpc.
5649 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
5650
40164e75 56512009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
5654 background image command.
5655
c58bc32a 56562009-03-12 Colin D Bennett <colin@gibibit.com>
5657
5658 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
5659 (grub_gfxterm_putchar): Extract pairs of identical calls to
5660 draw_cursor out of conditional blocks.
5661
5415144a 56622009-03-11 Pavel Roskin <proski@gnu.org>
5663
5664 * fs/hfs.c (grub_hfs_strncasecmp): New function.
5665 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
5666
6394042e 56672009-03-11 Robert Millan <rmh@aybabtu.com>
5668
5669 * loader/i386/multiboot_elfxx.c
5670 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
5671
b7b50e5f 56722009-03-11 Felix Zielcke <fzielcke@z-51.de>
5673
5674 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
5675 `kern/handler.c'.
5676
1ca7fc96 56772009-03-11 Robert Millan <rmh@aybabtu.com>
5678
5679 * loader/i386/multiboot.c (code_size): New variable.
5680 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 5681 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 5682 4-byte alignment to MBI and others by increasing
7d074e3c 5683 `boot_loader_name_length' appropriately.
1ca7fc96 5684
5685 * loader/i386/multiboot_elfxx.c
5686 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
5687
a83ea1d2 56882009-03-09 Felix Zielcke <fzielcke@z-51.de>
5689
5690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
5691 `fs/ext2.c'.
5692
aa9f3bff 56932009-03-08 Robert Millan <rmh@aybabtu.com>
5694
5695 Make loader/i386/linux.c usable on i386-pc again.
5696
5697 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
5698 memory to heap.
5699 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
5700 `#error' stanza.
5701
d8b3b60e 57022009-03-07 Bean <bean123ch@gmail.com>
5703
5704 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
5705 allocation.
5706
b362c9e9 57072009-03-06 Robert Millan <rmh@aybabtu.com>
5708
5709 Fix display issue on terminals with screen size other than 80x25
5710 (e.g. gfxterm with resolution higher than 640x480).
5711
5712 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 5713 position relative to the center of the terminal instead of relying
b362c9e9 5714 on a hardcoded offset.
5715
9304eef1 57162009-03-04 Robert Millan <rmh@aybabtu.com>
5717
5718 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
5719 installed.
5720
5721 * Makefile.in (host_kernel): New variable.
5722 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
5723 scripts instead of just the windows one.
5724 * configure.ac: Initialize and AC_SUBST `host_kernel'.
5725
eabc95fb 57262009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 5727
5728 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
5729 `kern/handler.c'.
5730 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5731 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5732 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5736
ceb1223c 57372009-03-04 Felix Zielcke <fzielcke@z-51.de>
5738
5739 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
5740 or if there's no space for the disk label and print the partition number on a
5741 invalid magic.
5742
4910684a 57432009-03-04 Felix Zielcke <fzielcke@z-51.de>
5744
5745 * util/misc.c: Include <time.h>.
5746 (grub_millisleep): New function.
5747
7e9ca17a 57482009-03-04 Bean <bean123ch@gmail.com>
5749
5750 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
5751 another option -mno-red-zone.
5752
5753 * commands/handler.c: Change module description.
5754
5755 * kern/handler.c: Add missing space at the end of description line.
5756
5757 * kern/list.c: Likewise.
5758
f501677c 57592009-03-03 Robert Millan <rmh@aybabtu.com>
5760
5761 Move more components to the relocation area, and fix mbi pointer
5762 handling to use the destination rather than the origin (thanks to
5763 Vladimir Serbinenko for spotting).
5764
5765 * loader/i386/multiboot.c (mbi_dest): New variable.
5766 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
5767 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
5768 relocation area.
5769
9902d047 57702009-03-01 Bean <bean123ch@gmail.com>
5771
50fb7002 5772 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 5773 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
5774 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
5775 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
5776
5777 * loader/i386/efi/linux.c (acpi_guid): New variable.
5778 (acpi_guid): Likewise.
5779 (EBDA_SEG_ADDR): New constant.
5780 (LOW_MEM_ADDR): Likewise.
5781 (FAKE_EBDA_SEG): Likewise.
5782 (fake_bios_data): New function.
5783 (grub_linux_boot): Call fake_bios_data.
5784
71b9f361 57852009-03-01 Bean <bean123ch@gmail.com>
5786
5787 * commands/terminal.c: Removed.
5788
5789 * commands/handler.c: New file.
5790
5791 * include/grub/list.h: Likewise.
5792
5793 * include/grub/handler.h: Likewise.
5794
5795 * kern/list.c: Likewise.
5796
5797 * kern/handler.c: Likewise.
5798
5799 * kern/term.h: Include header file <grub/handler.h>.
5800 (grub_term_input): Move next field to the beginning.
5801 (grub_term_output): Likewise.
5802 (grub_term_input_class): New variable.
5803 (grub_term_output_class): Likewise.
5804 (grub_term_register_input): Changed to inline function.
5805 (grub_term_register_output): Likewise.
5806 (grub_term_unregister_input): Likewise.
5807 (grub_term_unregister_output): Likewise.
5808 (grub_term_set_current_input): Likewise.
5809 (grub_term_set_current_output): Likewise.
5810 (grub_term_get_current_input): Likewise.
5811 (grub_term_get_current_output): Likewise.
5812 (grub_term_iterate_input): Removed.
5813 (grub_term_iterate_output): Likewise.
5814
5815 * kern/term.c (grub_term_list_input): Removed.
5816 (grub_term_list_output): Likewise.
5817 (grub_term_input_class): New variable.
5818 (grub_term_output_class): Likewise.
50fb7002 5819 (grub_cur_term_input): Change variable as macro.
71b9f361 5820 (grub_cur_term_output): Likewise.
5821 (grub_term_register_input): Removed.
5822 (grub_term_register_output): Likewise.
5823 (grub_term_unregister_input): Likewise.
5824 (grub_term_unregister_output): Likewise.
5825 (grub_term_set_current_input): Likewise.
5826 (grub_term_set_current_output): Likewise.
5827 (grub_term_iterate_input): Likewise.
5828 (grub_term_iterate_output): Likewise.
5829 (grub_term_get_current_input): Likewise.
5830 (grub_term_get_current_output): Likewise.
5831
5832 * util/grub-editenv.c: Include header file <grub/handler.h>.
5833 (grub_term_get_current_input): Removed.
5834 (grub_term_get_current_output): Likewise.
5835 (grub_term_input_class): New variable.
50fb7002 5836 (grub_term_output_class): Likewise.
71b9f361 5837
5838 * util/grub-fstest.c (grub_term_get_current_input): Removed.
5839 (grub_term_get_current_output): Likewise.
5840 (grub_term_input_class): New variable.
50fb7002 5841 (grub_term_output_class): Likewise.
71b9f361 5842
5843 * util/grub-probe.c (grub_term_get_current_input): Removed.
5844 (grub_term_get_current_output): Likewise.
5845 (grub_term_input_class): New variable.
50fb7002 5846 (grub_term_output_class): Likewise.
71b9f361 5847
5848 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
5849 (grub_term_get_current_output): Likewise.
5850 (grub_term_input_class): New variable.
50fb7002 5851 (grub_term_output_class): Likewise.
71b9f361 5852
5853 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
5854 (terminal_mod_SOURCES): Likewise.
5855 (terminal_mod_CFLAGS): Likewise.
5856 (terminal_mod_LDFLAGS): Likewise.
5857
5858 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
5859 handler.c.
5860 (kernel_img_SOURCES): Add list.c and handler.c.
5861 (kernel_img_HEADERS): Add list.h and handler.h.
5862
5863 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5864 handler.c.
5865 (kernel_mod_SOURCES): Add list.c and handler.c.
5866 (kernel_mod_HEADERS): Add list.h and handler.h.
5867
5868 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
5869 handler.c.
5870 (kernel_elf_SOURCES): Add list.c and handler.c.
5871 (kernel_elf_HEADERS): Add list.h and handler.h.
5872
5873 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5874 handler.c.
5875 (kernel_elf_SOURCES): Add list.c and handler.c.
5876 (kernel_elf_HEADERS): Add list.h and handler.h.
5877
5878 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5879 handler.c.
5880 (kernel_mod_SOURCES): Add list.c and handler.c.
5881 (kernel_mod_HEADERS): Add list.h and handler.h.
5882
5883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5884 handler.c.
5885 (kernel_elf_SOURCES): Add list.c and handler.c.
5886 (kernel_elf_HEADERS): Add list.h and handler.h.
5887
8a31787f 58882009-02-27 Robert Millan <rmh@aybabtu.com>
5889
5890 Factorize elf32 / elf64 code in Multiboot loader. This will
5891 prevent it from getting out of sync again.
5892
5893 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
5894 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
5895 grub_multiboot_load_elf64): Move from here ...
5896 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
5897 grub_multiboot_load_elf): ... to here (new file).
5898
51cd3dfc 58992009-02-27 Robert Millan <rmh@aybabtu.com>
5900
5901 * util/grub.d/10_linux.in: Rename "single-user mode" to
5902 "recovery mode".
5903
6e8c9c3a 59042009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Don't leak in SCSI code.
5907 * disk/scsi.c (grub_scsi_close): free `scsi'.
5908
4b6bf4f9 59092009-02-27 Robert Millan <rmh@aybabtu.com>
5910
5911 * loader/i386/pc/multiboot.c: Move from here ...
5912 * loader/i386/multiboot.c: ... to here. Update all users.
5913
b9413424 59142009-02-27 Robert Millan <rmh@aybabtu.com>
5915
5916 Patch from Alexandre Bique <bique.alexandre@gmail.com>
5917 * util/i386/pc/grub-setup.c (setup): Fix directory path.
5918
50fb7002 59192009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 5920
5921 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
5922 b-tree.
5923
8cc50345 59242009-02-27 Robert Millan <rmh@aybabtu.com>
5925
5926 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
5927 `0x' qualifier as 0 when base is specified as parameter).
5928
6e09b8b7 59292009-02-24 Bean <bean123ch@gmail.com>
5930
5931 * configure.ac: Check for -mcmodel=large in x86_64 target.
5932
5933 * include/grub/efi/api.h (efi_call_10): New macro.
5934 (efi_wrap_10): New function.
5935
5936 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
5937 (GRUB_PE32_REL_BASED_HIGH): Likewise.
5938 (GRUB_PE32_REL_BASED_LOW): Likewise.
5939 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
5940 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
5941 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
5942 (GRUB_PE32_REL_BASED_SECTION): Likewise.
5943 (GRUB_PE32_REL_BASED_REL): Likewise.
5944 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
5945 (GRUB_PE32_REL_BASED_DIR64): Likewise.
5946 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
5947
5948 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
5949 issue.
5950
5951 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
5952 (efi_wrap_10): New function.
5953
5954 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
5955
5956 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
5957 MB/MBP model (NV chipset).
5958 (devdata_devs): Add devpath_5 to the list.
5959
5960 * load/i386/efi/linux.c (video_base): Remove variable.
5961 (RGB_MASK): New macro.
5962 (RGB_MAGIC): Likewise.
5963 (LINE_MIN): Likewise.
5964 (LINE_MAX): Likewise.
5965 (FBTEST_STEP): Likewise.
5966 (FBTEST_COUNT): Likewise.
5967 (fb_list): New variable.
5968 (grub_find_video_card): Remove function.
5969 (find_framebuf): New function.
5970 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
5971 line length.
5972
5973 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
5974 problem for x86_64.
5975
74b21bee 59762009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
5977
5978 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
5979
5980 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
5981 coding tool name.
5982
a455f472 59832009-02-22 Robert Millan <rmh@aybabtu.com>
5984
5985 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
5986 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
5987 in our relocation, instead of using it directly from heap. Also
5988 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
5989
6374daf3 59902009-02-21 Robert Millan <rmh@aybabtu.com>
5991
5992 Implement USB keyboard support (based on patch by Marco Gerards)
5993
5994 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
5995 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
5996 (usb_keyboard_mod_LDFLAGS): New variables.
5997
5998 * term/usb_keyboard.c: New file.
5999
8fa4ea70 60002009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Corrected wrong declaration
6003
6004 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
6005
353976ac 60062009-02-14 Christian Franke <franke@computer.org>
6007
6008 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
6009 (grub_lspci_iter): Print class code and programming interface byte.
6010
6aa1169b 60112009-02-14 Christian Franke <franke@computer.org>
6012
6013 * gendistlist.sh: Ignore `.svn' directories.
6014
265372ca 60152009-02-14 Felix Zielcke <fzielcke@z-51.de>
6016
6017 * fs/fat.c: Add 2009 to Copyright line.
6018
9ff516f3 60192009-02-14 Christian Franke <franke@computer.org>
6020
6021 * commands/hdparm.c: New file. Provides `hdparm' command
6022 which sends ATA commands via grub_disk_ata_pass_through ().
6023
6024 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
6025
6026 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6027 and <grub/cpu/io.h> to include/grub/ata.h.
6028 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6029 (GRUB_CDROM_SECTOR_SIZE): Remove.
6030 (GRUB_ATA_*): Move to include/grub/ata.h.
6031 (GRUB_ATAPI_*): Likewise.
6032 (enum grub_ata_commands): Likewise.
6033 (enum grub_ata_timeout_milliseconds): Likewise.
6034 (struct grub_ata_device): Likewise.
6035 (grub_ata_regset): Likewise.
6036 (grub_ata_regget): Likewise.
6037 (grub_ata_regset2): Likewise.
6038 (grub_ata_regget2): Likewise.
6039 (grub_ata_check_ready): Likewise.
6040 (grub_ata_wait_not_busy): Remove static, exported in
6041 include/grub/ata.h.
6042 (grub_ata_wait_drq): Likewise.
6043 (grub_ata_pio_read): Likewise.
6044
6045 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6046 function for hdparm.mod.
6047
6048 * include/grub/ata.h: New file, contains declarations from
6049 disk/ata.c.
6050 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6051
6052 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6053 (grub_disk_ata_pass_through): New exported variable.
6054
6055 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6056
772e23da 60572009-02-13 Colin D Bennett <colin@gibibit.com>
6058
6059 Support multiple fallback entries, and provide an API to support
6060 executing default+fallback menu entries. Renamed the `terminal' menu
6061 viewer to `text'.
6062
6063 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6064 variable declaration.
6065 (grub_menu_execute_callback): New structure declaration.
6066 (grub_menu_execute_callback_t): New typedef.
6067 (grub_menu_execute_with_fallback): New function declaration.
6068 (grub_menu_get_entry): Likewise.
6069 (grub_menu_get_timeout): Likewise.
6070 (grub_menu_set_timeout): Likewise.
6071
6072 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6073
6074 * normal/menu.c (grub_wait_after_message): Moved to
6075 `normal/menu_text.c'.
6076 (draw_border): Likewise.
6077 (print_message): Likewise.
6078 (print_entry): Likewise.
6079 (print_entries): Likewise.
6080 (grub_menu_init_page): Likewise.
6081 (get_entry_number): Likewise.
6082 (print_timeout): Likewise.
6083 (run_menu): Likewise.
6084 (grub_menu_execute_entry): Likewise.
6085 (show_text_menu): Likewise.
6086 (get_and_remove_first_entry_number): New function.
6087 (grub_menu_execute_with_fallback): Likewise.
6088 (get_entry): Renamed to ...
6089 (grub_menu_get_entry): .. this and made it global.
6090 (get_timeout): Renamed to ...
6091 (grub_menu_get_timeout): ... this and made it global.
6092 (set_timeout): Renamed to ...
6093 (grub_menu_set_timeout): ... this and made it global.
6094 (grub_normal_terminal_menu_viewer): Renamed to ...
6095 (grub_normal_text_menu_viewer): ... this.
6096
6097 * normal/menu_text.c: New file. Extracted text-menu-specific code
6098 from normal/menu.c.
6099
6100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
6101 (normal_mod_SOURCES): Likewise.
6102
6103 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6104 (normal_mod_SOURCES): Likewise.
6105
6106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6107 (normal_mod_SOURCES): Likewise.
6108
6109 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
6110 (normal_mod_SOURCES): Likewise.
6111
6112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6113 (normal_mod_SOURCES): Likewise.
6114
6115 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6116 (normal_mod_SOURCES): Likewise.
6117
6118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6119 (normal_mod_SOURCES): Likewise.
6120
16ac430e 61212009-02-11 Robert Millan <rmh@aybabtu.com>
6122
6123 * util/grub.d/00_header.in: Update old reference to `font' command.
6124
06ff20fc 61252009-02-10 Felix Zielcke <fzielcke@z-51.de>
6126
6127 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
6128
6129 Based on patch from Javier Martín.
6130
96da9407 61312009-02-09 Felix Zielcke <fzielcke@z-51.de>
6132
6133 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 6134 to avoid false positives with FAT.
96da9407 6135 (grub_fstest_SOURCES): Likewise.
6136 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6137 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6141 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6142
6dca6fe4 61432009-02-09 Felix Zielcke <fzielcke@z-51.de>
6144
06ff20fc 6145 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 6146 bpb.version_specific.fat12_or_fat16.fstype and
6147 bpb.version_specific.fat32.fstype.
6148
2550c62f 61492009-02-08 Robert Millan <rmh@aybabtu.com>
6150
be110b30 6151 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 6152
56978920 61532009-02-08 Robert Millan <rmh@aybabtu.com>
6154
6155 * Makefile.in (host_os, host_cpu): New variables.
6156 (target_os): Remove. Update all users.
6157
d64399b5 61582009-02-08 Marco Gerards <marco@gnu.org>
6159
6160 * Makefile.in (enable_grub_emu_usb): New variable.
6161 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
6162 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
6163 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
6164 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
6165 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
6166 `usbtest.mod' and `usbms.mod'.
6167 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
6168 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
6169 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
6170 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
6171 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
6172 variables.
6173
6174 * disk/usbms.c: New file.
6175
6176 * include/grub/usb.h: Likewise.
6177
6178 * include/grub/usbtrans.h: Likewise.
6179
6180 * include/grub/usbdesc.h: Likewise.
6181
6182 * bus/usb/usbtrans.c: Likewise.
6183
6184 * bus/usb/ohci.c: Likewise.
6185
6186 * bus/usb/uhci.c: Likewise.
6187
6188 * bus/usb/usbhub.c: Likewise.
6189
6190 * bus/usb/usb.c: Likewise.
6191
6192 * commands/usbtest.c: Likewise.
6193
6194 * util/usb.c: Likewise.
50fb7002 6195
d64399b5 6196 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
6197
6198 * configure.ac: Test for libusb presence.
50fb7002 6199
d64399b5 6200 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
6201
2b40d6bb 62022009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
6203
6204 * kern/mm.c: Add more comments.
6205
73a4ce81 62062009-02-08 Robert Millan <rmh@aybabtu.com>
6207
6208 Patch from Javier Martín.
6209 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
6210 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
6211
f821ce59 62122009-02-08 Robert Millan <rmh@aybabtu.com>
6213
6214 * fs/cpio.c: Split tar functionality to ...
6215 * fs/tar.c: ... here (new file). Update all users.
6216
aebfc4b0 62172009-02-07 Robert Millan <rmh@aybabtu.com>
6218
6219 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
6220 backward-incompatible features.
6221
6222 Based on patch from Javier Martín, with some adjustments.
6223
50fb7002 62242009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 6225
6226 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
6227
0bb5115e 62282009-02-07 Robert Millan <rmh@aybabtu.com>
6229
6230 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
6231 position of `disk/lvm.c' to ensure grub_init_all() always picks it
6232 after the RAID stuff.
6233
38a0f8e7 62342009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
6235
50fb7002 6236 Fixes problem when running vbetest command as reported by
38a0f8e7 6237 Vladimir Serbinenko <phcoder@gmail.com>.
6238
6239 * (grub_vbe_set_video_mode): Fixed problem with text modes.
6240
3143cc1c 62412009-02-04 Felix Zielcke <fzielcke@z-51.de>
6242
6243 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
6244 /dev/md/NpN style mdraid devices.
6245
9cba6fce 62462009-02-03 Felix Zielcke <fzielcke@z-51.de>
6247
6248 * util/unifont2pff.rb: Remove.
6249
e507a2c1 62502009-02-03 Felix Zielcke <fzielcke@z-51.de>
6251
6252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
6253 `#'.
6254
d2c2b4cd 62552009-02-03 Felix Zielcke <fzielcke@z-51.de>
6256
6257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
6258 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6259 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6260 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6262 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6264
b4315fb0 62652009-02-02 Christian Franke <franke@computer.org>
6266
6267 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
6268
de3aa260 62692009-02-01 Felix Zielcke <fzielcke@z-51.de>
6270
7c3ff286 6271 * INSTALL: Note that we now require at least autoconf 2.59 and
6272 that LZO is optional.
de3aa260 6273
825a182b 62742009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6275
6276 Base on patch on bug #24154 created by Tomas Tintera
6277 <trosos@seznam.cz>.
6278
6279 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
6280
a69ef770 62812009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6282
7c3ff286 6283 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 6284 <bero@arklinux.org>.
6285
6286 * normal/parser.y (script_init): Add missing semicolon.
6287
6fa42fa6 62882009-01-31 Colin D Bennett <colin@gibibit.com>
6289
7c3ff286 6290 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 6291 (free_menu_entry_classes): Added.
6292 (grub_normal_menu_addentry): Added class property handling.
6293 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
6294 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
6295
6296 * normal/menu_viewer.c: New file.
6297
6298 * normal/menu.c (run_menu_entry): Renamed to ...
6299 (grub_menu_execute_entry): ... this and made it as global.
6300 (grub_menu_run): Renamed to ...
6301 (show_text_menu): ... this and made it local.
6302 (show_text_menu): Adapt to new function names.
6303 (grub_normal_terminal_menu_viewer): New global variable.
6304
6305 * include/grub/menu.h: New file.
6306
6307 * include/grub/menu_viewer.h: New file.
6308
6309 * include/grub/normal.h: Added include to grub/menu.h.
6310 (grub_menu_entry): Moved to include/grub/menu.h.
6311 (grub_menu_entry_t): Likewise.
6312 (grub_menu): Likewise.
6313 (grub_menu_t): Likewise.
6314 (grub_normal_terminal_menu_viewer): Added.
6315 (grub_menu_execute_entry): Likewise.
6316 (grub_menu_run): Removed.
6317
6318 * DISTLIST: Added include/grub/menu.h.
6319 Added include/grub/menu_viewer.h.
6320 Added normal/menu_viewer.c.
6321
63222009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
6323
6324 * normal/execute.c (grub_script_execute_menuentry): Changed to use
6325 arglist for menutitle arguments.
6326
6327 * normal/main.c (grub_normal_menu_addentry): Likewise.
6328
6329 * normal/parser.y (menuentry): Likewise.
6330
6331 * normal/script.c (grub_script_create_cmdmenu): Likewise.
6332
6333 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
6334 (grub_script_create_cmdmenu): Likewise.
6335
6336 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
6337
6338 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
6339 changes.
6340
6341 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
6342
6343 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
6344
6345 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
6346
6347 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6348
6349 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6350
6351 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6352
56192c23 63532009-01-30 Christian Franke <franke@computer.org>
6354
6355 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
6356 in option help text.
6357
d72521b3 63582009-01-27 Pavel Roskin <proski@gnu.org>
6359
6360 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
6361
994b5e84 63622009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6363
6364 * commands/lsmmap.c: Add include to grub/machine/memory.h.
6365
6366 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
6367
6368 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
6369 unregister function.
6370
6a7eab2c 63712009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6372
6373 * disk/scsi.c (grub_scsi_read): Fix sign problem.
6374
6375 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
6376
6377 * util/grub-mkfont.c (usage): Fix typo.
6378
6379 * util/elf/grub-mkimage.c (load_modules): Fix warning.
6380
1806b56e 63812009-01-26 Daniel Mierswa <impulze@impulze.org>
6382
3fb18f09 6383 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
6384
336e1fb9 6385 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
6386
1806b56e 6387 * kern/misc.c (grub_strcasecmp): New function.
6388 (grub_strcasecmp): Use grub_size_t instead of int for length.
6389 Fix return value.
6390 * include/grub/misc.h: Update function prototypes.
6391
580b2a0f 63922009-01-26 Robert Millan <rmh@aybabtu.com>
6393
6394 * configure.ac: Fix cross-compilation check.
ef257b36 6395
d31c24f1 63962009-01-22 Christian Franke <franke@computer.org>
6397
6398 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
6399 (precision) digit string. Allow `.format2' without `format1' (width).
6400 Limit input chars for `%s' output to `format2' if specified. This is
6401 compatible with standard printf ().
6402
3138b44c 64032009-01-22 Christian Franke <franke@computer.org>
6404
6405 * disk/ata.c (grub_ata_wait_status): Replace by ...
6406 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
6407 other status bits may be invalid while BSY is asserted.
6408 (grub_ata_check_ready): New function.
6409 (grub_ata_cmd): Removed.
6410 (grub_ata_wait_drq): New function.
6411 (grub_ata_strncpy): Remove inline.
6412 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
6413 and error check now done by grub_ata_wait_drq ().
6414 (grub_ata_pio_write): Likewise.
6415 (grub_atapi_identify): Set DEV before check for !BSY. Use
6416 grub_ata_wait_drq () to wait for data.
6417 (grub_ata_device_initialize): Add status register check to
6418 detect missing SATA slave devices. Add debug messages.
6419 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
6420 (grub_atapi_packet): Set DEV before check for !BSY. Replace
6421 transfer loop by grub_ata_pio_write ().
6422 (grub_ata_identify): Set DEV before check for !BSY. Use
6423 grub_ata_wait_drq () to wait for data.
ef257b36 6424 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 6425 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
6426 read/write in one loop. Fix invalid command on write. Fix incomplete
6427 command on (size % batch) == 0. Add missing error check after write of
6428 last block. Add debug messages.
6429 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
6430
59a64ef6 64312009-01-19 Christian Franke <franke@computer.org>
6432
6433 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
6434 (GRUB_ATAPI_IREASON_*): Likewise.
6435 (grub_ata_pio_write): Fix timeout error return.
6436 (grub_atapi_identify): Add grub_ata_wait () after cmd.
6437 (grub_atapi_wait_drq): New function.
6438 (grub_atapi_packet): New parameter `size'.
6439 Use grub_atapi_wait_drq () and direct write instead of
6440 grub_ata_pio_write ().
6441 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
6442 reads the number of bytes requested by the device for each DRQ
6443 assertion.
6444 (grub_atapi_write): Remove old implementation, return not
6445 implemented instead.
6446
1cfe20b3 64472009-01-19 Christian Franke <franke@computer.org>
6448
6449 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
6450 of 512 to calculate data size.
6451 (grub_scsi_read12): Likewise.
6452 (grub_scsi_write10): Likewise.
6453 (grub_scsi_write12): Likewise.
6454 (grub_scsi_read): Adjust size according to blocksize.
6455 Add checks for invalid blocksize and unaligned transfer.
6456
bee5fe5d 64572009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
6458
6459 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
6460
ef257b36 6461 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 6462 width glyphs.
6463
3e643f8c 64642009-01-19 Robert Millan <rmh@aybabtu.com>
6465
6466 * config.guess: Update to latest version from config git.
6467 * config.sub: Likewise.
6468
4fa80998 64692009-01-17 Felix Zielcke <fzielcke@z-51.de>
6470
6471 * Makefile.in: Change font compilation to use new grub-mkfont instead
6472 of java version.
6473
6474 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
6475 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
6476 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6477 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6478 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
6479 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
6480 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
6481 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
6482 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6483
7086085b 64842009-01-16 Christian Franke <franke@computer.org>
6485
6486 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
6487 (enum grub_ata_timeout_milliseconds): New enum.
6488 (grub_ata_wait_status): Add parameter milliseconds.
6489 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
6490 recovery from timed-out commands.
6491 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
6492 return grub_errno instead of REG_ERROR.
6493 (grub_ata_pio_write): Add parameter milliseconds.
6494 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
6495 Pass milliseconds to grub_ata_wait_status () and
6496 grub_ata_pio_read ().
6497 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
6498 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
6499 grub_ata_wait_status (). Fix IDENTIFY timeout check.
6500 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
6501 It is not suitable for device detection, because DEV bit is ignored,
6502 the command may run too long, and not all devices set the signature
6503 properly.
6504 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
6505 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
6506 Fix device selection, DEV bit must be set first to address the registers
6507 of the correct device.
6508 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
6509 grub_ata_pio_read/write ().
6510 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
6511 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
6512
4a412913 65132009-01-13 Carles Pina i Estany <carles@pina.cat>
6514
6515 * util/grub-editenv.c (main): Use fseeko(), not fseek().
6516
7795c55e 65172009-01-13 Bean <bean123ch@gmail.com>
d913988c 6518
6519 * util/grub-mkfont.c (write_font): forget to remove some debug code.
6520
7795c55e 65212009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 6522
6523 * Makefile.in: (enable_grub_mkfont): New variable.
6524 (freetype_cflags): Likewise.
6525 (freetype_libs): Likewise.
6526
6527 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
6528 (grub_mkfont_SOURCES): New variable.
6529 (grub_mkfont_CFLAGS): Likewise.
6530 (grub_mkfont_LDFLAGS): Likewise.
6531
6532 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
6533 library if `--enable-grub-mkfont' is requested.
6534 (enable_grub_mkfont): New variable.
6535 (freetype_cflags): Likewise.
6536 (freetype_libs): Likewise.
6537
6538 * util/grub-mkfont.c: New file.
6539
093af1fe 65402009-01-12 Christian Franke <franke@computer.org>
6541
6542 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
6543 mode check. Fix setting of compat_use[].
6544
f36cc108 65452009-01-10 Robert Millan <rmh@aybabtu.com>
6546
6547 Update a few copyright years which we forgot to do in 2008 (only for
6548 files whose changes made in 2008 were copyright-significant)
6549
6550 * Makefile.in: Add 2008 to Copyright line.
6551 * disk/ieee1275/ofdisk.c: Likewise.
6552 * disk/efi/efidisk.c: Likewise.
6553 * kern/dl.c: Likewise.
6554 * kern/sparc64/ieee1275/init.c: Likewise.
6555 * kern/mm.c: Likewise.
6556 * kern/efi/mm.c: Likewise.
6557 * boot/i386/pc/boot.S: Likewise.
6558 * genfslist.sh: Likewise.
6559 * fs/iso9660.c: Likewise.
6560 * fs/hfs.c: Likewise.
6561 * fs/jfs.c: Likewise.
6562 * fs/minix.c: Likewise.
6563 * fs/ufs.c: Likewise.
6564 * gensymlist.sh.in: Likewise.
6565 * genkernsyms.sh.in: Likewise.
6566 * include/grub/misc.h: Likewise.
6567 * include/grub/types.h: Likewise.
6568 * include/grub/symbol.h: Likewise.
6569 * include/grub/elf.h: Likewise.
6570 * include/grub/kernel.h: Likewise.
6571 * include/grub/disk.h: Likewise.
6572 * include/grub/dl.h: Likewise.
6573 * include/grub/i386/linux.h: Likewise.
6574 * include/grub/i386/pc/biosdisk.h: Likewise.
6575 * include/grub/efi/api.h: Likewise.
6576 * include/grub/efi/pe32.h: Likewise.
6577 * include/grub/util/misc.h: Likewise.
6578 * normal/execute.c: Likewise.
6579 * normal/arg.c: Likewise.
6580 * normal/completion.c: Likewise.
6581 * normal/lexer.c: Likewise.
6582 * normal/parser.y: Likewise.
6583 * normal/misc.c: Likewise.
6584 * commands/i386/pc/vbeinfo.c: Likewise.
6585 * commands/hexdump.c: Likewise.
6586 * commands/terminal.c: Likewise.
6587 * commands/ls.c: Likewise.
6588 * commands/help.c: Likewise.
6589 * partmap/pc.c: Likewise.
6590 * loader/efi/chainloader.c: Likewise.
6591 * loader/multiboot_loader.c: Likewise.
6592 * loader/i386/pc/multiboot2.c: Likewise.
6593 * term/efi/console.c: Likewise.
6594 * term/i386/pc/serial.c: Likewise.
6595 * util/lvm.c: Likewise.
6596 * util/console.c: Likewise.
6597 * util/i386/efi/grub-mkimage.c: Likewise.
6598 * util/raid.c: Likewise.
6599
7f02114b 66002009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
6601
6602 * commands/videotest.c: Removed include to grub/machine/memory.h.
6603
6604 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
6605 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
6606 (video_mod_SOURCES): Removed.
6607 (video_mod_CFLAGS): Likewise.
6608 (video_mod_LDFLAGS): Likewise.
6609 (gfxterm_mod_SOURCES): Likewise.
6610 (gfxterm_mod_CFLAGS): Likewise.
6611 (gfxterm_mod_LDFLAGS): Likewise.
6612 (videotest_mod_SOURCES): Likewise.
6613 (videotest_mod_CFLAGS): Likewise.
6614 (videotest_mod_LDFLAGS): Likewise.
6615 (bitmap_mod_SOURCES): Likewise.
6616 (bitmap_mod_CFLAGS): Likewise.
6617 (bitmap_mod_LDFLAGS): Likewise.
6618 (tga_mod_SOURCES): Likewise.
6619 (tga_mod_CFLAGS): Likewise.
6620 (tga_mod_LDFLAGS): Likewise.
6621 (jpeg_mod_SOURCES): Likewise.
6622 (jpeg_mod_CFLAGS): Likewise.
6623 (jpeg_mod_LDFLAGS): Likewise.
6624 (png_mod_SOURCES): Likewise.
6625 (png_mod_CFLAGS): Likewise.
6626 (png_mod_LDFLAGS): Likewise.
6627
6628 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
6629 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
6630 (video_mod_SOURCES): Added.
6631 (video_mod_CFLAGS): Likewise.
6632 (video_mod_LDFLAGS): Likewise.
6633 (videotest_mod_SOURCES): Likewise.
6634 (videotest_mod_CFLAGS): Likewise.
6635 (videotest_mod_LDFLAGS): Likewise.
6636 (bitmap_mod_SOURCES): Likewise.
6637 (bitmap_mod_CFLAGS): Likewise.
6638 (bitmap_mod_LDFLAGS): Likewise.
6639 (tga_mod_SOURCES): Likewise.
6640 (tga_mod_CFLAGS): Likewise.
6641 (tga_mod_LDFLAGS): Likewise.
6642 (jpeg_mod_SOURCES): Likewise.
6643 (jpeg_mod_CFLAGS): Likewise.
6644 (jpeg_mod_LDFLAGS): Likewise.
6645 (png_mod_SOURCES): Likewise.
6646 (png_mod_CFLAGS): Likewise.
6647 (png_mod_LDFLAGS): Likewise.
6648 (gfxterm_mod_SOURCES): Likewise.
6649 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 6650 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 6651
6652 * term/gfxterm.c: Removed include to grub/machine/memory.h,
6653 grub/machine/console.h.
6654
644fff97 66552009-01-04 Jerone Young <jerone@gmail.com>
6656
6657 Make on screen instructions clearer
6658
6659 Based on patch created by Jidanni <jidanni@jidanni.org>
6660
6661 * normal/menu.c: print clearer instructions on the screen
6662
1e901a75 66632009-01-02 Colin D Bennett <colin@gibibit.com>
6664
6665 New font engine.
34c44600 6666
1e901a75 6667 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
6668 build system and fixed gfxterm.c to work with different sized fonts.
6669
6670 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 6671
1e901a75 6672 * configure: Re-generated.
34c44600 6673
1e901a75 6674 * DISTLIST: Removed font/manager.c.
6675 Added font/font.c.
6676 Added font/font_cmd.c.
34c44600 6677
1e901a75 6678 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
6679 compilation.
34c44600 6680
1e901a75 6681 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 6682
6683 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 6684
6685 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 6686
1e901a75 6687 * normal/menu.c: Likewise.
34c44600 6688
1e901a75 6689 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
6690 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 6691
1e901a75 6692 * include/grub/font.h: Replaced with new file.
34c44600 6693
1e901a75 6694 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
6695 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
6696 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
6697 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
6698 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 6699 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 6700 fg_red, fg_green, fg_blue, fg_alpha.
6701 (grub_video_adapter): Removed blit_glyph.
34c44600 6702 (grub_video_blit_glyph): Removed.
6703
1e901a75 6704 * font/manager.c: Removed file.
34c44600 6705
6706 * font/font.c: New file.
6707
1e901a75 6708 * font/font_cmd.c: Likewise.
34c44600 6709
1e901a75 6710 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 6711
1e901a75 6712 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
6713 (grub_video_vbe_map_rgba): Likewise.
6714 (grub_video_vbe_unmap_color_int): Likewise.
6715 (grub_video_vbe_blit_glyph): Removed.
6716 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 6717
1e901a75 6718 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
6719 (get_pixel): Likewise.
34c44600 6720 (set_pixel): Likewise.
6721
1e901a75 6722 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 6723
1e901a75 6724 * term/gfxterm.c: Adapted to new font engine.
34c44600 6725
1e901a75 6726 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 6727
1e901a75 6728 * term/i386/pc/vga.c: Likewise.
34c44600 6729
1e901a75 6730 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 6731
1e901a75 6732 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 6733
1e901a75 6734 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6735
1e901a75 6736 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6737
1e901a75 6738 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 6739
1e901a75 6740 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 6741
1e901a75 6742 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 6743
1e901a75 6744 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 6745
1e901a75 6746 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6747
6748 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 6749
1e901a75 6750 * util/grub-mkconfig_lib.in: Changed font extension.
6751
278922e8 67522008-12-28 Felix Zielcke <fzielcke@z-51.de>
6753
6754 * util/getroot.c (grub_util_get_grub_dev): Add support for
6755 /dev/md/dNNpNN style partitionable mdraid devices.
6756
3ced05cf 67572008-12-12 Alex Smith <alex@alex-smith.me.uk>
6758
6759 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
6760 at a time limit of the PXE TFTP API correctly.
6761 (grub_pxefs_close): Likewise.
6762
7fd0ee30 67632008-11-29 Robert Millan <rmh@aybabtu.com>
6764
34c44600 6765 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 6766 grub_ata_device_initialize() calls.
6767
34c44600 67682008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 6769
6770 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
6771 iteration failed.
6772 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
6773
89313780 67742008-11-28 Robert Millan <rmh@aybabtu.com>
6775
6776 Fix build on powerpc-ieee1275. Based on patch created by
6777 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
6778 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
6779 `kern/ieee1275/mmap.c'.
6780 * include/grub/powerpc/ieee1275/memory.h: New file.
6781
15257703 6782 Provide grub-install on coreboot.
6783 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
6784 (grub_install_SOURCES): New variable.
6785 * util/i386/pc/grub-install.in: Add a few condition checks to make it
6786 usable on coreboot.
6787
9fc5388a 67882008-11-25 Felix Zielcke <fzielcke@z-51.de>
6789
6790 * util/grub-fstest.c (grub_term_get_current_input): Change return type
6791 to `grub_term_input_t'.
6792 (grub_term_get_current_output): Change return type to
6793 `grub_term_output_t'.
6794
bc3a2f31 67952008-11-22 Robert Millan <rmh@aybabtu.com>
6796
34c44600 6797 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 6798 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
6799 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
6800 grub_vga_text_cls().
6801
80fc88f2 6802 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 6803 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 6804
cbf36fd3 6805 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
6806 to 0x200000 (avoids trouble with some OFW implementations, and matches
6807 with the one in Yaboot).
6808 Reported by Manoel Abranches
6809
73e8e268 68102008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 6811
6812 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
6813 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
6814
73e8e268 6815 * util/grub-mkconfig_lib.in (grub_warn): New function.
6816 (convert_system_path_to_grub_path): Use grub_warn() when issuing
6817 warnings, to obtain consistent formatting.
6818 * util/grub.d/00_header.in: Likewise.
6819 * util/update-grub_lib.in: Likewise.
6820
e94045a1 6821 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 6822 Move comment text to `#error' stanza.
e94045a1 6823
79d29fd7 6824 Harmonize ieee1275's grub_available_iterate() with the generic
6825 grub_machine_mmap_iterate() interface (fixes a recently-introduced
6826 build problem on i386-ieee1275):
6827 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
6828 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
6829 parameter `type'. Update all users of this function.
6830 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
6831 `kern/ieee1275/mmap.c'.
6832 * kern/ieee1275/init.c
6833 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
6834 with ...
6835 (grub_machine_mmap_iterate): ... this.
6836 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
6837 return type to `grub_err_t'. Update all implementations of this
6838 function prototype.
6839 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
6840 Likewise.
6841
60d6b16e 6842 Add `lsmmap' command (lists firmware-provided memory map):
6843 * commands/lsmmap.c: New file.
6844 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
6845 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
6846 variables.
6847 * conf/powerpc-ieee1275.rmk: Likewise.
6848 * conf/i386-coreboot.rmk: Likewise.
6849 * conf/i386-ieee1275.rmk: Likewise.
6850
ebaaf49b 68512008-11-19 Robert Millan <rmh@aybabtu.com>
6852
6853 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 6854 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
6855 constraints to initrd allocation (based on code from
6856 loader/i386/pc/linux.c). Without them, initrd was allocated too high
6857 for Linux to find it.
ebaaf49b 6858
dfab719f 68592008-11-14 Robert Millan <rmh@aybabtu.com>
6860
6861 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
6862 order to cope with duplicate slashes.
6863
10fc3eb9 68642008-11-14 Robert Millan <rmh@aybabtu.com>
6865
6866 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
6867 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
6868 don't want to mess with lower memory, because it is used in the Linux
6869 loader.
6870
6871 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 6872 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 6873 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
6874 is in our heap (probably as a result of it being corrupted during
2f2a3442 6875 decompression). Add #error instance with comment to explain why this
6876 loader isn't currently usable on PC/BIOS.
10fc3eb9 6877
e2e07847 68782008-11-14 Robert Millan <rmh@aybabtu.com>
6879
6880 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 6881 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 6882
fe8e8d69 68832008-11-12 Robert Millan <rmh@aybabtu.com>
6884
6885 Make loader/i386/linux.c buildable on i386-pc (although disabled).
6886
6887 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
6888 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
6889 from here ...
6890 * include/grub/i386/pc/memory.h: ... to here.
6891
976b07d0 68922008-11-12 Robert Millan <rmh@aybabtu.com>
6893
6894 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
6895 split).
6896
6897 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
6898 (grub_console_cur_color, grub_console_real_putchar)
6899 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6900 (grub_console_setcolorstate, grub_console_setcolor)
6901 (grub_console_getcolor): Move from here ...
6902 * include/grub/i386/vga_common.h: ... to here (new file).
6903
6904 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
6905 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
6906 `<grub/i386/io.h>'.
6907 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
6908 `<grub/i386/vga_common.h>'.
6909
76679cd3 69102008-11-12 Robert Millan <rmh@aybabtu.com>
6911
6912 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
6913 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
6914 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
6915 variables.
6916 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6917 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
6918
6919 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
6920 grub_console_init() with call to grub_vga_text_init().
6921 (grub_machine_fini): Replace call to
6922 grub_console_fini() with call to grub_vga_text_fini() and
6923 grub_at_keyboard_fini().
6924
6925 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
6926 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6927 (grub_console_setcolorstate, grub_console_setcolor)
6928 (grub_console_getcolor): New function prototypes.
6929
6930 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
6931 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
6932 (grub_vga_text_setcursor): Static-ize.
6933 (grub_vga_text_term): New structure.
6934 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
6935
6936 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
6937 (grub_console_cur_color, grub_console_standard_color)
6938 (grub_console_normal_color, grub_console_highlight_color)
6939 (map_char, grub_console_putchar, grub_console_getcharwidth)
6940 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
6941 (grub_console_getcolor): Move from here ...
6942 * term/i386/vga_common.c: ... to here (same function names).
6943
95b841d3 69442008-11-12 Robert Millan <rmh@aybabtu.com>
6945
6946 Use newly-added Multiboot support in coreboot.
6947
6948 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6949 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
6950
6951 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
6952 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
6953 (codestart): Store the MBI in `startup_multiboot_info' when we're
6954 being loaded using Multiboot.
6955
6956 * kern/i386/coreboot/init.c (grub_machine_init): Move
6957 grub_at_keyboard_init() call to beginning of function (useful for
6958 debugging). Call grub_machine_mmap_init() before attempting to use
6959 grub_machine_mmap_iterate().
6960 (grub_lower_mem, grub_upper_mem): Move from here ...
6961 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
6962 here (new file).
6963
6964 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
6965 function prototype.
6966
761ca975 69672008-11-12 Robert Millan <rmh@aybabtu.com>
6968
6969 Fix a regression introduced by the at_keyboard.mod split. Because
6970 some terminals are default on some platforms and non-default on
6971 others, the first terminal being registered determines which is
6972 going to be default.
6973
6974 * kern/term.c (grub_term_register_input): If this is the first
6975 terminal being registered, set it as the current one.
6976 (grub_term_register_output): Likewise.
6977
6978 * term/efi/console.c (grub_console_init): Do not call
6979 grub_term_set_current_output() or grub_term_set_current_input().
6980 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
6981 * term/i386/pc/console.c (grub_console_init): Likewise.
6982 (grub_console_fini): Do not call grub_term_set_current_input()
6983 (but leave grub_term_set_current_output() to restore text mode).
6984
6c529df7 69852008-11-10 Robert Millan <rmh@aybabtu.com>
6986
6987 * util/grub.d/00_header.in: Add backward compatibility check for
6988 versions of terminal.mod that don't understand `terminal_input' or
6989 `terminal_output'.
6990
132e4113 69912008-11-09 Robert Millan <rmh@aybabtu.com>
6992
6993 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
6994 `terminal_input' / `terminal_output', not `terminal'.
6995
ac293d50 69962008-11-08 Robert Millan <rmh@aybabtu.com>
6997
6998 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 6999 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 7000
0025933a 70012008-11-08 Robert Millan <rmh@aybabtu.com>
7002
7003 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 7004 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 7005 members. Update all users.
7006 * util/console.c (grub_ncurses_term): Split in ...
7007 (grub_ncurses_term_input): ... this, and ...
7008 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 7009 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 7010
37c86336 70112008-11-08 Robert Millan <rmh@aybabtu.com>
7012
7013 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
7014 (PKGDATA): Add $(pkgdata_SRCDIR).
7015 (pkglib_BUILDDIR): New variable.
7016 (pkgdata_SRCDIR): New variable.
7017 (build_env.mk): New target.
7018 (include_DATA): New variable.
7019 (install-local): Install $(include_DATA) files in $(includedir).
7020
b6c15a2d 70212008-11-07 Pavel Roskin <proski@gnu.org>
7022
d99d46f1 7023 * gendistlist.sh: Use C locale for sorting to ensure consistent
7024 output on all systems.
7025
b6c15a2d 7026 * util/grub.d/00_header.in: Remove incorrect space before
7027 "serial".
7028
c32ee8c9 70292008-11-07 Robert Millan <rmh@aybabtu.com>
7030
7031 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7032 per specification.
7033 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7034 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7035 (based on find_multi_boot1_header).
7036 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7037 using find_multi_boot2_header(), and abort if neither Multiboot or
7038 Multiboot headers were found.
7039
651c29b7 70402008-11-07 Robert Millan <rmh@aybabtu.com>
7041
7042 Modularize at_keyboard.mod:
7043
7044 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7045 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7046 (at_keyboard_mod_LDFLAGS): New variables.
7047
7048 Actual terminal split:
7049
7050 * include/grub/term.h (struct grub_term): Split in ...
7051 (struct grub_term_input): ... this, and ...
7052 (struct grub_term_output): ... this. Update all users.
7053 (grub_term_set_current): Split in ...
7054 (grub_term_set_current_input): ... this, and ...
7055 (grub_term_set_current_output): ... this.
7056 (grub_term_get_current): Split in ...
7057 (grub_term_get_current_input): ... this, and ...
7058 (grub_term_get_current_output): ... this.
7059 (grub_term_register): Split in ...
7060 (grub_term_register_input): ... this, and ...
7061 (grub_term_register_output): ... this.
7062 (grub_term_unregister): Split in ...
7063 (grub_term_unregister_input): ... this, and ...
7064 (grub_term_unregister_output): ... this.
7065 (grub_term_iterate): Split in ...
7066 (grub_term_iterate_input): ... this, and ...
7067 (grub_term_iterate_output): ... this.
7068
7069 * kern/term.c (grub_term_list): Split in ...
7070 (grub_term_list_input): ... this, and ...
7071 (grub_term_list_output): ... this. Update all users.
7072 (grub_cur_term): Split in ...
7073 (grub_cur_term_input): ... this, and ...
7074 (grub_cur_term_output): ... this. Update all users.
7075 (grub_term_set_current): Split in ...
7076 (grub_term_set_current_input): ... this, and ...
7077 (grub_term_set_current_output): ... this.
7078 (grub_term_get_current): Split in ...
7079 (grub_term_get_current_input): ... this, and ...
7080 (grub_term_get_current_output): ... this.
7081 (grub_term_register): Split in ...
7082 (grub_term_register_input): ... this, and ...
7083 (grub_term_register_output): ... this.
7084 (grub_term_unregister): Split in ...
7085 (grub_term_unregister_input): ... this, and ...
7086 (grub_term_unregister_output): ... this.
7087 (grub_term_iterate): Split in ...
7088 (grub_term_iterate_input): ... this, and ...
7089 (grub_term_iterate_output): ... this.
7090
7091 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7092 a check for input and one for output (and only attempt to get keys
7093 from user when input works).
7094
7095 * util/grub-probe.c (grub_term_get_current): Split in ...
7096 (grub_term_get_current_input): ... this, and ...
7097 (grub_term_get_current_output): ... this.
7098 * util/grub-fstest.c: Likewise.
7099 * util/i386/pc/grub-setup.c: Likewise.
7100 * util/grub-editenv.c: Likewise.
7101
7102 Portability adjustments:
7103
7104 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
7105 `term/i386/pc/at_keyboard.c'.
7106 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
7107 grub_keyboard_controller_init() (now handled by terminal .init).
7108 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
7109 grub_at_keyboard_init().
7110 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
7111 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
7112 at_keyboard.mod via input terminal interface).
7113 * include/grub/i386/coreboot/console.h: Convert into a stub for
7114 `<grub/i386/pc/console.h>'.
7115
7116 Migrate full terminals to new API:
7117
7118 * term/efi/console.c (grub_console_term): Split into ...
7119 (grub_console_term_input): ... this, and ...
7120 (grub_console_term_output): ... this. Update all users.
7121 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
7122 (grub_ofconsole_init): Split into ...
7123 (grub_ofconsole_init_input): ... this, and ...
7124 (grub_ofconsole_init_output): ... this.
7125 (grub_ofconsole_term): Split into ...
7126 (grub_ofconsole_term_input): ... this, and ...
7127 (grub_ofconsole_term_output): ... this. Update all users.
7128 * term/i386/pc/serial.c (grub_serial_term): Split into ...
7129 (grub_serial_term_input): ... this, and ...
7130 (grub_serial_term_output): ... this. Update all users.
7131 * term/i386/pc/console.c (grub_console_term): Split into ...
7132 (grub_console_term_input): ... this, and ...
7133 (grub_console_term_output): ... this. Update all users.
7134 (grub_console_term_input): Only enable it on PC/BIOS platform.
7135 (grub_console_init): Remove grub_keyboard_controller_init() call.
7136
7137 Migrate input terminals to new API:
7138
7139 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
7140 `i386' and `i386/pc' to enable build on x86_64 (this driver is
7141 i386-specific anyway).
7142 (grub_console_checkkey): Rename to ...
7143 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
7144 users.
7145 (grub_keyboard_controller_orig): New variable.
7146 (grub_console_getkey): Rename to ...
7147 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
7148 users.
7149 (grub_keyboard_controller_init): Static-ize. Save original
7150 controller value so that it can be restored ...
7151 (grub_keyboard_controller_fini): ... here (new function).
7152 (grub_at_keyboard_term): New structure.
7153 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
7154 functions.
7155
7156 Migrate output terminals to new API:
7157
7158 * term/i386/pc/vga.c (grub_vga_term): Change type to
7159 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7160 members. Update all users.
7161 * term/gfxterm.c (grub_video_term): Change type to
7162 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7163 members. Update all users.
7164 * include/grub/i386/pc/console.h (grub_console_checkkey)
7165 (grub_console_getkey): Do not export (no longer needed by gfxterm,
7166 etc).
7167
7168 Migrate `terminal' command and userland tools to new API:
7169
7170 * commands/terminal.c (grub_cmd_terminal): Split into ...
7171 (grub_cmd_terminal_input): ... this, and ...
7172 (grub_cmd_terminal_output): ... this.
7173 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
7174 `terminal_input' and `terminal_output'.
7175 * util/grub.d/00_header.in: Adjust `terminal' calls to new
7176 `terminal_input' / `terminal_output' API.
7177 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
7178 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
7179 provided ${GRUB_TERMINAL}, convert it).
7180
96e5d876 71812008-11-04 Robert Millan <rmh@aybabtu.com>
7182
7183 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
7184 for FreeBSD.
7185 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
7186
556f3775 71872008-11-03 Bean <bean123ch@gmail.com>
7188
7189 * kern/elf.c (grub_elf32_load): Revert to previous code.
7190 (grub_elf64_load): Likewise.
7191
7192 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
7193
926b9823 71942008-11-01 Robert Millan <rmh@aybabtu.com>
7195
7196 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
7197 (TARGET_CPPFLAGS): Likewise.
7198 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
7199
1432e958 72002008-11-01 Carles Pina i Estany <carles@pina.cat>
7201
7202 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
7203
dba3f844 72042008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 7205
7206 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
7207 addition of objects until the code is not going to be able to fail.
7208
dba3f844 72092008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 7210
7211 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
7212 (add a missing NULL check, and correct them by moving the pointer
7213 operations after the actual check).
7214
7ab28c21 72152008-10-29 Robert Millan <rmh@aybabtu.com>
7216
7217 * util/i386/pc/grub-install.in: Handle empty string as output from
7218 make_system_path_relative_to_its_root().
7219
1b7748eb 72202008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
7221
7222 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
7223 circular metadata worst case scenario. If the metadata is circular
7224 then copy the wrap in place.
7225 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
7226 project lib/format_text/layout.h
7227 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
7228
c9618ab2 72292008-10-03 Felix Zielcke <fzielcke@z-51.de>
7230
7a36edca 7231 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 7232
bf981c62 72332008-10-03 Felix Zielcke <fzielcke@z-51.de>
7234
7235 * util/update-grub_lib.in: Mention filename in warning message.
7236
6d994591 72372008-09-29 Felix Zielcke <fzielcke@z-51.de>
7238
7239 * NEWS: Update for rename of update-grub to grub-mkconfig.
7240
18ade780 72412008-09-29 Felix Zielcke <fzielcke@z-51.de>
7242
7243 * util/update-grub_lib.in: Copy to ...
7244 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 7245 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 7246 * util/update-grub.in: Rename to ...
7247 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
7248 option. Add `--output' option to allow users to specify the generated
7249 configuration file. Default to stdout.
7250 (update_grub_dir): Rename to ...
7251 (grub_mkconfig_dir): ... this.
7252 (grub_cfg): Default to an empty string.
7253 * conf/common.rmk (update-grub): Rename to ...
7254 (grub-mkconfig): ... this.
7255 (update-grub_lib): Copy to ...
7256 (grub-mkconfig_lib): ... this.
7257 (update-grub_SCRIPTS): Copy to ...
7258 (grub-mkconfig_SCRIPTS): ... this. Update all users.
7259 (update-grub_DATA): Rename to ...
7260 (grub-mkconfig_DATA): ... this.
7261
556ce6ac 72622008-09-28 Robert Millan <rmh@aybabtu.com>
7263
7264 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
7265 to `modified'. Add the real `created' field.
7266 (grub_iso9660_uuid): Use `modified' rather than `created' for
7267 constructing the UUID.
7268
72692008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 7270
7271 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
7272 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
7273
92274e85 72742008-09-28 Bean <bean123ch@gmail.com>
7275
7276 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
7277 Thanks to Christian Franke for finding this bug.
7278
add6f17a 72792008-09-25 Robert Millan <rmh@aybabtu.com>
7280
7281 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
7282 instances of grub_util_get_disk_name() (see previous commit).
7283
d2a367b8 72842008-09-25 Robert Millan <rmh@aybabtu.com>
7285
7286 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
7287 `util/i386/get_disk_name.c'.
7288 * conf/i386-efi.rmk: Likewise.
7289 * conf/x86_64-efi.rmk: Likewise.
7290 * conf/i386-coreboot.rmk: Likewise.
7291 * conf/i386-ieee1275.rmk: Likewise.
7292 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
7293 `util/ieee1275/get_disk_name.c'.
7294 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
7295 * util/ieee1275/get_disk_name.c: Remove file.
7296 * util/i386/get_disk_name.c: Remove file.
7297 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
7298 "hd%d" for device.map entries, rather than using
7299 grub_util_get_disk_name().
7300
81a06771 73012008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 7302
7303 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
7304 warning.
7305 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
7306
5a004279 73072008-09-24 Carles Pina i Estany <carles@pina.cat>
7308
7309 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
7310 Changed to 0x5100.
7311 (GRUB_TERM_PPAGE): Changed to 0x4900.
7312
397093d3 73132008-09-24 Robert Millan <rmh@aybabtu.com>
7314
7315 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
7316 macros (they were i386-pc specific).
7317 * include/grub/sparc64/ieee1275/console.h: Likewise.
7318 * include/grub/efi/console.h: Likewise.
7319
a91b6c7c 73202008-09-22 Bean <bean123ch@gmail.com>
7321
7322 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
7323 resident and in attribute list.
7324
7325 * include/grub/ntfs.h (BMP_LEN): Removed.
7326
c40fd116 73272008-09-22 Bean <bean123ch@gmail.com>
7328
81a06771 7329 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 7330 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
7331
7332 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
7333 error occurs, as grub_disk_open will call grub_disk_close, which will
7334 call p->close (scsi).
7335
81a06771 73362008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 7337
7338 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
7339 (AC_PREREQ): Bumped to 2.59.
7340 (AC_TRY_COMPILE): Replace obsolete macro with ...
7341 (AC_COMPILE_IFELSE): ... this.
7342 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
7343 (AC_LINK_IFELSE): ... this.
7344
5dc43410 73452008-09-21 Felix Zielcke <fzielcke@z-51.de>
7346
7347 * autogen.sh: Add a call to `gendistlist.sh'.
7348
9035dce4 73492008-09-19 Christian Franke <franke@computer.org>
7350
7351 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
7352 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
7353 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
7354 Export __enable_execute_stack() to modules.
7355 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
7356 New function.
7357
7fd75377 73582008-09-09 Felix Zielcke <fzielcke@z-51.de>
7359
040030b3 7360 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
7361 Sort the list.
7362
73632008-09-09 Felix Zielcke <fzielcke@z-51.de>
7364
7365 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 7366 #include <grub/util/hostdisk.h>.
7367
89d5ffcf 73682008-09-08 Robert Millan <rmh@aybabtu.com>
7369
7370 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
7371 segments when their filesz is zero (grub_file_read() interprets
81a06771 7372 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 7373 Use `lowest_segment' rather than 0 for calculating the current
7374 segment load address.
7375
40da438f 73762008-09-08 Robert Millan <rmh@aybabtu.com>
7377
7378 * util/hostdisk.c (open_device): Replace a grub_util_info() call
7379 with grub_dprintf("hostdisk", ...), as it was so verbose that it
7380 clobbered useful information.
7381
ddbf5556 73822008-09-08 Robert Millan <rmh@aybabtu.com>
7383
7384 * include/grub/util/biosdisk.h: Move to ...
7385 * include/grub/util/hostdisk.h: ... here. Update all users.
7386 * util/biosdisk.c: Move to ...
7387 * util/hostdisk.c: ... here. Update all users.
7388
783d0f48 73892008-09-07 Robert Millan <rmh@aybabtu.com>
7390
7391 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
7392 variables.
7393 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
7394 and length can be stored directly in the `mbi->mmap_addr' and
7395 `mbi->mmap_length' struct fields.
7396
548e2ea5 73972008-09-07 Robert Millan <rmh@aybabtu.com>
7398
7399 * conf/i386.rmk: New file. Provides declaration for building
7400 `cpuid.mod'.
7401 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
7402 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
7403 variables.
7404 Include `conf/i386.mk'.
7405 * conf/i386-efi.rmk: Likewise.
7406 * conf/x86_64-efi.rmk: Likewise.
7407 * conf/i386-coreboot.rmk: Likewise.
7408 * conf/i386-ieee1275.rmk: Likewise.
7409
0ea85a37 74102008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
7411
7412 Based on patch created by Colin D Bennett <colin@gibibit.com>.
7413 Adds optimization support for BGR based modes.
7414
7415 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
7416 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7417 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7418 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7419 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7420 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7421 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7422 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7423 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7424 (grub_video_i386_vbeblit_index_index): Likewise.
7425 (grub_video_i386_vbeblit_replace_directN): Added.
7426 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7427 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7428 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7429 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7430 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7431 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 7432 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 7433 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7434 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7435 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7436 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7437 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7438 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
7439
7440 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
7441 (grub_video_i386_vbefill_R8G8B8): Likewise.
7442 (grub_video_i386_vbefill_index): Likewise.
7443 (grub_video_i386_vbefill_direct32): Added.
7444 (grub_video_i386_vbefill_direct24): Likewise.
7445 (grub_video_i386_vbefill_direct16): Likewise.
7446 (grub_video_i386_vbefill_direct8): Likewise.
7447
81a06771 7448 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 7449 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
7450 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
7451 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
7452 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
7453 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 7454
0ea85a37 7455 * video/video.c (grub_video_get_blit_format): Updated to use new
7456 blit formats. Added handling for 16 bit color modes.
81a06771 7457
7458 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 7459 fillers.
7460 (common_blitter): Updated to use new blitters.
7461
7462 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
7463 Removed.
7464 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7465 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7466 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7467 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7468 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7469 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7471 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7472 (grub_video_i386_vbeblit_index_index): Likewise.
7473 (grub_video_i386_vbeblit_replace_directN): Added.
7474 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7475 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7476 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7477 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7478 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7479 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
7480 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
7481 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7482 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7483 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7484 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7485 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7486 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 7487
0ea85a37 7488 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
7489 (grub_video_i386_vbefill_R8G8B8): Likewise.
7490 (grub_video_i386_vbefill_index): Likewise.
7491 (grub_video_i386_vbefill_direct32): Added.
7492 (grub_video_i386_vbefill_direct24): Likewise.
7493 (grub_video_i386_vbefill_direct16): Likewise.
7494 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 7495
0ea85a37 7496 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
7497 types.
81a06771 7498
0ea85a37 7499 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
7500 types.
81a06771 7501
0ea85a37 7502 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
7503 blitter types.
81a06771 7504
0ea85a37 7505 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
7506 types.
7507
e8a83df6 75082008-09-06 Felix Zielcke <fzielcke@z-51.de>
7509
7510 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
7511 RAID level 1.
7512
6bcd8ee5 75132008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 7514
6bcd8ee5 7515 * fs/iso9660.c (grub_iso9660_date): New structure.
7516 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
7517 (grub_iso9660_uuid): New function.
c375ae58 7518
59261157 75192008-09-05 Bean <bean123ch@gmail.com>
7520
7521 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
7522
7523 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
7524 insensitive bit for names in Win32 and Win32 & DOS namespace.
7525
7526 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
7527
7528 * include/grub/types.h (LONG_MAX): Likewise.
7529
58b6645a 75302008-09-04 Felix Zielcke <fzielcke@z-51.de>
7531
4ee55921 7532 * util/getroot.c: Include <config.h>.
7533 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
7534 add support for /dev/md/N devices and handle LVM double dash escaping.
7535
75362008-09-04 Felix Zielcke <fzielcke@z-51.de>
7537
7538 * config.guess: Update to latest version from config git.
7539 * config.sub: Likewise.
58b6645a 7540
9124f65d 75412008-09-03 Robert Millan <rmh@aybabtu.com>
7542
7543 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
7544 `disk->total_sectors'.
7545
81a06771 75462008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 7547
7548 * include/grub/normal.h: Fixed incorrect comment for
7549 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
7550
81a06771 75512008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 7552
7553 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
7554 values with defines.
7555
7556 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
7557 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
7558 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
7559 (GRUB_VBE_MODEATTR_COLOR): Likewise.
7560 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
7561 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
7562 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
7563 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
7564 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
7565 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
7566 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
7567 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
7568 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
7569 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
7570 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
7571 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
7572 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
7573 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
7574 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
7575
93d5cbf8 75762008-08-31 Robert Millan <rmh@aybabtu.com>
7577
7578 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
7579 declaration.
7580 (grub_multiboot): Fix a few warnings.
7581
21751d50 75822008-08-31 Robert Millan <rmh@aybabtu.com>
7583
7584 * loader/i386/pc/multiboot.c: Update comment not to say that
7585 boot_device support is unimplemented.
7586
e27a75c5 75872008-08-31 Robert Millan <rmh@aybabtu.com>
7588
7589 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
7590 or memory map support are unimplemented.
7591
81a06771 75922008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 7593
7594 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
7595
81a06771 75962008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 7597
7598 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
7599 total video memory in 'vbeinfo' output; show color format details for
7600 each video mode.
7601
7c5d8d95 76022008-08-30 Pavel Roskin <proski@gnu.org>
7603
7604 * util/genmoddep.c: Remove for real this time.
7605 * DISTLIST: Remove util/genmoddep.c.
7606
4cebd25a 76072008-08-30 Robert Millan <rmh@aybabtu.com>
7608
7609 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
7610 as required by Multiboot spec (it was already 4-byte aligned, but
7611 only by chance).
7612
b497a269 76132008-08-29 Pavel Roskin <proski@gnu.org>
7614
e3925185 7615 * kern/powerpc/ieee1275/crt0.S: Rename to ...
7616 * kern/powerpc/ieee1275/startup.S: ... this.
7617 * conf/powerpc-ieee1275.rmk: Adjust for the above.
7618 * DISTLIST: Likewise.
7619
b497a269 7620 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
7621 grub/cpu/kernel.h. Add start label for consistency with other
7622 platforms. Add grub_prefix immediately after start. Add jump
7623 to the code after grub_prefix.
7624 * include/grub/powerpc/kernel.h: Provide valid values for
7625 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
7626
6e5a42fe 76272008-08-29 Bean <bean123ch@gmail.com>
7628
7629 * configure.ac: Change host_os to cygwin for mingw.
7630 (asprintf): New check for function.
7631
7632 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
7633 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
7634
7635 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 7636 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 7637 sync, sleep and grub_util_get_disk_size for mingw.
7638
7639 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
7640 to get size in mingw.
7641 (open_device): Use flag O_BINARY if it's defined.
7642 (find_root_device): Add dummy code for mingw.
7643
7644 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
7645 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
7646 (get_scsi_disk_name): Return 0 for mingw.
7647
7648 * util/hostfs.c: #include <grub/util/misc.h>.
7649 (grub_hostfs_open): Use "rb" flag to open file, use
7650 grub_util_get_disk_size to get disk size for mingw.
7651
7652 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
7653 (asprintf): New function if HAVE_ASPRINTF is not set.
7654 (sync): New function for mingw.
7655 (sleep): Likewise.
7656 (grub_util_get_disk_size): Likewise.
7657
ab3f2673 76582008-08-28 Pavel Roskin <proski@gnu.org>
7659
7660 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7661 kern/time.c.
7662
1c282483 76632008-08-28 Robert Millan <rmh@aybabtu.com>
7664
7665 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
7666
678e849c 76672008-08-28 Robert Millan <rmh@aybabtu.com>
7668
7669 Change find_grub_drive() syntax so it doesn't prevent it from
7670 detecting NULL names as errors.
7671
7672 * util/biosdisk.c (find_grub_drive): Move free slot search code
7673 from here ...
7674 (find_free_slot): ... to here.
7675 (read_device_map): Use find_free_slot() to search for free slots.
7676
965c75ca 76772008-08-27 Marco Gerards <marco@gnu.org>
7678
7679 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
7680 (scsi_mod_SOURCES): New variable.
7681 (scsi_mod_CFLAGS): Likewise
7682 (scsi_mod_LDFLAGS): Likewise.
7683
7684 * disk/scsi.c: New file.
7685
7686 * include/grub/scsi.h: Likewise.
7687
7688 * include/grub/scsicmd.h: Likewise.
7689
7690 * disk/ata.c: Include <grub/scsi.h>.
7691 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
7692 instead.
7693 (grub_ata_iterate): Skip ATAPI devices.
7694 (grub_ata_open): Only handle ATAPI devices.
7695 (struct grub_atapi_read): Removed.
7696 (grub_atapi_readsector): Likewise.
7697 (grub_ata_read): No longer handle ATAPI devices.
7698 (grub_ata_write): Likewise.
7699 (grub_atapi_iterate): New function.
7700 (grub_atapi_read): Likewise.
7701 (grub_atapi_write): Likewise.
7702 (grub_atapi_open): Likewise.
7703 (grub_atapi_close): Likewise.
7704 (grub_atapi_dev): New variable.
7705 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
7706 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
7707
7708 * include/grub/disk.h (enum grub_disk_dev_id): Add
7709 `GRUB_DISK_DEVICE_SCSI_ID'.
7710
c07ae501 77112008-08-26 Robert Millan <rmh@aybabtu.com>
7712
7713 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
7714 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
7715 descriptive.
7716
5ed20adc 77172008-08-23 Bean <bean123ch@gmail.com>
7718
7719 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
7720 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7721 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
7722 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
7723 dm_nv.mod.
7724 (raid5rec_mod_SOURCES): New macro.
7725 (raid5rec_mod_CFLAGS): Likewise.
7726 (raid5rec_mod_LDFLAGS): Likewise.
7727 (raid6rec_mod_SOURCES): Likewise.
7728 (raid6rec_mod_CFLAGS): Likewise.
7729 (raid6rec_mod_LDFLAGS): Likewise.
7730 (mdraid_mod_SOURCES): Likewise.
7731 (mdraid_mod_CFLAGS): Likewise.
7732 (mdraid_mod_LDFLAGS): Likewise.
7733 (dm_nv_mod_SOURCES): Likewise.
7734 (dm_nv_mod_CFLAGS): Likewise.
7735 (dm_nv_mod_LDFLAGS): Likewise.
7736
7737 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
7738 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7739 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7740
7741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
7742 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7743
7744 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7745
7746 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7747
7748 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7749
7750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7751
7752 * disk/raid5_recover.c: New file.
7753
7754 * disk/raid6_recover.c: Likewise.
7755
7756 * disk/mdraid_linux.c: Likewise.
7757
7758 * disk/dmraid_nvidia.c: Likewise.
7759
7760 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
7761 ULONG_MAX.
7762
7763 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
7764 calculate the size of raid device.
7765 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
7766 different layout of raid5.
7767 (grub_raid_scan_device): Remove code specific to mdraid.
7768 (grub_raid_list): New variable.
7769 (free_array): New function.
7770 (grub_raid_register): Likewise.
7771 (grub_raid_unregister): Likewise.
7772 (grub_raid_rescan): Likewise.
7773 (GRUB_MOD_INIT): Don't iterate device here.
7774 (GRUB_MOD_FINI): Use free_array to release resource.
7775
7776 * include/grub/raid.h: Remove macro and structure specific to mdraid.
7777 (grub_raid5_recover_func_t): New function variable type.
7778 (grub_raid6_recover_func_t): Likewise.
7779 (grub_raid5_recover_func): New variable.
7780 (grub_raid6_recover_func): Likewise.
7781 (grub_raid_register): New function.
7782 (grub_raid_unregister): Likewise.
7783 (grub_raid_rescan): Likewise.
7784 (grub_raid_block_xor): Likewise.
7785
7786 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
7787 (CMD_CRC): New macro.
7788 (part): Removed.
7789 (read_file): Handle device as well as file.
7790 (cmd_crc): New function.
7791 (fstest): Handle multiple disks.
7792 (options): Remove part, raw and long, add root and diskcount.
7793 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 7794 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 7795 add handling for the new options, support multiple disks.
7796
7797 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
7798
29c18915 77992008-08-23 Bean <bean123ch@gmail.com>
7800
7801 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
7802
7803 * genfslist.sh: Ignore kernel.mod.
7804
7805 * genpartmaplist.sh: Likewise.
7806
8415f261 78072008-08-23 Robert Millan <rmh@aybabtu.com>
7808
7809 * util/getroot.c (find_root_device): Skip anything that starts with
7810 a dot, not just directories. This avoids things like /dev/.tmp.md0.
7811
d5a7dc5b 78122008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 7813
d5a7dc5b 7814 * util/update-grub.in (GRUB_GFXMODE): Export variable.
7815 * util/grub.d/00_header.in: Allow the administrator to change default
7816 gfxmode via ${GRUB_GFXMODE}.
7817
380cfbb4 78182008-08-21 Felix Zielcke <fzielcke@z-51.de>
7819
7820 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
7821
c9baafe7 78222008-08-21 Robert Millan <rmh@aybabtu.com>
7823
7824 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
7825 loader.
7826 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
7827 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
7828
e290bef2 78292008-08-20 Carles Pina i Estany <carles@pina.cat>
7830
7831 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
7832 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
7833
f9dbfc96 78342008-08-19 Robert Millan <rmh@aybabtu.com>
7835
7836 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
7837 (struct grub_virtual_screen): Remove `cursor_color'.
7838 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
7839 initialization.
7840 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
7841
dd6bd6ab 78422008-08-18 Robert Millan <rmh@aybabtu.com>
7843
7844 Unify (identical) linux_normal.c files.
7845 * loader/i386/efi/linux_normal.c: Move from here ...
7846 * loader/linux_normal.c: ... to here. Update all users.
7847 * loader/i386/pc/linux_normal.c: Delete. Update all users.
7848 * loader/i386/ieee1275/linux_normal.c: Likewise.
7849
7f42f83e 78502008-08-18 Robert Millan <rmh@aybabtu.com>
7851
7852 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
7853 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
7854 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
7855 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
7856 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
7857 New macros.
7858 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
7859 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
7860 (GRUB_LINUX_CL_END_OFFSET): ... to here.
7861 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
7862 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
7863 (GRUB_EFI_CL_END_OFFSET): Rename to ...
7864 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
7865 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
7866 Initialize `params->video_cursor_x' and `params->video_cursor_y'
7867 portably using grub_getxy().
7868 Replace `-EFI' with `-bzImage' in boot message.
7869
38487ddb 78702008-08-17 Robert Millan <rmh@aybabtu.com>
7871
7872 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
7873
deceb3ec 78742008-08-17 Robert Millan <rmh@aybabtu.com>
7875
7876 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
7877
7878 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
7879 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
7880 (grub_machine_mmap_iterate): New function declaration.
7881 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
7882 structure.
7883 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
7884 macros.
7885
7886 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
7887 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
7888 Move e820 parsing from here ...
7889 * kern/i386/pc/mmap.c: New file.
7890 (grub_machine_mmap_iterate): ... to here.
7891
7892 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
7893 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
7894 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
7895 (grub_available_iterate): Redeclare to return `void', and redeclare
7896 its hook to use grub_uint64_t as addr and size parameters, and rename
7897 to ...
7898 (grub_machine_mmap_iterate): ... this. Update all users.
7899
7900 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
7901 to make it more readable. Rename to ...
7902 (grub_machine_mmap_iterate): ... this.
7903
7904 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
7905 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
7906 (grub_multiboot): Allocate an extra region after the payload, and fill
7907 it with a Multiboot memory map. Adjust a.out loader to calculate size
7908 with the extra space.
7909 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
7910 with the extra space.
7911
f8aa0f43 79122008-08-17 Carles Pina i Estany <carles@pina.cat>
7913
9807deb9 7914 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 7915
605f5bb6 79162008-08-17 Felix Zielcke <fzielcke@z-51.de>
7917
7918 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
7919 mdate-sh to the list `find' searches for.
7920 * DISTLIST: Regenerated.
7921
210db6c6 79222008-08-16 Felix Zielcke <fzielcke@z-51.de>
7923
7924 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
7925 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 7926 genmoddep.awk, gensymlist.sh.in.
7927 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 7928 * DISTLIST: Regenerated.
48cdbfd4 7929 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 7930
1082b929 79312008-08-16 Robert Millan <rmh@aybabtu.com>
7932
7933 * disk/raid.c (grub_raid_init): Handle/report errors set by
7934 grub_device_iterate().
7935 * disk/lvm.c (grub_lvm_init): Likewise.
7936
42ce5170 79372008-08-15 Bean <bean123ch@gmail.com>
7938
7939 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7940 and datehook.mod.
7941 (datetime_mod_SOURCES): New macro.
7942 (datetime_mod_CFLAGS): Likewise.
7943 (datetime_mod_LDFLAGS): Likewise.
7944 (date_mod_SOURCES): Likewise.
7945 (date_mod_CFLAGS): Likewise.
7946 (date_mod_LDFLAGS): Likewise.
7947 (datehook_mod_SOURCES): Likewise.
7948 (datehook_mod_CFLAGS): Likewise.
7949 (datehook_mod_LDFLAGS): Likewise.
7950
7951 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7952 and datehook.mod.
7953 (datetime_mod_SOURCES): New macro.
7954 (datetime_mod_CFLAGS): Likewise.
7955 (datetime_mod_LDFLAGS): Likewise.
7956 (date_mod_SOURCES): Likewise.
7957 (date_mod_CFLAGS): Likewise.
7958 (date_mod_LDFLAGS): Likewise.
7959 (datehook_mod_SOURCES): Likewise.
7960 (datehook_mod_CFLAGS): Likewise.
7961 (datehook_mod_LDFLAGS): Likewise.
7962
7963 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7964 and datehook.mod.
7965 (datetime_mod_SOURCES): New macro.
7966 (datetime_mod_CFLAGS): Likewise.
7967 (datetime_mod_LDFLAGS): Likewise.
7968 (date_mod_SOURCES): Likewise.
7969 (date_mod_CFLAGS): Likewise.
7970 (date_mod_LDFLAGS): Likewise.
7971 (datehook_mod_SOURCES): Likewise.
7972 (datehook_mod_CFLAGS): Likewise.
7973 (datehook_mod_LDFLAGS): Likewise.
7974
7975 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7976 and datehook.mod.
7977 (datetime_mod_SOURCES): New macro.
7978 (datetime_mod_CFLAGS): Likewise.
7979 (datetime_mod_LDFLAGS): Likewise.
7980 (date_mod_SOURCES): Likewise.
7981 (date_mod_CFLAGS): Likewise.
7982 (date_mod_LDFLAGS): Likewise.
7983 (datehook_mod_SOURCES): Likewise.
7984 (datehook_mod_CFLAGS): Likewise.
7985 (datehook_mod_LDFLAGS): Likewise.
7986
7987 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7988 and datehook.mod.
7989 (datetime_mod_SOURCES): New macro.
7990 (datetime_mod_CFLAGS): Likewise.
7991 (datetime_mod_LDFLAGS): Likewise.
7992 (date_mod_SOURCES): Likewise.
7993 (date_mod_CFLAGS): Likewise.
7994 (date_mod_LDFLAGS): Likewise.
7995 (datehook_mod_SOURCES): Likewise.
7996 (datehook_mod_CFLAGS): Likewise.
7997 (datehook_mod_LDFLAGS): Likewise.
7998
7999 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
8000
8001 * commands/date.c: New file.
8002
8003 * hook/datehook.c: Likewise.
8004
8005 * include/grub/lib/datetime.h: Likewise.
8006
8007 * include/grub/i386/cmos.h: Likewise.
8008
8009 * lib/datetime.c: Likewise.
8010
8011 * lib/i386/datetime.c: Likewise.
8012
8013 * lib/efi/datetime.c: Likewise.
8014
0e9242da 80152008-08-14 Robert Millan <rmh@aybabtu.com>
8016
8017 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
8018 (grub_mkelfimage_SOURCES): New variable.
8019 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
8020
8021 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
8022 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
8023 * conf/powerpc-ieee1275.rmk: Likewise.
8024 * conf/i386-ieee1275.rmk: Likewise.
8025
8026 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8027 * kern/i386/coreboot/init.c: Likewise.
8028
8029 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8030 with `<grub/cpu/kernel.h>'.
8031 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8032 to ...
8033 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8034 * kern/i386/coreboot/startup.S: Likewise.
8035
8036 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8037 (GRUB_MOD_GAP): Remove.
8038 * include/grub/powerpc/kernel.h: New file.
8039 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8040 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8041 * include/grub/i386/kernel.h: New file.
8042 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8043 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8044 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8045
8046 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8047 `grub-mkelfimage'.
8048 Use --directory when invoking grub_mkimage.
8049
8050 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8051 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8052 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8053 and GRUB_KERNEL_CPU_PREFIX.
8054
b86408f8 80552008-08-14 Felix Zielcke <fzielcke@z-51.de>
8056
d5e619ca 8057 * include/grub/err.h (grub_err_printf): New function prototype.
8058 * util/misc.c (grub_err_printf): New function.
8059 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8060 grub_printf.
8061 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 8062
7161f0e0 80632008-08-13 Robert Millan <rmh@aybabtu.com>
8064
8065 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8066
a1967522 80672008-08-13 Robert Millan <rmh@aybabtu.com>
8068
8069 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8070 boot entry.
8071
371458b5 80722008-08-12 Robert Millan <rmh@aybabtu.com>
8073
8074 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8075 of the relocation code from here ...
8076 (grub_multiboot): ... to here.
8077 (forward_relocator, backward_relocator): Move from here ...
8078 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8079 (grub_multiboot_backward_relocator): ... to here.
8080 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8081 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8082 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8083 (grub_multiboot_forward_relocator_end)
8084 (grub_multiboot_backward_relocator)
8085 (grub_multiboot_backward_relocator_end): New variables.
8086
05f9452b 80872008-08-12 Bean <bean123ch@gmail.com>
8088
8089 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8090
20024ab0 80912008-08-11 Robert Millan <rmh@aybabtu.com>
8092
8093 * kern/i386/linuxbios/startup.S: Move from here ...
8094 * kern/i386/coreboot/startup.S: ... to here.
8095
8096 * kern/i386/linuxbios/init.c: Move from here ...
8097 * kern/i386/coreboot/init.c: ... to here.
8098
8099 * kern/i386/linuxbios/table.c: Move from here ...
8100 * kern/i386/coreboot/mmap.c: ... to here.
8101
8102 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
8103
e352e9cd 81042008-08-11 Robert Millan <rmh@aybabtu.com>
8105
8106 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
8107 errors. Leave it to the upper layer to handle them.
8108
2d05bc6a 81092008-08-09 Christian Franke <franke@computer.org>
8110
8111 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
8112 * conf/common.rmk: Install `grub-pe2elf' only if requested.
8113 Install `grub.d/10_windows' only on Cygwin.
8114 * configure.ac: Add subst of `target_os'.
8115 Check `target_os' also before setting TARGET_OBJ2ELF.
8116 Add `--enable-grub-pe2elf'.
8117
042bd419 81182008-08-08 Robert Millan <rmh@aybabtu.com>
8119
8120 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8121 (grub_last_time): Change type to grub_uint64_t.
8122 (grub_disk_open): Migrate code from to using grub_get_time_ms().
8123 (grub_disk_close): Likewise.
8124
8125 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8126 (run_menu): Migrate code from to using grub_get_time_ms().
8127
8128 * util/misc.c (grub_get_time_ms): New function.
8129
7f280db5 81302008-08-08 Marco Gerards <marco@gnu.org>
8131
8132 * disk/ata.c (grub_ata_regget): Change return type to
8133 `grub_uint8_t'.
8134 (grub_ata_regget2): Likewise.
8135 (grub_ata_wait_status): New function.
8136 (grub_ata_wait_busy): Removed function, updated all users to use
8137 `grub_ata_wait_status'.
8138 (grub_ata_wait_drq): Likewise.
8139 (grub_ata_cmd): New function.
8140 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
8141 error handling.
8142 (grub_ata_pio_write): Add error handling.
8143 (grub_atapi_identify): Likewise.
8144 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
8145 handling.
8146 (grub_ata_identify): Use `grub_ata_cmd' and improve error
8147 handling. Actually use the detected registers. Reorder the
8148 detection logic such that it is easier to read.
8149 (grub_ata_pciinit): Do not assign the same ID to each controller.
8150 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
8151 handling.
8152 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
8153
8154 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
8155
1fbc5e66 81562008-08-08 Marco Gerards <marco@gnu.org>
8157
8158 * NEWS: Update.
8159
819ce6c0 81602008-08-07 Bean <bean123ch@gmail.com>
8161
8162 * include/grub/x86_64/pci.h: New file.
8163
5c41d44d 81642008-08-07 Christian Franke <franke@computer.org>
8165
8166 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
8167 (TIMER2_GATE): Likewise.
8168 (grub_pit_wait): Add enable/disable of the timer2 gate
8169 bit of port 0x61. This fixes a possible infinite loop.
8170
5ebc275d 81712008-08-07 Bean <bean123ch@gmail.com>
8172
8173 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
8174 kern/i386/tsc.c and kern/i386/pit.c.
8175
8176 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
8177 x86_64 platform.
8178
8179 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
8180 <grub/i386/tsc.h>.
8181
8182 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
8183
e383b3d0 81842008-08-07 Bean <bean123ch@gmail.com>
8185
8186 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
8187
8188 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
8189
8190 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
8191 multiple inclusion. Add #include <grub/types.h>.
8192
1cbb58ac 81932008-08-06 Christian Franke <franke@computer.org>
8194
8195 * conf/common.rmk: Build and install `10_windows'.
8196 * util/grub.d/10_windows.in: New script.
8197
337f5a1e 81982008-08-06 Pavel Roskin <proski@gnu.org>
8199
8200 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
8201
057bc4ac 82022008-08-06 Robert Millan <rmh@aybabtu.com>
8203
8204 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
8205 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
8206
2b99f123 82072008-08-06 Bean <bean123ch@gmail.com>
8208
8209 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
8210 (grub_pxefs_fs_int): Remove dummy definition.
8211 (grub_pxefs_open): Use data->block_size to store the current block
8212 size setting.
8213 (grub_pxefs_read): Use block size stored in data->block_size. As the
8214 value of grub_pxe_blksize can be changed after the file is opened.
8215
9f0234cb 82162008-08-06 Bean <bean123ch@gmail.com>
8217
8218 * fs/i386/pc/pxe.c (curr_file): new variable.
8219 (grub_pxefs_open): Simply the handling of pxe file system. Don't
8220 require the dummy internal file system anymore.
8221 (grub_pxefs_read): Removed.
8222 (grub_pxefs_close): Likewise.
8223 (grub_pxefs_fs_int): Likewise.
8224 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
8225 connection when we switch file.
8226 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
8227
a55d42e0 82282008-08-06 Robert Millan <rmh@aybabtu.com>
8229
8230 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
8231 `halt.mod'.
8232 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
8233 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
8234
8235 * kern/i386/halt.c: New file.
8236 * kern/i386/reboot.c: Likewise.
8237 * include/grub/i386/reboot.h: Likewise.
8238 * include/grub/i386/halt.h: Likewise.
8239
8240 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
8241 Include `<grub/cpu/halt.h>'.
8242 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
8243 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
8244
8245 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
8246 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
8247 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
8248 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
8249 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
8250 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
8251 from here ...
8252 * include/grub/i386/at_keyboard.h: ... to here.
8253
24371d26 82542008-08-05 Robert Millan <rmh@aybabtu.com>
8255
8256 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
8257 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
8258 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
8259 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8260 `kern/generic/millisleep.c'.
8261
8262 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
8263 instead of grub_get_rtc().
8264 (grub_tsc_init): Initialize `tsc_boot_time'.
8265
8266 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
8267 (grub_machine_init): Use grub_tsc_init() rather than
8268 installing an RTC-based handler via grub_install_get_time_ms().
8269
8270 * kern/i386/pit.c: New file.
8271 * include/grub/i386/pit.h: Likewise.
8272
9e7007b3 82732008-08-05 Bean <bean123ch@gmail.com>
8274
8275 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
8276
8277 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
8278 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
8279 (pxe_mod_SOURCES): New macro.
8280 (pxe_mod_CFLAGS): Likewise.
8281 (pxe_mod_LDFLAGS): Likewise.
8282 (pxecmd_mod_SOURCES): Likewise.
8283 (pxecmd_mod_CFLAGS): Likewise.
8284 (pxecmd_mod_LDFLAGS): Likewise.
8285
8286 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
8287 (grub_pxe_call): Likewise.
8288
8289 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
8290
8291 * commands/i386/pc/pxecmd.c: New file.
8292
9f0234cb 8293 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 8294
8295 * include/grub/i386/pc/pxe.h: Likewise.
8296
6977d49f 82972008-08-05 Bean <bean123ch@gmail.com>
8298
8299 * util/console.c (grub_console_cur_color): New variable.
8300 (grub_console_standard_color): Likewise.
8301 (grub_console_normal_color): Likewise.
8302 (grub_console_highlight_color): Likewise.
8303 (color_map): Likewise.
8304 (use_color): Likewise.
8305 (NUM_COLORS): New macro.
8306 (grub_ncurses_setcolorstate): Handle color properly.
8307 (grub_ncurses_setcolor): Don't change color here, just remember the
8308 settings, color will be set in grub_ncurses_setcolorstate.
8309 (grub_ncurses_getcolor): New function.
8310 (grub_ncurses_init): Initialize color pairs.
8311 (grub_ncurses_term): New member grub_ncurses_getcolor.
8312
9c2ff3ee 83132008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 8314
9c2ff3ee 8315 High resolution timer support. Implemented for x86 CPUs using TSC.
8316 Extracted generic grub_millisleep() so it's linked in only as needed.
8317 This requires a Pentium compatible CPU; if the RDTSC instruction is
8318 not supported, then it falls back on the generic grub_get_time_ms()
8319 implementation that uses the machine's RTC.
8320
8321 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
8322 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8323 `kern/generic/millisleep.c'.
8324
8325 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
8326 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
8327
8328 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
8329 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
8330
8331 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8332
8333 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8334 `kern/generic/millisleep.c'.
8335
8336 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8337
8338 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
8339
8340 * kern/generic/rtc_get_time_ms.c: New file.
8341
8342 * kern/generic/millisleep.c: New file.
337f5a1e 8343
9c2ff3ee 8344 * kern/misc.c: Don't include
8345 <kern/time.h> anymore.
8346 (grub_millisleep_generic): Removed.
8347
8348 * commands/sleep.c (grub_interruptible_millisleep): Uses
8349 grub_get_time_ms() instead of grub_get_rtc().
8350
8351 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
8352 function.
8353 (grub_cpu_is_cpuid_supported): New inline function.
8354 (grub_cpu_is_tsc_supported): New inline function.
8355 (grub_tsc_init): New function prototype.
8356 (grub_tsc_get_time_ms): New function prototype.
8357
8358 * kern/i386/tsc.c (grub_get_time_ms): New file.
8359
8360 * include/grub/time.h: Include <grub/types.h.
8361 (grub_millisleep_generic): Removed.
8362 (grub_get_time_ms): New prototype.
8363 (grub_install_get_time_ms): New prototype.
8364 (grub_rtc_get_time_ms): New prototype.
8365
8366 * kern/time.c (grub_get_time_ms): New function.
8367 (grub_install_get_time_ms): New function.
8368
8369 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
8370 <grub/time.h> anymore.
8371 (grub_millisleep): Removed.
8372 (grub_machine_init): Call grub_tsc_init.
8373
8374 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
8375 get_time_ms() implementation.
8376
8377 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
8378 (ieee1275_get_time_ms): New function.
8379 (grub_machine_init): Install get_time_ms() implementation.
8380
8381 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
8382 (grub_machine_init): Call grub_tsc_init().
8383 (grub_millisleep): Removed.
bf06a93f 8384
9c2ff3ee 8385 * kern/ieee1275/init.c (grub_millisleep): Removed.
8386 (grub_machine_init): Install ieee1275_get_time_ms()
8387 implementation.
8388 (ieee1275_get_time_ms): New function.
8389 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
8390 real work.
8391
9ec92aaf 83922008-08-05 Marco Gerards <marco@gnu.org>
8393
8394 * disk/ata.c: Include <grub/pci.h>.
8395 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
8396 (grub_ata_initialize): Rewritten.
8397 (grub_ata_device_initialize): New function.
8398
8d23f507 83992008-08-04 Pavel Roskin <proski@gnu.org>
8400
8401 * kern/main.c: Include grub/mm.h.
8402
5e15ee3d 84032008-08-04 Robert Millan <rmh@aybabtu.com>
8404
8405 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
8406 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
8407 corruption problem).
8408
a9053f8f 84092008-08-04 Robert Millan <rmh@aybabtu.com>
8410
8411 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
8412 warnings introduced in my last commit.
8413
dd19c7d7 84142008-08-03 Robert Millan <rmh@aybabtu.com>
8415
8416 Make PCI available on all i386 architectures.
8417
8418 * include/grub/i386/pc/pci.h: Move from here ...
8419 * include/grub/i386/pci.h: ... to here.
8420
8421 * include/grub/i386/pc/pci.h: Remove.
8422 * include/grub/i386/efi/pci.h: Remove.
8423 * include/grub/x86_64/efi/pci.h: Remove.
8424
8425 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
8426 `<grub/cpu/pci.h>'.
8427
8428 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
8429 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
8430 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
8431
8432 * conf/i386-ieee1275.rmk: Likewise.
8433
e14a6184 84342008-08-03 Robert Millan <rmh@aybabtu.com>
8435
8436 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
8437 (grub_console_setcursor): Make it possible to set cursor off.
8438
52768e37 84392008-08-03 Robert Millan <rmh@aybabtu.com>
8440
8441 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
8442 of modules instead of assuming which platform provides what.
8443 * util/update-grub.in: Likewise.
8444
2d52f57f 84452008-08-03 Robert Millan <rmh@aybabtu.com>
8446
8447 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
8448 instead of `grub_install_dos_part' to determine whether a drive needs
8449 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 8450 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 8451
2a5cd121 84522008-08-02 Robert Millan <rmh@aybabtu.com>
8453
8454 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
8455
93808428 84562008-08-02 Robert Millan <rmh@aybabtu.com>
8457
8458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
8459 of informational grub_dprintf() calls.
8460
3bd0a12a 84612008-08-02 Robert Millan <rmh@aybabtu.com>
8462
8463 * disk/memdisk.c (memdisk_size): Don't initialize.
8464 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
8465
8466 * include/grub/i386/pc/kernel.h
8467 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
8468 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
8469 (grub_memdisk_image_size, grub_arch_memdisk_addr)
8470 (grub_arch_memdisk_size): Remove.
8471
8472 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
8473 field (was only used to transfer a constant). Add `type' field to
8474 support multiple module types.
8475 (grub_module_iterate): New function.
8476
8477 * kern/device.c (grub_device_open): Do not hide error messages
8478 when grub_disk_open() fails. Use grub_print_error() instead.
8479
8480 * kern/i386/pc/init.c (grub_arch_modules_addr)
8481 (grub_arch_memdisk_size): Remove functions.
8482 (grub_arch_modules_addr): Return the module address in high memory
8483 (now that it isn't copied anymore).
8484
8485 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
8486 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
8487 decompression routine (grub_total_module_size already includes that
8488 now). Don't copy modules back to low memory.
8489
8490 * kern/main.c: Include `<grub/mm.h>'.
8491 (grub_load_modules): Split out (and use) ...
8492 (grub_module_iterate): ... this function, which iterates through
8493 module objects and runs a hook.
8494 Comment out grub_mm_init_region() call, as it would cause non-ELF
8495 modules to be overwritten.
8496
8497 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
8498 the memdisk image in its own region, make it part of the module list.
8499 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
8500 (main): Parse --memdisk|-m option, and pass user-provided path as
8501 parameter to generate_image().
8502 (add_segments): Pass `memdisk_path' down to load_modules().
8503 (load_modules): Embed memdisk image in module section when requested.
8504 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
8505 `header.type' instead of `header.offset'.
8506
8507 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
8508 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
8509 (memdisk_mod_LDFLAGS): New variables.
8510 * conf/i386-coreboot.rmk: Likewise.
8511 * conf/i386-ieee1275.rmk: Likewise.
8512
a927cc73 85132008-08-02 Robert Millan <rmh@aybabtu.com>
8514
8515 * loader/i386/pc/multiboot.c (playground, forward_relocator)
8516 (backward_relocator): New variables. Used to allocate and relocate
8517 the payload, respectively.
8518 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 8519 address, install the appropriate relocator code in each bound of
a927cc73 8520 the payload, and set the entry point such that
8521 grub_multiboot_real_boot() will jump to one of them.
8522
8523 * kern/i386/loader.S (grub_multiboot_payload_size)
8524 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8525 (grub_multiboot_payload_entry_offset): New variables.
8526 (grub_multiboot_real_boot): Set cpu context to what the relocator
8527 expects, and jump to the relocator instead of the payload.
8528
8529 * include/grub/i386/loader.h (grub_multiboot_payload_size)
8530 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8531 (grub_multiboot_payload_entry_offset): Export.
8532
b15d8a0c 85332008-08-01 Bean <bean123ch@gmail.com>
8534
8535 * normal/menu_entry.c (editor_getline): Don't return the original
8536 string as result, as it will be released by lexer once it has done
8537 using it.
8538
cdfb3d22 85392008-08-01 Robert Millan <rmh@aybabtu.com>
8540
8541 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
8542 within menuentries, not before them.
8543 util/grub.d/10_hurd.in: Likewise.
8544
9175e93d 85452008-08-01 Bean <bean123ch@gmail.com>
8546
8547 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
8548 (bufio_mod_SOURCES): New macro.
8549 (bufio_mod_CFLAGS): Likewise.
8550 (bufio_mod_LDFLAGS): Likewise.
8551
8552 * include/grub/bufio.h: New file.
8553
8554 * io/bufio.c: Likewise.
8555
8556 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
8557 (grub_video_reader_png): Use grub_buffile_open to open file.
8558
8559 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
8560 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
8561
8562 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
8563 (grub_video_reader_tga): Use grub_buffile_open to open file.
8564
8565 * font/manager.c: Include <grub/bufio.h>.
8566 (add_font): Use grub_buffile_open to open file.
8567
3d8383e7 85682008-07-31 Robert Millan <rmh@aybabtu.com>
8569
8570 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
8571 ELF segments, use a macro for arbitrarily accessing any of them instead
8572 of preparing a pointer that allows access to one at a time.
8573 (grub_multiboot_load_elf64): Likewise.
8574
16e641b6 85752008-07-31 Bean <bean123ch@gmail.com>
8576
8577 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
8578 GRUB_KERNEL_MACHINE_DATA_END.
8579
59198b72 85802008-07-30 Robert Millan <rmh@aybabtu.com>
8581
8582 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
8583 Increase from 0x50 to 0x60.
8584 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
8585 use UUIDs to identify the root drive for them. If that's not
8586 possible, abort.
8587 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
8588 check, for cross-disk installs.
8589
ae88bca3 85902008-07-30 Robert Millan <rmh@aybabtu.com>
8591
8592 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
8593 is non-empty, use it to set the `prefix' environment variable instead
8594 of the usual approach.
8595 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
8596 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
8597 environment variable instead of dummy make_install_device().
8598
8599 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
8600 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 8601 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 8602
8603 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
8604 New variable reference.
8605 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
8606 New macro. Defines offset of `grub_prefix' within startup.S (relative
8607 to `start').
8608 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
8609 section within startup.S (relative to `start').
8610 * include/grub/i386/coreboot/kernel.h: Likewise.
8611
8612 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
8613 Overwrite grub_prefix with its contents, at the beginning of the
8614 first segment.
8615 (main): Understand -p|--prefix.
8616
14f41dd1 86172008-07-30 Robert Millan <rmh@aybabtu.com>
8618
8619 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
8620
4ca049a3 86212008-07-30 Robert Millan <rmh@aybabtu.com>
8622
8623 * term/i386/pc/vga_text.c (grub_console_cls): Use
8624 grub_console_gotoxy() to go back to beginning of the screen.
8625 Found by Patrick Georgi <patrick.georgi@coresystems.de>
8626
2921d337 86272008-07-29 Christian Franke <franke@computer.org>
8628
8629 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
8630 Add conversion of emulated mount points on Cygwin.
8631
b609876d 86322008-07-29 Christian Franke <franke@computer.org>
8633
8634 * util/update-grub.in: Add a check for admin
8635 group on Cygwin.
8636 Remove old `grub.cfg.new' before creation.
8637 Add `-f' to `mv' to handle the different filesystem
8638 semantics of Windows.
8639
e93e4679 86402008-07-29 Bean <bean123ch@gmail.com>
8641
8642 * normal/main.c (get_line): Fix buffer overflow bug.
8643
41694fd0 86442008-07-28 Robert Millan <rmh@aybabtu.com>
8645
8646 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
8647 (struct grub_apple_header): New struct. Describes the layout of
8648 the partmap header.
8649 (apple_partition_map_iterate): Check the header magic as well as the
8650 partition magic (which was already being checked).
8651
cfd0b4e6 86522008-07-28 Pavel Roskin <proski@gnu.org>
8653
8654 * genmk.rb: Add a warning to the beginning of the output that
8655 it's a generated file and should not be edited.
8656
93cce016 86572008-07-28 Robert Millan <rmh@aybabtu.com>
8658
8659 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8660 with the same number are found, just use issue a warning with
8661 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 8662
cd1df915 86632008-07-27 Robert Millan <rmh@aybabtu.com>
8664
8665 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
8666 information.
8667
b70a8427 86682008-07-27 Bean <bean123ch@gmail.com>
8669
8670 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
8671 (grub_fat_find_dir): Ignore case when comparing filename.
8672
8f5e379f 86732008-07-27 Bean <bean123ch@gmail.com>
8674
8675 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
8676 smallino, as it's more descriptive, and i8count can be confused with
8677 the other field count.
8678 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
8679 inode type.
8680
a85cd5a0 86812008-07-27 Bean <bean123ch@gmail.com>
8682
8683 * commands/crc.c: New file.
8684
8685 * lib/crc.c: Likewise.
8686
8687 * include/grub/lib/crc.h: Likewise.
8688
8689 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
8690
8691 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
8692 (hexdump): Move this function to ...
8693
8694 * lib/hexdump.c: ... here.
8695
8696 * include/grub/hexdump.h: Renamed to ...
8697
8698 * include/grub/lib/hexdump.h: ... this.
8699
8700 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
8701
8702 * util/grub-editenv.c: Likewise.
8703
8704 * include/envblk.h: Renamed to ...
8705
8706 * include/lib/envblk.h: ... this.
8707
8708 * util/envblk.c: Renamed to ...
8709
8710 * lib/envblk.c: ... this.
8711
8712 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
8713 lib/hexdump.c.
8714 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
8715 (pkglib_MODULES): Add crc.mod.
8716 (hexdump_mod_SOURCES): Add lib/hexdump.c.
8717 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
8718 (crc_mod_SOURCES): New macro.
8719 (crc_mod_CFLAGS): Likewise.
8720 (crc_mod_LDFLAGS): Likewise.
8721
8722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
8723
8724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8725
8726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8727
8728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8729
8730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8731
c298def0 87322008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 8733
8734 * commands/help.c: Include <grub/term.h>.
8735 (TERM_WIDTH): Removed. Updated all users.
8736
cc349fb3 87372008-07-27 Pavel Roskin <proski@gnu.org>
8738
8739 * util/getroot.c (find_root_device): Rephrase a comment to avoid
8740 spurious warnings about a comment within a comment.
8741
9051607e 87422008-07-25 Robert Millan <rmh@aybabtu.com>
8743
8744 * util/getroot.c (find_root_device): Skip devices that match
8745 /dev/dm-[0-9]. This lets the real device be found for any type of
8746 abstraction (LVM, EVMS, RAID..).
8747 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
8748 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
8749 device is found first, find_root_device() will now skip it.
8750
01453bfc 87512008-07-24 Pavel Roskin <proski@gnu.org>
8752
8753 * include/grub/types.h: Use __builtin_bswap32() and
8754 __builtin_bswap64() with gcc 4.3 and newer.
8755
6af9849f 87562008-07-24 Christian Franke <franke@computer.org>
8757
3a0fa256 8758 * util/i386/pc/grub-install.in: If `--debug' is specified,
8759 pass `--verbose' to grub-setup.
8760 Abort script if make_system_path_relative_to_its_root() fails.
8761
7810e747 87622008-07-24 Bean <bean123ch@gmail.com>
8763
8764 * configure.ac: Fixed a bug caused by the previous cygwin patch,
8765 variable `target_platform' should be `platform'.
8766
42290e17 87672008-07-24 Bean <bean123ch@gmail.com>
8768
51cc5193 8769 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 8770 (grub_png_init_fixed_block): New function.
8771 (grub_png_decode_image_data): Handle fixed huffman code compression.
8772
2a8a80e4 87732008-07-24 Bean <bean123ch@gmail.com>
8774
8775 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
8776 (grub_pe2elf_SOURCES): New macro.
8777 (CLEANFILES): Add grub-pe2elf.
8778
8779 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
8780 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
8781 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
8782 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
8783 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
8784 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
8785 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
8786 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
8787 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
8788 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
8789 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
8790 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
8791 (GRUB_PE32_DT_FUNCTION): Likewise.
8792 (GRUB_PE32_REL_I386_DIR32): Likewise.
8793 (GRUB_PE32_REL_I386_REL32): Likewise.
8794 (grub_pe32_symbol): New structure.
8795 (grub_pe32_reloc): Likewise.
8796
8797 * util/grub-pe2elf.c: New file.
8798
8799 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
8800 start symbol in non pc platform.
8801
8802 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
8803
8804 The following patches are from Christian Franke.
8805
8806 * include/grub/dl.h: Remove .previous, gas supports this only
8807 for ELF format.
8808
8809 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
8810 Remove .type, gas supports this only for ELF format.
8811
8812 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
8813 nullbytes in symbol table. This fixes an infinite loop if table is
8814 zero filled.
8815
8816 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
8817 TARGET_IMG_LDFLAGS and EXEEXT.
8818
8819 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
8820 TARGET_IMG_LDFLAGS_AC.
8821 (grub_CHECK_STACK_ARG_PROBE): New function.
8822
8823 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
8824
8825 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
8826
8827 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
8828 to set TARGET_IMG_LD* accordingly.
8829 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
8830 Add call to grub_CHECK_STACK_ARG_PROBE.
8831 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
8832
8833 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
8834
8835 * genmk.rb: Add EXEEXT to CLEANFILES.
8836
12ccdb75 88372008-07-23 Robert Millan <rmh@aybabtu.com>
8838
8839 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
8840 define the codes for arrows and lines used for the menu).
8841 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
8842 as well.
8843
8844 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
8845 fonts, because the latter are too slow.
8846
18eeaf04 88472008-07-21 Bean <bean123ch@gmail.com>
8848
8849 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
8850 a20. Run keyboard test last, as it will cause macbook to halt.
8851
b095e2ad 88522008-07-18 Pavel Roskin <proski@gnu.org>
8853
8854 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
8855 load foreign architecture modules correctly anyway. Keep
8856 support for loading host architecture modules, whether we
8857 compile them or not.
8858
737feb35 88592008-07-17 Pavel Roskin <proski@gnu.org>
8860
3f4ce737 8861 * configure.ac: Use -m32 or -m64 regardless of whether we had to
8862 change target_cpu. The compiler default can mismatch target_cpu
8863 in any case.
8864
4ad2d049 8865 * disk/efi/efidisk.c: Fix format warnings on x86_64.
8866 * kern/efi/efi.c: Likewise.
8867
f6130a12 8868 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
8869 target compiler is functional.
8870 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
8871 are set up.
8872
58393a2d 8873 * configure.ac: Default to efi platform for x86_64-apple. Allow
8874 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
8875 adjustments from the rest, only do them if target is not
8876 explicitly given. Merge other adjustments with the final sanity
8877 check. Remove an extraneous check for supported CPU. Be
8878 specific which CPU and which platform is not supported.
8879
737feb35 8880 * configure.ac: Default to pc platform for x86_64.
8881
546f966a 88822008-07-17 Robert Millan <rmh@aybabtu.com>
8883
8884 Partial LinuxBIOS -> Coreboot rename.
8885
8886 * conf/i386-linuxbios.rmk: Renamed to ...
8887 * conf/i386-coreboot.rmk: ... this.
8888 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
8889 * configure.ac: Accept "coreboot" as input platform (but maintain
8890 compatibility with "linuxbios").
8891 * include/grub/i386/linuxbios: Renamed to ...
8892 * include/grub/i386/coreboot: ... this.
8893
20011694 88942008-07-17 Bean <bean123ch@gmail.com>
8895
8896 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 8897 (appleldr_mod_SOURCE): New variable.
20011694 8898 (appleldr_mod_CFLAGS): Likewise.
8899 (appleldr_mod_LDFLAGS): Likewise.
8900 (pci_mod_SOURCES): Likewise.
8901 (pci_mod_CFLAGS): Likewise.
8902 (pci_mod_LDFLAGS): Likewise.
8903 (lspci_mod_SOURCES): Likewise.
8904 (lspci_mod_CFLAGS): Likewise.
8905 (lspci_mod_LDFLAGS): Likewise.
8906
8907 * conf/x86_64-efi.rmk: New file.
8908
8909 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
8910 macro.
8911 (grub_efidisk_write): Likewise.
8912
8913 * include/efi/api.h (efi_call_0): New macro.
8914 (efi_call_1): Likewise.
8915 (efi_call_2): Likewise.
8916 (efi_call_3): Likewise.
8917 (efi_call_4): Likewise.
8918 (efi_call_5): Likewise.
8919 (efi_call_6): Likewise.
8920
8921 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
8922 grub_rescue_cmd_chainloader.
8923
8924 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
8925 (grub_pe32_optional_header): Change some fields based on i386 or
8926 x86_64 platform.
8927 (GRUB_PE32_PE32_MAGIC): Likewise.
8928
8929 * include/grub/efi/uga_draw.h: New file.
8930
8931 * include/grub/elf.h (STN_ABS): New constant.
8932 (R_X86_64_NONE): Relocation constant for x86_64.
8933 (R_X86_64_64): Likewise.
8934 (R_X86_64_PC32): Likewise.
8935 (R_X86_64_GOT32): Likewise.
8936 (R_X86_64_PLT32): Likewise.
8937 (R_X86_64_COPY): Likewise.
8938 (R_X86_64_GLOB_DAT): Likewise.
8939 (R_X86_64_JUMP_SLOT): Likewise.
8940 (R_X86_64_RELATIVE): Likewise.
8941 (R_X86_64_GOTPCREL): Likewise.
8942 (R_X86_64_32): Likewise.
8943 (R_X86_64_32S): Likewise.
8944 (R_X86_64_16): Likewise.
8945 (R_X86_64_PC16): Likewise.
8946 (R_X86_64_8): Likewise.
8947 (R_X86_64_PC8): Likewise.
8948
8949 * include/grub/i386/efi/pci.h: New file.
8950
8951 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
8952 Change it value based on platform.
8953 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
8954 (GRUB_E820_RAM): Likewise.
8955 (GRUB_E820_RESERVED): Likewise.
8956 (GRUB_E820_ACPI): Likewise.
8957 (GRUB_E820_NVS): Likewise.
8958 (GRUB_E820_EXEC_CODE): Likewise.
8959 (GRUB_E820_MAX_ENTRY): Likewise.
8960 (grub_e820_mmap): New structure.
8961 (linux_kernel_header): Change the efi field according to different
8962 kernel version, also field from linux_kernel_header.
8963
8964 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
8965
8966 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
8967 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
8968 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
8969 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
8970 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
8971 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
8972 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
8973 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
8974 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
8975 (GRUB_PCI_ADDR_IO_MASK): Likewise.
8976
8977 * include/grub/x86_64/efi/kernel.h: New file.
8978
8979 * include/grub/x86_64/efi/loader.h: Likewise.
8980
8981 * include/grub/x86_64/efi/machine.h: Likewise.
8982
8983 * include/grub/x86_64/efi/pci.h: Likewise.
8984
8985 * include/grub/x86_64/efi/time.h: Likewise.
8986
8987 * include/grub/x86_64/linux.h: Likewise.
8988
8989 * include/grub/x86_64/setjmp.h: Likewise.
8990
8991 * include/grub/x86_64/time.h: Likewise.
8992
8993 * include/grub/x86_64/types.h: Likewise.
8994
8995 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
8996 GRUB_TARGET_SIZEOF_VOID_P.
8997
8998 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
8999 (grub_efi_locate_handle): Likewise.
9000 (grub_efi_open_protocol): Likewise.
9001 (grub_efi_set_text_mode): Likewise.
9002 (grub_efi_stall): Likewise.
9003 (grub_exit): Likewise.
9004 (grub_reboot): Likewise.
9005 (grub_halt): Likewise.
9006 (grub_efi_exit_boot_services): Likewise.
9007 (grub_get_rtc): Likewise.
9008
9009 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
9010 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
9011 (grub_efi_allocate_pages): Wrap efi calls.
9012 (grub_efi_free_pages): Wrap efi calls.
9013 (grub_efi_get_memory_map): Wrap efi calls.
9014
9015 * kern/x86_64/dl.c: New file.
9016
9017 * kern/x86_64/efi/callwrap.S: Likewise.
9018
9019 * kern/x86_64/efi/startup.S: Likewise.
9020
9021 * loader/efi/appleloader.c: Likewise.
9022
9023 * loader/efi/chainloader.c (cmdline): New variable.
9024 (grub_chainloader_unload): Wrap efi calls.
9025 (grub_chainloader_boot): Likewise.
9026 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9027 command line.
9028
9029 * loader/efi/chainloader_normal.c (chainloader_command):
9030 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9031 command line.
9032
9033 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9034 method.
9035 (grub_e820_add_region): New function.
9036 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9037 booting.
9038 (grub_find_video_card): New function.
9039 (grub_linux_setup_video): New function.
9040 (grub_rescue_cmd_linux): Probe for video information.
9041
9042 * normal/x86_64/setjmp.S: New file.
9043
9044 * term/efi/console.c (map_char): New function.
9045 (grub_console_putchar): Map unicode char.
9046 (grub_console_checkkey): Wrap efi calls.
9047 (grub_console_getkey): Likewise.
9048 (grub_console_getwh): Likewise.
9049 (grub_console_gotoxy): Likewise.
9050 (grub_console_cls): Likewise.
9051 (grub_console_setcolorstate): Likewise.
9052 (grub_console_setcursor): Likewise.
9053
9054 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9055
59652a20 90562008-07-16 Pavel Roskin <proski@gnu.org>
9057
ef294055 9058 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9059 format strings.
9060
59652a20 9061 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9062 pointer, not an integer. This fixes a warning and prevents
9063 precision loss on 64-bit systems.
9064 (relocate_addresses): Remove unneeded cast.
9065
afc3b5d7 90662008-07-15 Pavel Roskin <proski@gnu.org>
9067
506b2b3e 9068 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9069
62ead89c 9070 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9071
c4cd51d7 9072 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9073 Fix comparison between signed and unsigned.
9074
0d3d8f28 9075 * include/grub/i386/ieee1275/console.h: Declare
9076 grub_console_init() and grub_console_fini().
9077
8804b286 9078 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9079 It's empty and unused.
9080
ee01cf35 9081 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9082 beginning to avoid warnings with some compilers.
9083
afc3b5d7 9084 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9085 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9086
e4e8eaa5 90872008-07-14 Pavel Roskin <proski@gnu.org>
9088
407aceb4 9089 * kern/env.c (grub_register_variable_hook): Don't copy empty
9090 string, it leaks memory. Pass "" to grub_env_set(), it should
9091 handle constant strings.
9092
e4e8eaa5 9093 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9094 * commands/cmp.c (grub_cmd_cmp): Likewise.
9095 * kern/dl.c (grub_dl_flush_cache): Likewise.
9096 (grub_dl_load_core): Likewise.
9097 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
9098 (grub_elf64_load_phdrs): Likewise.
9099
d4e2dad3 91002008-07-13 Pavel Roskin <proski@gnu.org>
9101
9102 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
9103 between signed and unsigned.
9104 (LzmaEnc_Finish): Fix warning about an unused parameter.
9105
aa24b516 91062008-07-13 Bean <bean123ch@gmail.com>
9107
9108 * Makefile.in (enable_lzo): New rule.
9109
9110 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
9111
9112 * configure.ac (ENABLE_LZO): New option --enable-lzo.
9113
9114 * boot/i386/pc/lnxboot.S: #include <config.h>.
9115
9116 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 9117 its value according to the compression algorithm used, lzo or lzma.
aa24b516 9118
9119 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
9120 compression algorithm according to configure macro.
9121
9122 * kern/i386/pc/startup.S (codestart): Likewise.
9123
9124 * kern/i386/pc/lzma_decode.S: New file.
9125
9126 * include/grub/lib/LzFind.h: Likewise.
9127
9128 * include/grub/lib/LzHash.h: Likewise.
9129
9130 * include/grub/lib/LzmaDec.h: Likewise.
9131
9132 * include/grub/lib/LzmaEnc.h: Likewise.
9133
9134 * include/grub/lib/LzmaTypes.h: Likewise.
9135
9136 * lib/LzFind.c: Likewise.
9137
9138 * lib/LzmaDec.c: Likewise.
9139
9140 * lib/LzmaEnc.c: Likewise.
9141
4ae821ac 91422008-07-13 Bean <bean123ch@gmail.com>
9143
9144 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
9145 (grub_ext4_extent_header): New structure.
9146 (grub_ext4_extent): Likewise.
9147 (grub_ext4_extent_idx): Likewise.
9148 (grub_ext4_find_leaf): New function.
9149 (grub_ext2_read_block): Handle extents.
9150
9a745147 91512008-07-12 Robert Millan <rmh@aybabtu.com>
9152
9153 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
9154
d49a4cf6 91552008-07-11 Robert Millan <rmh@aybabtu.com>
9156
9157 * util/grub.d/40_custom.in: New file. Example on how to add custom
9158 entries to /etc/grub.d.
9159 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
9160 40_custom (implicitly, by merging all the grub.d rules).
9161
947414b4 91622008-07-11 Pavel Roskin <proski@gnu.org>
9163
0059cf6f 9164 * commands/read.c (grub_getline): Fix invalid memory access.
9165 Don't add newline to the variable value.
9166
947414b4 9167 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
9168 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
9169 (serial_hw_get_port): Check validity of the port number.
9170 (grub_cmd_serial): Check return value of serial_hw_get_port().
9171
62a02d00 91722008-07-07 Pavel Roskin <proski@gnu.org>
9173
9174 * boot/i386/pc/diskboot.S (notification_string): Replace
9175 "Loading kernel" with just "loading". This is shorter, less
9176 confusing and saves a few bytes for possible future changes.
9177
3e5581b0 91782008-07-05 Pavel Roskin <proski@gnu.org>
9179
ea387a48 9180 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
9181 size for ATAPI devices, they are undefined. Output sector
9182 number in decimal form.
9183
3e5581b0 9184 * disk/ata.c: Use named constants for status bits.
9185
fdecb8fd 91862008-07-04 Pavel Roskin <proski@gnu.org>
9187
bcd35b90 9188 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
9189 grub_addr_t before casting it to the void pointer to fix a
9190 warning. Non-addressable regions are discarded earlier.
9191 (grub_arch_modules_addr): Cast _end to grub_addr_t.
9192 * kern/i386/linuxbios/table.c: Include grub/misc.h.
9193 (check_signature): Don't shadow table_header.
9194 (grub_linuxbios_table_iterate): Cast numeric constants to
9195 grub_linuxbios_table_header_t.
9196 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
9197 grub_stop().
9198
af58ab3d 9199 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
9200 prevent warnings.
9201
1759aa57 9202 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
9203 pointer, which can cause warnings. Support 64-bit addresses.
9204
fdecb8fd 9205 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
9206 of sizeof(long). This fixes PowerPC image generation on x86_64.
9207
8516d2a8 92082008-07-04 Robert Millan <rmh@aybabtu.com>
9209
9210 This fixes a performance issue when pc & gpt partmap iterators
9211 didn't abort iteration even after our hook found what it was
fe987087 9212 looking for (often causing expensive probes of non-existent drives).
8516d2a8 9213
9214 Some callers relied on previous buggy behaviour, since they would
34c44600 9215 raise an error when their own hooks caused early abortion of its
8516d2a8 9216 iteration.
9217
9218 * kern/device.c (grub_device_open): Improve error message.
9219 * disk/lvm.c (grub_lvm_open): Likewise.
9220 * disk/raid.c (grub_raid_open): Likewise.
9221
9222 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
9223 when hook requests it, independently of grub_errno.
9224 (pc_partition_map_probe): Do not fail when find_func() caused
9225 early abortion of pc_partition_map_iterate().
9226
9227 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
9228 when hook requests it, independently of grub_errno.
9229 (gpt_partition_map_probe): Do not fail when find_func() caused
9230 early abortion of gpt_partition_map_iterate().
9231
9232 * kern/partition.c (grub_partition_iterate): Abort parent iteration
9233 when hook requests it, independently of grub_errno. Do not fail when
9234 part_map_iterate_hook() caused early abortion of p->iterate().
9235
9236 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
9237 when grub_partition_iterate() returned with non-zero.
9238
277d0de9 92392008-07-03 Pavel Roskin <proski@gnu.org>
9240
9241 * disk/ata.c (grub_ata_pio_write): Check status before writing,
9242 like we do in grub_ata_pio_read().
9243 (grub_ata_readwrite): Always write individual sectors. Fix the
9244 sector count for the remainder.
9245 (grub_ata_write): Enable writing to ATA devices. Correctly
9246 report error for ATAPI devices.
9247
d4c9b428 92482008-07-02 Pavel Roskin <proski@gnu.org>
9249
e43fc690 9250 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
9251 warning.
9252
f707af42 9253 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
9254 for every read sector, we already increment it for the whole
9255 batch. This fixes reading more than 256 sectors at once.
9256
11e16b15 9257 * util/grub-editenv.c (cmd_info): Cast argument to long
9258 explicitly. ptrdiff_t reduces to int on i386.
9259
cbabfdd4 9260 * util/grub-editenv.c (main): Be specific which parameter is
9261 missing.
9262
b8fbce0a 9263 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
9264 (memdisk): Make memdisk_orig_addr a pointer.
9265
c9c8e606 9266 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
9267 for file offsets, use grub_off_t instead. Fix printf format
9268 warnings.
9269
ca62e598 9270 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
9271 there. Real unexpected warnings should not drown in the noise
9272 about known problems.
9273
ce8d1766 9274 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
9275 grub_disk_addr_t for memory addresses.
9276
00c7a56a 9277 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
9278 explicitly to fix a warning.
9279
08d3ef09 9280 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
9281
cb71ba20 9282 * Makefile.in (MODULE_LDFLAGS): New variable.
9283 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
9284 the linker accepts --build-id=none.
9285 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
9286 MODULE_LDFLAGS.
9287 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
9288
d4c9b428 9289 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
9290 those in Linux XFS code. Provide a way to access 64-bit parent
9291 inode.
9292 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
9293 the end of struct grub_xfs_dir_header.
9294
d4156eee 92952008-07-02 Bean <bean123ch@gmail.com>
9296
9297 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
9298 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9299 and GRUB_IEEE1275_FLAG_NO_ANSI.
9300
9301 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
9302 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9303 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
9304
9305 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
9306 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
9307
9308 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
9309 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
9310
9311 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
9312 esc sequence on non ANSI terminal.
9313 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
9314
9315 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
9316 beginning of file.
9317
2270f77b 93182008-07-02 Bean <bean123ch@gmail.com>
9319
9320 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
9321 (grub_editenv_SOURCES): New variable.
9322 (pkglib_MODULES): Add loadenv.mod.
9323 (loadenv_mod_SOURCES): New variable.
9324 (loadenv_mod_CFLAGS): Likewise.
9325 (loadenv_mod_LDFLAGS): Likewise.
9326
9327 * include/grub/envblk.h: New file.
9328
9329 * util/envblk.c: New file.
9330
9331 * util/grub-editenv.c: New file.
9332
9333 * commands/loadenv.c: New file.
9334
0e9e51ec 93352008-07-01 Pavel Roskin <proski@gnu.org>
9336
d89b7634 9337 * include/multiboot2.h (struct multiboot_tag_module): Use char,
9338 not unsigned char. This fixes warnings and is consistent with
9339 other tags.
9340
bf1835b1 9341 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
9342
8222a04b 9343 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
9344
6a42d99d 9345 * term/tparm.c (analyze): Always set *popcount.
9346
10b159d1 9347 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
9348 cast to fix a warning.
9349
b8789f6c 9350 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
9351 cast to suppress a warning.
9352
29d7e38a 9353 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
9354 grub_fshelp_read_file() expects.
9355
f341f669 9356 * fs/fat.c: Fix UUID calculation on big-endian systems. We
9357 write uuid as a 32-bit value in CPU byte order, so declare and
9358 use it as such.
9359
0e9e51ec 9360 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
9361 long if the format specifier expects it.
9362 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
9363 * partmap/pc.c (pc_partition_map_iterate): Likewise.
9364 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
9365 long to fix a warning.
9366 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
9367 grub_dprintf() arguments to fix warnings.
9368
3aefa857 93692008-06-30 Pavel Roskin <proski@gnu.org>
9370
56c7668b 9371 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
9372 install_bsd_part immediately before core.img is embedded or
9373 modified on disk. This fixes core.img verification if core.img
9374 cannot be embedded.
9375
3aefa857 9376 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
9377 core_path to calculate the blocklist.
9378 Patch from Javier Martín <lordhabbit@gmail.com>
9379
5444088d 93802008-06-29 Robert Millan <rmh@aybabtu.com>
9381
9382 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
9383 block to disk block.
9384 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
9385 Patch from Niels Böhm <bitbucket@arcor.de>
9386
674835c8 93872008-06-29 Robert Millan <rmh@aybabtu.com>
9388
9389 * util/update-grub_lib.in (font_path): Search for fonts in
9390 /boot/grub first, which is more likely to be readable (we aren't
9391 deciding where fonts live, just looking for them).
9392
f527dbc8 93932008-06-26 Pavel Roskin <proski@gnu.org>
9394
6c2d8df6 9395 * util/biosdisk.c (read_device_map): Don't leave dead map
9396 entries for devices failing stat() check.
9397
f527dbc8 9398 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
9399 core_path_dev for the core.img path on the target device.
9400
aebe3d13 94012008-06-26 Robert Millan <rmh@aybabtu.com>
9402
9403 * disk/fs_uuid.c: New file.
9404 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
9405 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
9406 (fs_uuid_mod_LDFLAGS): New variables.
9407 * include/grub/disk.h (grub_disk_dev_id): Add
9408 `GRUB_DISK_DEVICE_UUID_ID'.
9409 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
9410 implement iterate().
9411
37aaf354 94122008-06-26 Robert Millan <rmh@aybabtu.com>
9413
9414 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
9415 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
9416 Linux image includes no initrd.
9417
25ff262a 94182008-06-21 Javier Martín <lordhabbit@gmail.com>
9419
9420 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
9421 call to resolve the core image location that effectively appended the
9422 name twice.
9423
76a2bd44 94242008-06-21 Robert Millan <rmh@aybabtu.com>
9425
9426 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
9427 call from here ...
9428
9429 * util/grub.d/10_hurd.in: ... to here ...
9430 * util/grub.d/10_linux.in: ... and here.
9431
650e1c79 94322008-06-19 Robert Millan <rmh@aybabtu.com>
9433
fe987087 9434 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 9435 after it has been set by grub_machine_set_prefix().
9436
6ce63911 94372008-06-19 Robert Millan <rmh@aybabtu.com>
9438
9439 * commands/search.c (search_label, search_fs_uuid, search_file): Print
9440 search result when not saving to variable, not the other way around.
9441 When saving to variable, abort iteration as soon as a match is found.
9442
73940cec 94432008-06-19 Robert Millan <rmh@aybabtu.com>
9444
9445 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
9446 check for partition that provides /boot/grub. Its logic is flawed,
9447 as it prevents prepare_grub_to_access_device() from being called
9448 multiple times.
9449
3c62a39d 94502008-06-19 Robert Millan <rmh@aybabtu.com>
9451
9452 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
9453 "insmod" command directly when abstraction modules are needed,
fe987087 9454 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 9455 since it had already been processed).
9456
47395a42 94572008-06-19 Pavel Roskin <proski@gnu.org>
9458
9459 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
9460 changed. This is needed in case GRUB_LIBDIR changes.
9461 * conf/i386-ieee1275.rmk: Likewise.
9462 * conf/i386-linuxbios.rmk: Likewise.
9463 * conf/i386-pc.rmk: Likewise.
9464 * conf/powerpc-ieee1275.rmk: Likewise.
9465
a145ac2d 94662008-06-18 Pavel Roskin <proski@gnu.org>
9467
9468 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
9469 kernel_elf_symlist.c to symlist.c for consistency with other
9470 architectures. Update all users.
9471 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9472
7847c51e 94732008-06-18 Robert Millan <rmh@aybabtu.com>
9474
9475 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
9476 it in prefix.
9477
9478 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
9479 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
9480 a RAID device, run setup() for all members independently on whether
9481 LVM abstraction is being used.
9482 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
9483 If grub-mkimage has set `*install_dos_part == -2', don't override this
9484 value.
9485 Perform *install_dos_part adjustments independently on whether
9486 we're embedding or not.
9487 Clarify error message when image is too big for embedding.
9488 Remove duplicate *install_dos_part stanza.
9489
b23e5644 94902008-06-17 Robert Millan <rmh@aybabtu.com>
9491
9492 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
9493 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
9494 variables.
9495 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
9496 values in grub_ofconsole_normal_color and
9497 grub_ofconsole_highlight_color (they're not directly related to
9498 background and foreground).
9499 (grub_ofconsole_setcolorstate): Extract background and foreground
9500 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
9501
0aac2f79 95022008-06-17 Robert Millan <rmh@aybabtu.com>
9503
9504 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
9505 /boot/grub for the check in last commit, not /boot (they could be
9506 different partitions).
9507
3cca7ef3 95082008-06-16 Robert Millan <rmh@aybabtu.com>
9509
9510 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
9511 asked to setup access for the same partition that provides /boot,
9512 don't bother using UUIDs since our root already has the value we
9513 want.
9514
347396d8 95152008-06-16 Robert Millan <rmh@aybabtu.com>
9516
9517 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
9518 I2O devices.
9519 Patch from Sven Mueller <sven@debian.org>.
9520
991477f8 95212008-06-16 Robert Millan <rmh@aybabtu.com>
9522
9523 * util/update-grub.in: Check for $EUID instead of $UID.
9524 Reported by Vincent Zweije.
9525
d31a32a1 95262008-06-16 Bean <bean123ch@gmail.com>
9527
fe987087 9528 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 9529 (grub_ext2_read_block): Likewise.
9530 (grub_ext2_read_inode): Likewise.
9531 (grub_ext2_mount): Likewise.
9532 (grub_ext2_close): Likewise.
9533 (grub_ext3_get_journal): Removed.
9534
fe987087 9535 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 9536 (grub_reiserfs_read_symlink): Likewise.
9537 (grub_reiserfs_mount): Likewise.
9538 (grub_reiserfs_open): Likewise.
9539 (grub_reiserfs_read): Likewise.
9540 (grub_reiserfs_close): Likewise.
9541 (grub_reiserfs_get_journal): Removed.
9542
9543 * fs/fshelp.c (grub_fshelp_read): Removed.
9544 (grub_fshelp_map_block): Likewise.
9545
9546 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
9547 (grub_fshelp_journal): Likewise.
9548 (grub_fshelp_read): Likewise.
9549 (grub_fshelp_map_block): Likewise.
9550
3540a760 95512008-06-16 Pavel Roskin <proski@gnu.org>
9552
9553 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
9554 floating point anymore.
9555 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
9556
95614c84 95572008-06-15 Pavel Roskin <proski@gnu.org>
9558
9559 * commands/ls.c (grub_ls_list_files): Use integer calculations
9560 for human readable format, avoid floating point use.
9561 * kern/misc.c (grub_ftoa): Remove.
9562 (grub_vsprintf): Remove floating point support.
9563
50465dd6 95642008-06-15 Robert Millan <rmh@aybabtu.com>
9565
fe6b695a 9566 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 9567 devices.
9568 Reported by Max Vozeler.
9569
a9207284 95702008-06-15 Robert Millan <rmh@aybabtu.com>
9571
9572 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
9573 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
9574 skipped later.
9575 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
9576 the beginning of the prefix.
9577
9578 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
9579 It is assumed that if we have a memdisk, grub-mkimage has set
9580 grub_prefix to include the "(memdisk)" drive in it.
9581
a7cbd45a 95822008-06-15 Robert Millan <rmh@aybabtu.com>
9583
9584 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
9585 Initialize keyboard controller after registering the terminal, so that
9586 grub_printf() can be called from grub_keyboard_controller_init().
9587
21cf716a 95882008-06-15 Robert Millan <rmh@aybabtu.com>
9589
9590 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
9591 extent-btree which is written as big endian on disk.
9592 Reported by Alain Greppin <al@chilibi.org>.
9593
23a64d8e 95942008-06-14 Robert Millan <rmh@aybabtu.com>
9595
9596 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
9597 * util/i386/pc/grub-install.in (modules): Likewise.
9598
d687651c 95992008-06-13 Pavel Roskin <proski@gnu.org>
9600
9601 * commands/ls.c (grub_ls_list_files): Fix format warnings.
9602
dfe9ddd4 96032008-06-13 Bean <bean123ch@gmail.com>
9604
9605 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
9606
9607 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
9608
9609 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
9610 to indicate sparse block.
9611
16ae7781 96122008-06-12 Pavel Roskin <proski@gnu.org>
9613
e6d1a308 9614 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
9615 number, grub_fshelp_read() does it for us.
9616
16ae7781 9617 * fs/fshelp.c (grub_fshelp_read): New function. Implement
9618 linear disk read with journal translation.
9619 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
9620 * include/grub/fshelp.h: Declare grub_fshelp_read().
9621
40fd3a2b 96222008-06-09 Pavel Roskin <proski@gnu.org>
9623
9624 * fs/minix.c (grub_minix_mount): Handle error reading
9625 superblock.
9626
f5679726 96272008-06-08 Robert Millan <rmh@aybabtu.com>
9628
9629 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
9630 don't append the RAID prefix afterwards.
9631 Reported by Clint Adams.
9632
ce525529 96332008-06-08 Robert Millan <rmh@aybabtu.com>
9634
9635 Based on description from Pavel:
9636 * kern/disk.c (grub_disk_check_range): Rename to ...
9637 (grub_disk_adjust_range): ... this. Add a comment explaining the
9638 tasks performed by this function.
9639
ad4936a0 96402008-06-08 Robert Millan <rmh@aybabtu.com>
9641
9642 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
9643 `num_serial' (for consistency with other variables).
9644 (struct grub_ntfs_data): Add `uuid' member.
9645 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
9646 (grub_ntfs_uuid): New function.
9647 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
9648
dc20b0f9 96492008-06-07 Pavel Roskin <proski@gnu.org>
9650
9651 * util/biosdisk.c (open_device): Revert last change to the
9652 function, it broke installation. The sector needs to be
9653 different dependent on which device is opened.
9654
c5e3cfba 96552008-06-06 Robert Millan <rmh@aybabtu.com>
9656
9657 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
9658 rest of GRUB, and breakage doesn't happen if its value were modified.
9659
9660 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9661 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
9662 a constant (same value).
9663 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
9664 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
9665
26a1f8c4 96662008-06-06 Robert Millan <rmh@aybabtu.com>
9667
9668 * util/biosdisk.c (open_device): Do not modify sector offset when
9669 accessing a partition. kern/disk.c already handles this for us.
9670
25d6b327 96712008-06-06 Robert Millan <rmh@aybabtu.com>
9672
9673 * util/grub-emu.c (grub_machine_init): Move code in this function from
9674 here ...
9675 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
9676 segfault in case grub_printf() is called).
9677
9678 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
9679 grub_probe. Update all users not to explicitly add it again.
9680 (grub_device): New variable; contains corresponding device for grubdir.
9681 (fs_module, partmap_module, devabstraction_module): Pass
9682 `--device ${grub_device}' to grub_probe to avoid traversing /dev
9683 every time.
9684
9ece62fb 96852008-06-05 Robert Millan <rmh@aybabtu.com>
9686
9687 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
9688 is found, print it (same layout as with labels).
9689
1ad36d37 96902008-06-04 Robert Millan <rmh@aybabtu.com>
9691
9692 * util/biosdisk.c (get_drive): Rename to ...
9693 (find_grub_drive): ... this. Update all users.
9694
9695 (get_os_disk): Rename to ...
9696 (convert_system_partition_to_system_disk): ... this. Update all users.
9697
9698 (find_drive): Rename to ...
9699 (find_system_device): ... this. Update all users.
9700
e6a30859 97012008-06-04 Robert Millan <rmh@aybabtu.com>
9702
9703 * util/biosdisk.c (get_os_disk): Handle IDA devices.
9704 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9705 (make_device_map): Likewise.
9706
00c108a4 97072008-06-01 Robert Millan <rmh@aybabtu.com>
9708
9709 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
9710 before dereferencing it.
9711
9712 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
9713 union with fat12/fat16-specific ones. Add some new fields, including
9714 `num_serial' for both versions.
9715 (struct grub_fat_data): Add `uuid' member.
9716 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
9717 names. Initialize `data->uuid' using `num_serial'.
9718 (grub_fat_uuid): New function.
9719 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
9720
9721 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
9722 (grub_reiserfs_uuid): New function.
9723 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
9724 member.
9725
9726 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
9727 (grub_xfs_uuid): New function.
9728 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
9729
1385c5bb 97302008-06-01 Robert Millan <rmh@aybabtu.com>
9731
9732 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
9733 code that is backward compatible with pre-uuid search command.
9734
c682dfd7 97352008-05-31 Robert Millan <rmh@aybabtu.com>
9736
9737 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
9738 floppies after everything else, to ensure floppy drive isn't accessed
9739 unnecessarily (patch from Bean).
9740
b7db5d47 97412008-05-31 Robert Millan <rmh@aybabtu.com>
9742
9743 * commands/search.c (search_label, search_fs_uuid, search_file): Do
9744 not print device names when we were asked to set a variable.
9745
6e037aa9 97462008-05-31 Robert Millan <rmh@aybabtu.com>
9747
9748 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
9749 using "cursor-on" and "cursor-off" commands (understood at least by
9750 the Open Firmware flavour on OLPC).
9751
41305bc8 97522008-05-31 Michael Gorven <michael@gorven.za.net>
9753
9754 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
9755 on and off sequences.
9756
69ba137e 97572008-05-31 Robert Millan <rmh@aybabtu.com>
9758
9759 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
9760 * util/update-grub.in: Likewise.
9761
520ae21b 97622008-05-30 Pavel Roskin <proski@gnu.org>
9763
9764 * util/biosdisk.c (linux_find_partition): Simplify logic and
9765 make the code more universal. Keep special processing for
9766 devfs, but use a simple rule for all other devices. If the
9767 device ends with a number, append 'p' and the partition number.
9768 Otherwise, append only the partition number.
9769
5786569b 97702008-05-30 Robert Millan <rmh@aybabtu.com>
9771
9772 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
9773 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
9774 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
9775 the `root' parameter to Linux.
9776
51500452 97772008-05-30 Robert Millan <rmh@aybabtu.com>
9778
9779 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
9780 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
9781 --fs_uuid with --fs-uuid.
9782 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
9783 all filesystems support them).
9784
811d3878 97852008-05-30 Robert Millan <rmh@aybabtu.com>
9786
9787 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 9788 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 9789
cab63c95 97902008-05-30 Robert Millan <rmh@aybabtu.com>
9791
9792 * util/grub.d/00_header.in: Remove obsolete comment referencing
9793 convert_system_path_to_grub_path().
9794 * util/update-grub.in: Likewise.
9795 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
9796 (convert_system_path_to_grub_path): Add a warning message explaining
9797 that this function is deprecated. Rely on is_path_readable_by_grub()
9798 for the readability checks.
9799 (font_path): Use is_path_readable_by_grub() for the readability
9800 check rather than convert_system_path_to_grub_path().
9801
972e2f7a 98022008-05-30 Robert Millan <rmh@aybabtu.com>
9803
9804 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
9805 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
9806 converting it first.
9807 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
9808 grub.cfg for access to font file, and afterwards call it again to set
9809 the root device.
9810
62191274 98112008-05-30 Robert Millan <rmh@aybabtu.com>
9812
9813 * commands/search.c (options): Add --fs_uuid option.
9814 (search_fs_uuid): New function.
9815 (grub_cmd_search): Fix --set argument passing.
9816 Use search_fs_uuid() when requested via --fs_uuid.
9817 (grub_search_init): Update help message.
9818 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
9819 and redeclare it as an array of 16-bit words.
9820 (grub_ext2_uuid): New function.
9821 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
9822 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
9823 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
9824 (GRUB_DEVICE_BOOT_UUID): New variables.
9825 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
9826 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
9827 whenever possible.
9828 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
9829 just assume `root' variable has the right value.
9830 * util/grub.d/10_linux.in: Likewise.
9831 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
9832 via PRINT_FS_UUID.
9833 (main): Recognise `-t fs_uuid' argument.
9834
01b73ec8 98352008-05-30 Robert Millan <rmh@aybabtu.com>
9836
9837 * util/biosdisk.c (map): Redefine structure to hold information
9838 about GRUB drive name.
fe6b695a 9839 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 9840 drive names.
9841 (call_hook): Remove.
9842 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
9843 member. Assume drive has partitions.
9844 (grub_util_biosdisk_open): Access device names via `.device' struct
9845 member.
9846 (open_device): Likewise.
9847 (find_drive): Likewise.
9848 (read_device_map): Adjust map[] usage to match the new struct
9849 definition. Don't check for duplicates (still possible, but not cheap
9850 anymore).
9851 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
9852 (make_device_name): Remove assumption of BIOS-like drive names.
9853
22f16596 98542008-05-30 Pavel Roskin <proski@gnu.org>
9855
9856 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
9857 compiling execute.c doesn't need grub_script.tab.h anymore.
9858 (normal/command.c_DEPENDENCIES): Likewise.
9859 (normal/function.c_DEPENDENCIES): Likewise.
9860 * conf/i386-ieee1275.rmk: Likewise.
9861 * conf/i386-linuxbios.rmk: Likewise.
9862 * conf/i386-pc.rmk: Likewise.
9863 * conf/powerpc-ieee1275.rmk: Likewise.
9864 * conf/sparc64-ieee1275.rmk: Likewise.
9865
528ad8f2 98662008-05-29 Pavel Roskin <proski@gnu.org>
9867
d1dff95d 9868 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
9869 when scanning metadata for volume group name.
9870
528ad8f2 9871 * include/grub/script.h: Don't include grub_script.tab.h. It's
9872 a generated file, which may only be included from the files with
9873 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
9874 use union YYSTYPE, as the later allows forward declaration.
9875 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
9876
47248e08 98772008-05-29 Robert Millan <rmh@aybabtu.com>
9878
9879 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
9880 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
9881 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
9882 (grub_console_checkkey): Add grub_dprintf() call to report unknown
9883 scan codes.
9884
ee632529 98852008-05-29 Robert Millan <rmh@aybabtu.com>
9886
9887 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
9888 control key combinations.
9889
eee96e08 98902008-05-29 Robert Millan <rmh@aybabtu.com>
9891
9892 * util/powerpc/ieee1275/grub-install.in: Move from here ...
9893 * util/ieee1275/grub-install.in: ... to here.
9894 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
9895 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
9896 (grub_install_SOURCES): Likewise.
9897
da9a6a94 98982008-05-29 Robert Millan <rmh@aybabtu.com>
9899
9900 * fs/affs.c: Update copyright year.
9901 * fs/ext2.c: Likewise.
9902 * fs/fshelp.c: Likewise.
9903 * fs/hfsplus.c: Likewise.
9904 * fs/ntfs.c: Likewise.
9905 * fs/xfs.c: Likewise.
9906 * include/grub/fshelp.h: Likewise.
9907 * util/grub-mkdevicemap.c: Likewise.
9908
12e65f3a 99092008-05-28 Robert Millan <rmh@aybabtu.com>
9910
9911 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
9912 might need to be fatfs to support some firmware implementations
9913 (e.g. OFW or EFI).
9914
23023641 99152008-05-28 Robert Millan <rmh@aybabtu.com>
9916
9917 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
9918 devices.
9919 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9920 (make_device_map): Likewise.
9921
887d2619 99222008-05-20 Bean <bean123ch@gmail.com>
9923
9924 * fs/fshelp.c (grub_fshelp_map_block): New function.
9925 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
9926 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
9927
9928 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
9929 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
9930 (grub_fshelp_journal): New structure.
9931 (grub_fshelp_map_block): New function prototype.
9932 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
9933 (grub_fshelp_map_block): Likewise.
9934
9935 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
9936 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
9937 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
9938 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
9939 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
9940 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
9941 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
9942 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
9943 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
9944 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
9945 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
9946 (grub_ext2_sblock): New members for journal support.
9947 (grub_ext3_journal_header): New structure.
9948 (grub_ext3_journal_revoke_header): Likewise.
9949 (grub_ext3_journal_block_tag): Likewise.
9950 (grub_ext3_journal_sblock): Likewise.
9951 (grub_fshelp_node): New members logfile and journal.
9952 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
9953 grub_fshelp_map_block to get real block number.
9954 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
9955 number.
9956 (grub_ext2_read_inode): Likewise.
9957 (grub_ext3_get_journal): New function.
9958 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
9959 (grub_ext2_close): Release memory used by journal.
9960
9961 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
9962 (REISERFS_MAGIC_DESC_BLOCK): New macro.
9963 (grub_reiserfs_transaction_header): Renamed to
9964 grub_reiserfs_description_block, replace field data with real_blocks.
9965 (grub_reiserfs_commit_block): New structure.
9966 (grub_reiserfs_data): New member journal.
9967 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
9968 number.
9969 (grub_reiserfs_read_symlink): Likewise.
9970 (grub_reiserfs_iterate_dir): Likewise.
9971 (grub_reiserfs_open): Likewise.
9972 (grub_reiserfs_read): Likewise.
9973 (grub_reiserfs_get_journal): New function.
9974 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
9975 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
9976 using grub_reiserfs_get_journal.
9977 (grub_reiserfs_close): Release memory used by journal.
9978
9979 * fs/affs.c (grub_affs_read_block): Change block type to
9980 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
9981
9982 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
9983
9984 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
9985
9986 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
9987
9988 * fs/udf.c (grub_udf_read_block): Change block type to
9989 grub_disk_addr_t. Use type cast to avoid warning.
9990
9991 * fs/xfs.c (grub_xfs_read_block): Likewise.
9992
b7c6bed5 99932008-05-16 Christian Franke <franke@computer.org>
9994
9995 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
9996 to ensure that break with ESC will always work.
9997 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
9998 Remove ESC from keyboard queue.
9999
eedf167f 100002008-05-16 Christian Franke <franke@computer.org>
10001
10002 * util/biosdisk.c: [__CYGWIN__] Add includes.
10003 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
10004 (get_os_disk): Move variable declarations to OS specific
10005 parts to avoid warning.
10006 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
10007 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
10008 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
10009 Cygwin.
10010 * util/getroot.c: [__CYGWIN__] Add includes.
10011 (strip_extra_slashes): Fix "/" case.
10012 [__CYGWIN__] (get_win32_path): New function.
10013 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
10014 [__CYGWIN__] (find_root_device): Disable.
10015 [__CYGWIN__] (get_bootsec_serial): New function.
10016 [__CYGWIN__] (find_cygwin_root_device): Likewise.
10017 [__linux__] (grub_guess_root_device): Add early returns to simplify
10018 structure.
10019 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
10020 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
10021 check for Linux only.
10022
a079699e 100232008-05-15 Bean <bean123ch@gmail.com>
10024
10025 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10026 keyboard hang problem in apple's intel mac.
10027
1cf4059a 100282008-05-09 Robert Millan <rmh@aybabtu.com>
10029
10030 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10031 devices.
10032 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10033 (make_device_map): Likewise.
10034 Reported by Aurelien Jarno <aurel32@debian.org>
10035
ed759390 100362008-05-07 Ian Campbell <ijc@hellion.org.uk>
10037
10038 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10039 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10040 (make_device_map): Output entries for xvd type disks.
10041
b56c4eaa 100422008-05-07 Robert Millan <rmh@aybabtu.com>
10043
10044 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10045 devices.
10046 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10047 (make_device_map): Likewise.
10048 Reported by Roland Dreier <rdreier@cisco.com>
10049
7f8866ed 100502008-05-07 Robert Millan <rmh@aybabtu.com>
10051
10052 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10053 grub_strstr() call. Correct a few mistakes in failure path handling.
10054
b0346e0f 100552008-05-06 Robert Millan <rmh@aybabtu.com>
10056
10057 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10058 Do not print a trailing slash (therefore, the root directory is an
10059 empty string).
10060 (convert_system_path_to_grub_path): Do not remove trailing slash
10061 from make_system_path_relative_to_its_root() output.
10062
10063 * util/i386/pc/grub-install.in: Add trailing slash to output from
10064 make_system_path_relative_to_its_root().
10065
6cf12cbd 100662008-05-06 Robert Millan <rmh@aybabtu.com>
10067
10068 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10069 ensures that output lines aren't intermangled with those sent to
10070 stderr (via grub_util_info()).
10071 * util/grub-probe.c (grub_refresh): Likewise.
10072 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10073
0fbb3117 100742008-05-05 Christian Franke <franke@computer.org>
10075
10076 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10077 Add Cygwin device names.
10078 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10079 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10080 (check_device): Return error instead of success on empty name.
10081 (make_device_map): Move label inside linux specific code to
10082 prevent compiler warning.
10083
8124cdb7 100842008-04-30 Robert Millan <rmh@aybabtu.com>
10085
10086 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10087 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10088 first boot option.
10089 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10090
094c01d0 100912008-04-29 Robert Millan <rmh@aybabtu.com>
10092
10093 * docs/grub.cfg: New file (example GRUB configuration).
10094
f4b1fc02 100952008-04-26 Robert Millan <rmh@aybabtu.com>
10096
329ce2a5 10097 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
10098 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
10099 and `disk/ieee1275/nand.c'.
f4b1fc02 10100
25f16ec1 101012008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 10102
25f16ec1 10103 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
10104 i386-linuxbios.
10105
10106 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
10107 change the buffer size to 4096 for cdrom device.
10108
10109 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
10110 and nand.mod.
10111 (_linux_mod_SOURCES): New variable.
10112 (_linux_mod_CFLAGS): Likewise.
10113 (_linux_mod_LDFLAGS): Likewise.
10114 (linux_mod_SOURCES): Likewise.
10115 (linux_mod_CFLAGS): Likewise.
10116 (linux_mod_LDFLAGS): Likewise.
10117 (nand_mod_SOURCES): Likewise.
10118 (nand_mod_CFLAGS): Likewise.
10119 (nand_mod_LDFLAGS): Likewise.
10120
10121 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
10122 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
10123 type property. (nand device in olpc don't have this property)
10124
10125 * include/grub/disk.h (grub_disk_dev_id): New macro
10126 GRUB_DISK_DEVICE_NAND_ID.
10127
10128 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
10129 function prototype.
10130 (grub_rescue_cmd_initrd): Likewise.
10131
10132 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
10133 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
10134 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 10135
25f16ec1 10136 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
10137 GRUB_MACHINE_IEEE1275 is defined.
10138
10139 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
10140 Use NESTED_FUNC_ATTR attribute on the hook parameter.
10141
10142 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
10143 on nested function heap_init.
10144 (grub_upper_mem): New variable for i386-ieee1275.
10145 (grub_get_extended_memory): New function for i386-ieee1275.
10146 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
10147
10148 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
10149 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
10150 property.
f19dbdb7 10151
25f16ec1 10152 * loader/i386/ieee1275/linux.c: New file.
10153
10154 * loader/i386/ieee1275/linux_normal.c: New file.
10155
10156 * disk/ieee1275/nand.c: New file.
10157
e89d61e9 101582008-04-18 Thomas Schwinge <tschwinge@gnu.org>
10159
10160 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
10161 value.
10162 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
10163
602566f6 101642008-04-18 Robert Millan <rmh@aybabtu.com>
10165
10166 Restructures early code path on ieee1275 to unify grub_main() as
10167 the first C function that is executed in every platform.
10168
10169 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
10170 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
10171 cmain().
10172 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
10173 * kern/ieee1275/cmain.c (cmain): Rename to ...
10174 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
10175 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
10176 at the beginning.
10177
57490c2b 101782008-04-18 Robert Millan <rmh@aybabtu.com>
10179
10180 * util/update-grub.in: Fix syntax error when setting
10181 `GRUB_PRELOAD_MODULES'.
10182 Reported by Stephane Chazelas <stephane@artesyncp.com>
10183
1977517d 101842008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
10185
10186 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
10187 section into account, newer toolchains generate unique build ids
10188 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 10189 we want build ids to be preserved
1977517d 10190 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
10191 far from other sections don't cause the raw binary images grow
10192 size
10193
bfb1f1a2 101942008-04-15 Robert Millan <rmh@aybabtu.com>
10195
10196 * disk/lvm.c: Update copyright year.
10197 * kern/misc.c: Likewise.
10198
01979850 101992008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10200
10201 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 10202 there is no memory left for physical volume name.
01979850 10203
0a1150e2 102042008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10205
10206 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
10207 volume name mapping to support bigger than 9 character names properly.
10208
82ead3fe 102092008-04-13 Robert Millan <rmh@aybabtu.com>
10210
10211 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
10212 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
10213
e54a72f5 102142008-04-13 Christian Franke <franke@computer.org>
10215
10216 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
10217 to create a floppy emulation boot CD when non emulation mode
10218 does not work.
10219 Enable Joliet CD filesystem extension.
10220
9fe86034 102212008-04-13 Robert Millan <rmh@aybabtu.com>
10222
10223 * kern/misc.c (grub_strncat): Fix off-by-one error.
10224 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
10225
10226 * kern/env.c (grub_env_context_close): Clear current context, not
10227 previous one.
10228 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
10229
10230 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
10231
7ceeee39 102322008-04-13 Robert Millan <rmh@aybabtu.com>
10233
10234 Improve robustness when handling LVM.
10235
10236 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 10237 (and leave `*p' unmodified).
7ceeee39 10238 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
10239 through it.
10240 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
10241 iterating through it.
10242 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
10243 through it.
fe6b695a 10244 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 10245 when due) on each grub_lvm_getvalue() or grub_strstr() call.
10246 Don't assume `vg->pvs != NULL' when iterating through it.
10247
58cd3d85 102482008-04-13 Robert Millan <rmh@aybabtu.com>
10249
10250 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
10251 * genmk.rb (partmap): New variable.
10252 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
10253 (#{partmap}): New target rule.
10254 * genpartmaplist.sh: New file.
10255 * Makefile.in (pkglib_DATA): Add partmap.lst.
10256 (partmap.lst): New target rule.
10257 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
10258 modules (including all partition maps), instead of preloading them.
10259
78b51059 102602007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
10261
10262 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
10263 `linux-boot-prober' (if installed) to detect other operating
10264 systems which are installed on the computer and add them to
10265 the boot menu.
10266 * conf/common.rmk: Build and install 30_os-prober.
10267
a91627b4 102682008-04-12 Robert Millan <rmh@aybabtu.com>
10269
10270 * kern/powerpc/ieee1275/init.c: Move from here ...
10271 * kern/ieee1275/init.c: ... to here. Update all users.
10272
10273 * kern/powerpc/ieee1275/cmain.c: Move from here ...
10274 * kern/ieee1275/cmain.c: ... to here. Update all users.
10275
10276 * kern/powerpc/ieee1275/openfw.c: Move from here ...
10277 * kern/ieee1275/openfw.c: ... to here. Update all users.
10278
10279 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
10280 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
10281
322562ea 102822008-04-10 Pavel Roskin <proski@gnu.org>
10283
10284 * configure.ac: Always use "_cv_" in cache variables for
10285 compatibility with Autoconf 2.62.
10286
a02a73c5 102872008-04-07 Robert Millan <rmh@aybabtu.com>
10288
10289 Revert grub/machine/init.h addition by Pavel (since it breaks on
10290 i386-ieee1275 and others):
10291 * util/i386/pc/misc.c: Remove grub/machine/init.h.
10292 * util/powerpc/ieee1275/misc.c: Likewise.
10293
25c024b1 102942008-04-07 Robert Millan <rmh@aybabtu.com>
10295
10296 * util/grub-probe.c (probe): Improve error message.
10297
3cbd2f98 102982008-04-07 Robert Millan <rmh@aybabtu.com>
10299
10300 * util/biosdisk.c (read_device_map): Skip devices that don't exist
10301 (this prevents the presence of a bogus entry from ruining the whole
10302 thing).
10303
87a297bf 103042008-04-06 Pavel Roskin <proski@gnu.org>
10305
36747a62 10306 * util/biosdisk.c: Include grub/util/biosdisk.h.
10307 * util/grub-fstest.c (execute_command): Make static.
10308 * util/grub-mkdevicemap.c (check_device): Likewise.
10309 * util/i386/pc/misc.c: Include grub/machine/init.h.
10310 * util/powerpc/ieee1275/misc.c: Likewise.
10311 * util/lvm.c: Include grub/util/lvm.h.
10312 * util/misc.c: Include grub/kernel.h, grub/misc.h and
10313 grub/cache.h.
10314 * util/raid.c: Include grub/util/raid.h.
10315 (grub_util_getdiskname): Make static.
10316
87a297bf 10317 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
10318 grub_hostfs_fini(), as they are called from grub_init_all() and
10319 grub_fini_all() respectively. This fixes an infinite loop in
10320 grub-fstest due to double registration of hostfs.
10321 Reported by Christian Franke <Christian.Franke@t-online.de>
10322
f6ce7629 103232008-04-05 Pavel Roskin <proski@gnu.org>
10324
10325 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
10326 all 8 functions. Otherwise, probe function 0 only.
10327
070e49e4 103282008-04-04 Pavel Roskin <proski@gnu.org>
10329
8b088a4c 10330 * commands/lspci.c (grub_lspci_iter): Print the bus number
10331 correctly.
10332
4f657021 10333 * commands/lspci.c (grub_pci_classes): Fix typos.
10334 (grub_lspci_iter): Don't print func twice. Print vendor ID
10335 before device ID, as it's normally done.
10336
070e49e4 10337 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
10338 Fix signedness warnings.
10339 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
10340 Likewise.
10341 * util/ieee1275/get_disk_name.c: Include config.h so that
10342 _GNU_SOURCE is defined and getline() is declared. Mark an
10343 unused argument as such. Fix a signedness warning.
10344
ba7328dc 103452008-04-02 Pavel Roskin <proski@gnu.org>
10346
26887f22 10347 * genkernsyms.sh.in: Use more robust assignments for CC and
10348 srcdir. Quote srcdir.
10349 * gensymlist.sh.in: Likewise. Assert at the compile time that
10350 the symbol table is not empty.
10351
ba7328dc 10352 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
10353 * fs/cpio.c (grub_cpio_read): Likewise.
10354
0f582c6b 103552008-04-01 Pavel Roskin <proski@gnu.org>
10356
4b6e1995 10357 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
10358 * disk/host.c (grub_host_open): Likewise.
10359 * disk/loopback.c (grub_loopback_open): Likewise.
10360 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
10361 disk->id as in disk/host.c, not a multi-character constant.
10362
828a2768 10363 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
10364 later is obsolete, potentially dangerous and sets a bad example.
10365 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
10366 * util/misc.c (grub_util_get_image_size): Likewise.
10367
2bb4fb47 10368 * disk/loopback.c (options): Improve help for "--partitions".
10369
0f582c6b 10370 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
10371 options to align them with the short options, e.g. "echo -e".
10372
a33224e0 103732008-03-31 Bean <bean123ch@gmail.com>
10374
10375 * video/reader/png.c (grub_png_data): New member is_16bit and
10376 image_data.
10377 (grub_png_decode_image_header): Detect 16 bit png image.
10378 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
10379 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
10380 (grub_video_reader_png): Release memory occupied by image_data.
10381
10382 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
10383 4096 bytes.
10384 (grub_nfs_mount): Skip the test for sector per cluster.
10385
10386 * include/grub/ntfs.h (MAX_SPC): Removed.
10387
86cb4f54 103882008-03-31 Bean <bean123ch@gmail.com>
10389
10390 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
10391 (grub_probe_SOURCES): Add fs/afs.c.
10392 (grub_fstest_SOURCES): Likewise.
10393 (afs_mod_SOURCES): New variable.
10394 (afs_mod_CFLAGS): Likewise.
10395 (afs_mod_LDFLAGS): Likewise.
10396
10397 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
10398 (grub_emu_SOURCES): Likewise.
10399
10400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10401
10402 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10403
10404 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10405
10406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10407
10408 * fs/afs.c: New file.
10409
17c74c21 104102008-03-30 Pavel Roskin <proski@gnu.org>
10411
4cb68e89 10412 * disk/host.c: Include grub/misc.h to fix a warning.
10413 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
10414 warnings about implicit declarations.
10415
8790bb04 10416 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
10417 variable.
10418 * include/grub/i386/loader.h: Change declaration of
10419 grub_linux_boot() to match what grub_loader_set() expects.
10420 * util/getroot.c (grub_guess_root_device): Return const char* to
10421 fix a warning.
10422 * util/grub-probe.c (probe): Fix a warning about uninitialized
10423 abstraction_name variable.
10424 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
10425 second argument as unused to fix a warning.
10426
9a3f3296 10427 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
10428 missing grub_error() call.
10429
0ecef90d 10430 * util/update-grub_lib.in: Define datarootdir, since Autoconf
10431 2.60 and newer uses it to define datadir.
10432
0bf6d401 10433 * commands/sleep.c: Fix warning about implicit declaration.
10434 * disk/memdisk.c: Likewise.
10435 * loader/aout.c: Likewise.
10436 * loader/i386/bsd_normal.c: Likewise.
10437 * util/grub-probe.c: Likewise.
10438
7cdacf97 10439 * commands/i386/cpuid.c (has_longmode): Make static.
10440 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
10441 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
10442
17c74c21 10443 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
10444 GDT. This is more robust, as %ds can change.
10445 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
10446 calling real_to_prot().
10447 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
10448
80a3e68b 104492008-03-28 Pavel Roskin <proski@gnu.org>
10450
10451 * kern/i386/pc/startup.S: Assert that uncompressed functions
10452 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
10453 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
10454 code, as they push parts of the code (error handlers) beyond
10455 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
10456 code as correctness and size.
10457
77bcd272 104582008-03-28 Pavel Roskin <proski@gnu.org>
10459
10460 * kern/i386/pc/startup.S
10461 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
10462 data block address to the real mode, keep offset minimal. This
10463 works around a bug in AWARD BIOS on old Athlon systems, which
10464 makes CD detection hang.
10465
c5dfd43b 104662008-03-26 Pavel Roskin <proski@gnu.org>
10467
10468 * normal/color.c (grub_parse_color_name_pair): Make `name' a
10469 const.
10470 * include/grub/normal.h: Add grub_parse_color_name_pair()
10471 declaration.
10472
bf962df2 104732008-03-24 Bean <bean123ch@gmail.com>
10474
10475 * disk/i386/pc/biosdisk.c (cd_start): Removed.
10476 (cd_count): Removed.
10477 (cd_drive): New variable.
10478 (grub_biosdisk_get_drive): Don't check for (cdN) device.
10479 (grub_biosdisk_call_hook): Likewise.
10480 (grub_biosdisk_iterate): Change cdrom detection method.
10481 (grub_biosdisk_open): Replace cd_start with cd_drive.
10482 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
10483 detect cdrom device.
10484
10485 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
10486 Removed.
10487 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
10488 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
10489 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
10490 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
10491 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
10492 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
10493 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
10494 (grub_biosdisk_cdrp): New structure.
10495 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
10496
10497 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
10498
10499 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
10500 device.
10501
10502 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
10503 New function.
10504
68e7fc7a 105052008-03-20 Robert Millan <rmh@aybabtu.com>
10506
10507 Remove 2 TiB limit in ata.mod.
10508 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
10509 (grub_ata_dumpinfo): Print sector count with 0x%llx.
10510 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
10511 grub_uint64_t instead of grub_uint32_t.
10512
38ad2cf5 105132008-03-05 Bean <bean123ch@gmail.com>
10514
10515 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
10516 (grub_multiboot): Set boot device.
10517
10518 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
10519
2b89344e 105202008-03-02 Bean <bean123ch@gmail.com>
10521
10522 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
10523 symlink_buffer.
10524
87a95d1f 105252008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
10526
10527 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
10528 texinfo.tex.
10529
10530 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
10531 modified.
10532
10533 * docs/fdl.texi: New file.
f19dbdb7 10534
87a95d1f 10535 * docs/mdate-sh: New file. Copied from gnulib.
10536 * docs/texinfo.tex: Likewise.
10537
10538 * config.guess: Updated from gnulib.
10539 * install-sh: Likewise.
10540
7dc15d8e 105412008-02-28 Robert Millan <rmh@aybabtu.com>
10542
10543 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
10544 (aout_mod_SOURCES): New variable.
10545 (aout_mod_CFLAGS): Likewise.
10546 (aout_mod_LDFLAGS): Likewise.
10547
10548 * conf/i386-ieee1275.rmk: Likewise.
10549
b00ab696 105502008-02-28 Robert Millan <rmh@aybabtu.com>
10551
10552 * util/update-grub.in: Reorganise terminal validity check. Accept
10553 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
10554 Based on suggestion by Franklin PIAT.
10555
79ca2d78 105562008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
10557
10558 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
10559 function.
10560 * util/getroot.c (grub_util_check_block_device): New function that
10561 returns the given argument if it is a block device and returns NULL else.
10562 * util/grub-probe.c (argument_is_device): New variable.
10563 (probe): Promote device_name from a variable to an argument. Receive
10564 device_name from grub_util_check_block_device() if path is NULL and from
10565 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 10566 (options): Introduce new parameter '-d, --device'.
79ca2d78 10567 (main): Add description of the new parameter to the help screen.
10568 Rename path variable to argument. Set argument_is_device if the '-d'
10569 option is given. Pass argument to probe() depending on
10570 argument_is_device.
10571
0d16e571 105722008-02-24 Bean <bean123ch@gmail.com>
10573
10574 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
10575 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
10576 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
10577 (GRUB_ISO9660_VOLDESC_PART): Likewise.
10578 (GRUB_ISO9660_VOLDESC_END): Likewise.
10579 (grub_iso9660_primary_voldesc): New member escape.
10580 (grub_iso9660_data): New member joliet.
10581 (grub_iso9660_convert_string): New function.
10582 (grub_iso9660_mount): Detect joliet extension.
10583 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
10584 (grub_iso9660_iso9660_label): Likewise.
10585
10586 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
10587 (grub_setup_SOURCES): Add fs/udf.c.
10588 (grub_fstest_SOURCES): Likewise.
10589 (udf_mod_SOURCES): New variable.
10590 (udf_mod_CFLAGS): Likewise.
10591 (udf_mod_LDFLAGS): Likewise.
10592
10593 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
10594 (grub_emu_SOURCES): Likewise.
10595
10596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10597
10598 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10599
10600 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10601
10602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10603
10604 * fs/udf.c: New file.
10605
8a594a17 106062008-02-24 Robert Millan <rmh@aybabtu.com>
10607
10608 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
10609 (normal/lexer.c_DEPENDENCIES): New variables.
10610 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10611 (normal/lexer.c_DEPENDENCIES): Likewise.
10612 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
10613 (normal/lexer.c_DEPENDENCIES): Likewise.
10614 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
10615 (normal/lexer.c_DEPENDENCIES): Likewise.
10616 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10617 (normal/lexer.c_DEPENDENCIES): Likewise.
10618 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10619 (normal/lexer.c_DEPENDENCIES): Likewise.
10620
2dc33c03 106212008-02-23 Robert Millan <rmh@aybabtu.com>
10622
10623 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
10624 since they were intended to be in hex. This didn't break previously
10625 because of a bug in gpt_partition_map_iterate() (see below).
10626
10627 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
10628 when checking the validity of GPT header.
10629 Remove `partno', since it always provides the same information as `i'.
10630
f6f4cfb0 106312008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
10632
10633 * include/grub/efi/time.h: Fix a wrong comment.
10634
79ff665f 106352008-02-19 Pavel Roskin <proski@gnu.org>
10636
10637 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
10638 message.
10639
d38e24c2 106402008-02-19 Bean <bean123ch@gmail.com>
10641
10642 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
10643 (aout_mod_SOURCES): New variable.
10644 (aout_mod_CFLAGS): Likewise.
10645 (aout_mod_LDFLAGS): Likewise.
10646 (_bsd_mod_SOURCES): New variable.
10647 (_bsd_mod_CFLAGS): Likewise.
10648 (_bsd_mod_LDFLAGS): Likewise.
10649 (bsd_mod_SOURCES): New variable.
10650 (bsd_mod_CFLAGS): Likewise.
10651 (bsd_mod_LDFLAGS): Likewise.
10652
10653 * include/grub/aout.h: New file.
10654
10655 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
10656
10657 * include/grub/i386/bsd.h: New file.
10658
10659 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
10660 to make it public.
10661
10662 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
10663 function is called, so that it's possible to change it inside the hook.
10664 (grub_elf64_load): Likewise.
10665 (grub_elf_file): Don't close the file if elf header is not found.
10666 (grub_elf_close): Close the file if grub_elf_file fails (The new
10667 grub_elf_file won't close it).
10668 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
10669 (grub_elf64_size): Likewise.
10670
10671 * kern/i386/loader.S (grub_unix_real_boot): New function.
10672
10673 * loader/aout.c: New file.
10674
10675 * loader/i386/bsd.c: New file.
10676
10677 * loader/i386/bsd_normal.c: New file.
10678
10679 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
10680
10681 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 10682 can test other formats.
d38e24c2 10683
b93bdb0f 106842008-02-19 Robert Millan <rmh@aybabtu.com>
10685
10686 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
10687 (grub_gpt_partition_type_empty): Redefine with macro from
10688 `<grub/gpt_partition.h>'.
10689 (gpt_partition_map_iterate): Adjust partition type comparison.
10690
10691 Export `entry' as partmap-specific `part.data' struct.
10692 (grub_gpt_header, grub_gpt_partentry): Move from here ...
10693
10694 * include/grub/gpt_partition.h (grub_gpt_header)
10695 (grub_gpt_partentry): ... to here (new file).
10696
10697 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
10698
10699 (grub_gpt_partition_type_bios_boot): New const variable, defined
10700 with macro from `<grub/gpt_partition.h>'.
10701
10702 (setup): Replace `first_start' with `embed_region', which keeps
10703 track of the embed region (and is partmap-agnostic).
10704
10705 Replace find_first_partition_start() with find_usable_region(),
10706 which finds a usable region for embedding using partmap-specific
10707 knowledge (supports PC/MSDOS and GPT).
10708
10709 Fix all assumptions that the embed region start at sector 1, using
10710 `embed_region.start' from now on. Similarly, use `embed_region.end'
10711 rather than `first_start' to calculate available size.
10712
10713 In grub_util_info() message, replace "into after the MBR" with an
10714 indication of the specific sector our embed region starts at.
10715
66cb40f6 107162008-02-19 Robert Millan <rmh@aybabtu.com>
10717
10718 * DISTLIST: Replace `commands/ieee1275/halt.c' and
10719 `commands/ieee1275/reboot.c' with `commands/halt.c' and
10720 `commands/reboot.c'.
10721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10722 (halt_mod_SOURCES): Likewise.
10723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10724 (halt_mod_SOURCES): Likewise.
10725
b7202015 107262008-02-17 Christian Franke <franke@computer.org>
10727
10728 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
10729
32b0fc49 107302008-02-17 Robert Millan <rmh@aybabtu.com>
10731
10732 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10733 set `first_start' to 0 for non-PC/MSDOS partition maps.
10734
aca63502 107352008-02-16 Robert Millan <rmh@aybabtu.com>
10736
10737 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10738 do not assume partition map is PC/MSDOS before performing checks that
10739 are specific to that layout.
10740
0de8be86 107412008-02-13 Robert Millan <rmh@aybabtu.com>
10742
10743 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
10744 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
10745 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
10746
c3db8364 107472008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
10748
10749 * configure.ac: Only a cosmetic change on the handling of
10750 -fno-stack-protector.
10751
f714229e 107522008-02-12 Alexandre Boeglin <alex@boeglin.org>
10753
c3db8364 10754 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
10755 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
10756 reboot.c.
f714229e 10757 (grub_install_SOURCES): Add halt.mod and reboot.mod.
10758 (halt_mod_SOURCES): New variable.
10759 (halt_mod_CFLAGS): Likewise.
10760 (halt_mod_LDFLAGS): Likewise.
10761 (reboot_mod_SOURCES): Likewise.
10762 (reboot_mod_CFLAGS): Likewise.
10763 (reboot_mod_LDFLAGS): Likewise.
10764
c3db8364 10765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
10766 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
10767 reboot.c.
f714229e 10768 (halt_mod_SOURCES): Likewise.
10769 (reboot_mod_SOURCES): Likewise.
10770
c3db8364 10771 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
10772 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 10773 (reboot_mod_SOURCES): Likewise.
10774
10775 * commands/i386/pc/reboot.c: merge this file ...
10776
10777 * commands/ieee1275/reboot.c: ... and this file ...
10778
10779 * commands/reboot.c: ... to this file.
c3db8364 10780 Add some precompiler directive to include the correct header for
10781 each machine.
f714229e 10782
10783 * commands/ieee1275/halt.c: move this file ...
10784
10785 * commands/halt.c: ... to here.
c3db8364 10786 Add some precompiler directive to include the correct header for
10787 each machine.
f714229e 10788
10789 * include/grub/efi/efi.h (grub_reboot): New function declaration.
10790 (grub_halt): Likewise.
10791
10792 * kern/efi/efi.c (grub_reboot): New function.
10793 (grub_halt): Likewise.
10794
c74493e0 107952008-02-12 Robert Millan <rmh@aybabtu.com>
10796
10797 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
10798 /dev (like it is done for /dev/mapper). This doesn't provide support
10799 for EVMS, but at least it is now easy to identify the problem when it
10800 arises.
10801
d0db4b04 108022008-02-11 Robert Millan <rmh@aybabtu.com>
10803
10804 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
10805 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
10806 comparing it with -1, not 0.
10807
bf748642 108082008-02-10 Robert Millan <rmh@aybabtu.com>
10809
10810 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
10811 `disk/lvm.c'.
10812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10813 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10814
10815 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
10816 `disk/lvm.c' to the end of the list.
10817 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10818 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10819
b5db202a 108202008-02-10 Robert Millan <rmh@aybabtu.com>
10821
10822 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
10823 grub_print_error() instead. This will let user know why we're entering
10824 rescue mode.
10825 Based on suggestions from Sam Morris.
10826
83abee31 108272008-02-10 Alexandre Boeglin <alex@boeglin.org>
10828
10829 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
10830 on remaining N args, instead of "--" arg N times.
10831
78d5a08b 108322008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
10833
10834 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
10835 (fill_with_default_glyph): Changed to use unknown_glyph for fill
10836 pattern for unknown glyphs.
10837
68807e5f 108382008-02-09 Robert Millan <rmh@aybabtu.com>
10839
10840 * configure.ac: Probe for `help2man'.
10841 * Makefile.in (builddir): New variable.
10842 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
10843 or otherwise add a few flags/options to it.
10844 (install-local): For every executable utility or script that is
10845 installed, invoke $(HELP2MAN) to install a manpage based on --help
10846 output.
10847
10848 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
10849 that it doesn't prevent --help from working in build tree.
10850
10851 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
10852 with `bug-grub@gnu.org'.
10853 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
10854 * util/update-grub.in (usage): New function.
10855 Implement proper argument check, with support for --help and --version
10856 (as well as existing -y).
10857
108582008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 10859
10860 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
10861 avoid overwriting previous output.
10862 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
10863
c1962162 108642008-02-09 Robert Millan <rmh@aybabtu.com>
10865
10866 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
10867 drawing the menu.
10868
3dac2e3f 108692008-02-09 Robert Millan <rmh@aybabtu.com>
10870
10871 * commands/sleep.c: New file.
10872 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
10873 (sleep_mod_SOURCES): New variable.
10874 (sleep_mod_CFLAGS): Likewise.
10875 (sleep_mod_LDFLAGS): Likewise.
10876
7a634e08 108772008-02-09 Robert Millan <rmh@aybabtu.com>
10878
10879 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
10880 situations in which we can deduce the RAID size and the superblock
10881 doesn't match it.
10882
b92f0c18 108832008-02-09 Robert Millan <rmh@aybabtu.com>
10884
10885 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
10886 and return a grub_diskmemberlist_t composed of LVM physical volumes.
10887 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
10888
10889 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
10890 and return a grub_diskmemberlist_t composed of physical array members.
10891 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
10892
10893 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
10894 prototype.
10895 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
10896 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
10897 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
10898
10899 * util/grub-probe.c (probe): Move partmap probing code from here ...
10900 (probe_partmap): ... to here.
10901 (probe): Use probe_partmap() once for the disk we're probing, and
10902 additionally, when such disk contains a memberlist() struct member,
10903 once for each disk that is contained in the structure returned by
10904 memberlist().
10905
91a4bf68 109062008-02-09 Robert Millan <rmh@aybabtu.com>
10907
10908 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
10909 environment variable to 'all' in order to obtain debug output from
10910 non-util/ code.
10911 * util/i386/pc/grub-setup.c (main): Likewise.
10912
a96f9caa 109132008-02-08 Robert Millan <rmh@aybabtu.com>
10914
10915 * disk/raid.c (grub_raid_scan_device): Check for
10916 `array->device[sb.this_disk.number]' rather than for
10917 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 10918 guaranteed to be accessible.
a96f9caa 10919
b37a9222 109202008-02-08 Robert Millan <rmh@aybabtu.com>
10921
10922 * disk/raid.c: Update copyright.
10923 * fs/cpio.c: Likewise.
10924 * include/grub/raid.h: Likewise.
10925 * loader/i386/pc/multiboot.c: Likewise.
10926 * util/hostfs.c: Likewise.
10927
5626aee1 109282008-02-08 Robert Millan <rmh@aybabtu.com>
10929
10930 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
10931 to a grub_disk_t array.
10932 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
10933 `device[x]'.
10934 (grub_raid_scan_device): Replace `device[x].name' accesses with
10935 `device[x]->name'. Simplify initialization of `array->device[x]'.
10936
554f0187 109372008-02-08 Robert Millan <rmh@aybabtu.com>
10938
10939 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
10940 grub_dprintf() calls.
10941 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
10942 error message.
10943
1ec8425d 109442008-02-07 Christian Franke <franke@computer.org>
10945
10946 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
10947 instead of fseek and ftell to support large files.
10948 (grub_hostfs_read): Likewise.
10949
f2156fda 109502008-02-07 Robert Millan <rmh@aybabtu.com>
10951
10952 Patch from Jeroen Dekkers.
10953 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 10954 failure, since successfully reading all array members might not be
f2156fda 10955 required.
10956
9216e0e7 109572008-02-06 Robert Millan <rmh@aybabtu.com>
10958
10959 * util/grub-probe.c (probe): Simplify partmap probing (with the
10960 assumption that the first word up to the underscore equals to
10961 the module name).
10962
b0dfd29a 109632008-02-06 Christian Franke <franke@computer.org>
10964
10965 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
10966 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
10967 last block of a cpio or tar stream.
10968 Check for "TRAILER!!!" instead of any empty data
10969 block to detect last block of a cpio stream.
10970 (grub_cpio_dir): Fix constness of variable np.
10971 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
10972 cpio or tar trailer is detected. This fixes a crash
10973 on open of a non existing file.
10974
c32865bf 109752008-02-05 Bean <bean123ch@gmail.com>
10976
10977 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
10978 address of entry.
10979 (grub_multiboot_load_elf64): Likewise.
10980 (grub_multiboot): Initialize mbi structure.
10981
10982 * util/grub-fstest.c: Don't include unused header file script.h.
10983
fe6b695a 10984 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 10985 of file.
10986 (grub_fstest_SOURCES): Likewise.
10987
409480b7 109882008-02-05 Robert Millan <rmh@aybabtu.com>
10989
10990 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
10991 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
10992 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
10993 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
10994
10995 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
10996 (translation_table): Replace hardcoded values with macros
10997 provided by `<grub/term.h>'.
10998
10999 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
11000 (keyboard_map): Correct/add a few values, with macros provided
11001 by `<grub/term.h>'.
11002 (keyboard_map_shift): Zero values that don't differ from their
11003 `keyboard_map' equivalents.
11004 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
11005 Discard the second scan code that is always sent by Caps lock.
11006 Only use `keyboard_map_shift' when it provides a non-zero value,
11007 otherwise fallback to `keyboard_map'.
11008
99fadbaa 110092008-02-04 Bean <bean123ch@gmail.com>
11010
11011 * Makefile.in (enable_grub_fstest): New variable.
11012
11013 * conf/common.rmk (grub_fstest_init.lst): New rule.
11014 (grub_fstest_init.h): Likewise.
11015 (grub_fstest_init.c): Likewise.
11016 (util/grub-fstest.c_DEPENDENCIES): New variable.
11017 (grub_fstest_SOURCES): Likewise.
11018
11019 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
11020
11021 * util/grub-fstest.c: New file.
11022
bf567c50 110232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11024
11025 Make grub-setup handle a separate root device.
f19dbdb7 11026
bf567c50 11027 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11028 so that the root device can be compared with the destination
11029 device.
11030 When embedding the core image, if the root and destination devices
11031 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11032 0xFF.
11033 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 11034
9be6b98b 110352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11036
11037 Add support for having a grub directory in a different drive. This
11038 is still only the data handling part.
f19dbdb7 11039
9be6b98b 11040 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11041 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11042 (grub_root_drive): New variable.
11043
11044 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11045 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11046 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11047 as it was.
11048
11049 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11050
11051 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11052 macro.
11053 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11054
11055 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11056 is bogus, because PXE booting does not specify any drive
11057 correctly.
11058
11059 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11060 am not sure if this is really correct.
11061
11062 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11063 is always identical to the boot drive when booting from a CD.
11064
11065 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11066 longer.
11067 (root_drive): New variable.
11068 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11069 (setup_sectors): Push %dx right after popping it, because %dh will
11070 be modified later.
11071 (copy_buffer): Restore %dx.
11072
e0ca0677 110732008-02-03 Robert Millan <rmh@aybabtu.com>
11074
11075 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11076 use `cdboot.img' for cdrom images.
11077
3b3f6629 110782008-02-03 Robert Millan <rmh@aybabtu.com>
11079
11080 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11081 only setup gfxterm when `font' command has succeeded.
11082
d42b3672 110832008-02-03 Robert Millan <rmh@aybabtu.com>
11084
11085 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11086 (grub_rescue_cmd_multiboot_loader)
11087 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11088
fa370ea6 110892008-02-03 Pavel Roskin <proski@gnu.org>
11090
e0c5dacb 11091 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 11092 %edx and %esi from stack only after grub_gate_a20() is called.
11093 grub_gate_a20() clobbers %edx.
11094
f2a76e1d 110952008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11096
11097 * configure.ac (AC_INIT): Bumped to 1.96.
11098
11099 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
11100 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
11101 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
11102 video/readers/png.c.
11103
90fd32d1 111042008-02-03 Bean <bean123ch@gmail.com>
9be665dd 11105
11106 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
11107 (cdboot_img_SOURCES): New variable.
11108 (cdboot_img_ASFLAGS): New variable.
11109 (cdboot_img_LDFLAGS): New variable.
11110
11111 * boot/i386/pc/cdboot.S: New file.
11112
11113 * disk/i386/pc/biosdisk.c (cd_start): New variable.
11114 (cd_count): Likewise.
11115 (grub_biosdisk_get_drive): Add support for cd device.
11116 (grub_biosdisk_call_hook): Likewise.
11117 (grub_biosdisk_iterate): Likewise.
11118 (grub_biosdisk_open): Likewise.
11119 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
11120 (grub_biosdisk_rw): Support reading from cd device.
11121 (GRUB_MOD_INIT): Iterate cd devices.
11122
11123 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
11124 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
11125 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
11126
11127 * kern/i386/pc/init.c (make_install_device): Check for cd device.
11128
4020aa53 111292008-02-02 Robert Millan <rmh@aybabtu.com>
11130
11131 * commands/read.c: New file.
11132 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
11133 (read_mod_SOURCES): New variable.
11134 (read_mod_CFLAGS): Likewise.
11135 (read_mod_LDFLAGS): Likewise.
11136
e03a1132 111372008-02-02 Robert Millan <rmh@aybabtu.com>
11138
11139 * normal/main.c (grub_normal_execute): Check for `menu->size' when
11140 determining whether menu has to be displayed.
11141
58c69220 111422008-02-02 Marco Gerards <marco@gnu.org>
11143
11144 * bus/pci.c: New file.
11145
11146 * include/grub/pci.h: Likewise.
11147
11148 * include/grub/i386/pc/pci.h: Likewise.
11149
11150 * commands/lspci.c: Likewise.
11151
11152 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
11153 `lspci.mod'.
11154 (pci_mod_SOURCES): New variable.
11155 (pci_mod_CFLAGS): Likewise.
11156 (pci_mod_LDFLAGS): Likewise.
11157 (lspci_mod_SOURCES): Likewise.
11158 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 11159 (lspci_mod_LDFLAGS): Likewise.
58c69220 11160
c004e1b4 111612008-02-02 Bean <bean123ch@gmail.com>
11162
11163 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
11164 (grub_ufs_get_file_block): Fix indirect block calculation problem.
11165
11166 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
11167 (grub_xfs_btree_node): New structure.
11168 (grub_xfs_btree_root): New structure.
11169 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
11170 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
11171 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11172 (GRUB_XFS_EXTENT_SIZE): Likewise.
11173 (grub_xfs_read_block): Support btree format type.
11174 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
11175 Use directory block as basic unit.
11176
11177 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
11178
11179 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
11180 __attribute__ ((__regparm__ (1))).
11181
f95562bf 111822008-02-01 Robert Millan <rmh@aybabtu.com>
11183
11184 Correct a mistake in previous commit.
11185
11186 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
11187 top.
11188 (normal/command.c_DEPENDENCIES): New variable.
11189
7d31f41f 111902008-02-01 Robert Millan <rmh@aybabtu.com>
11191
11192 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
11193 top.
11194 (normal/command.c_DEPENDENCIES): New variable.
11195 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
11196 * conf/i386-ieee1275.rmk: Likewise.
11197 * conf/i386-linuxbios.rmk: Likewise.
11198 * conf/i386-pc.rmk: Likewise.
11199 * conf/sparc64-ieee1275.rmk: Likewise.
11200 * conf/powerpc-ieee1275.rmk: Likewise.
11201 (grub_emu_SOURCES): Add `fs/fshelp.c'.
11202
11203 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
11204
60b6be74 112052008-02-01 Robert Millan <rmh@aybabtu.com>
11206
11207 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
11208 call at beginning of function.
11209
078522ab 112102008-01-31 Pavel Roskin <proski@gnu.org>
11211
11212 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 11213 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
11214 (grub_mkrescue_SOURCES): Likewise.
078522ab 11215 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
11216
ccaa8a5f 112172008-01-30 Robert Millan <rmh@aybabtu.com>
11218
11219 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
11220 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
11221 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
11222 (grub_probe_SOURCES): ... to here.
11223
11224 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
11225 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
11226 * conf/i386-ieee1275.rmk: Likewise.
11227 * conf/i386-linuxbios.rmk: Likewise.
11228 * conf/powerpc-ieee1275.rmk: Likewise.
11229
ae5a9cd7 112302008-01-30 Tristan Gingold <gingold@free.fr>
11231
11232 * kern/rescue.c: Silently accept empty lines.
11233
70bc2ef2 112342008-01-29 Bean <bean123ch@gmail.com>
11235
11236 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
11237 (real_code_2): Code cleanup and change comment style.
11238 (move_memory): Avoid using 32-bit address mode.
11239
6a4d50ea 112402008-01-29 Bean <bean123ch@gmail.com>
11241
11242 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
11243 (png_mod_SOURCES): New variable.
11244 (png_mod_CFLAGS): Likewise.
11245 (png_mod_LDFLAGS): Likewise.
11246
11247 * video/readers/png.c: New file.
11248
11cc30ac 112492008-01-28 Robert Millan <rmh@aybabtu.com>
11250
11251 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
11252 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
11253 `ifndef GRUB_MOD_GAP' hack.
11254 * util/elf/grub-mkimage.c (add_segments): Likewise.
11255
3abc589f 112562008-01-27 Robert Millan <rmh@aybabtu.com>
11257
11258 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
11259 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 11260 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 11261
e1907778 112622008-01-27 Robert Millan <rmh@aybabtu.com>
11263
11264 Get grub-emu to build again (including parallel builds).
11265
11266 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
11267 Split into ...
11268 (util/grub-emu.c_DEPENDENCIES): ... this, ...
11269 (normal/execute.c_DEPENDENCIES): ... this, ...
11270 (grub-emu_DEPENDENCIES): ... and this.
11271
11272 * conf/i386-efi.rmk: Likewise.
11273 * conf/i386-linuxbios.rmk: Likewise.
11274 * conf/i386-ieee1275.rmk: Likewise.
11275 * conf/powerpc-ieee1275.rmk: Likewise.
11276 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
11277
2216b101 112782008-01-27 Robert Millan <rmh@aybabtu.com>
11279
11280 * NEWS: Add a few items.
11281
f75172d9 112822008-01-27 Robert Millan <rmh@aybabtu.com>
11283
11284 Fix parallel builds with grub-emu. Based on earlier commit for
11285 grub-probe and grub-setup.
11286
11287 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11288 (util/grub-emu.c_DEPENDENCIES): ... this.
11289 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11290 (util/grub-emu.c_DEPENDENCIES): ... this.
11291 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11292 (util/grub-emu.c_DEPENDENCIES): ... this.
11293 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11294 (util/grub-emu.c_DEPENDENCIES): ... this.
11295 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11296 (util/grub-emu.c_DEPENDENCIES): ... this.
11297
3f51de77 112982008-01-27 Pavel Roskin <proski@gnu.org>
11299
11300 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
11301 to create a gap between _end and the modules added to the image
11302 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
11303 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
11304 * util/elf/grub-mkimage.c (add_segments): Likewise.
11305
2033f53e 113062008-01-26 Pavel Roskin <proski@gnu.org>
11307
11308 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
11309 just return an error.
11310
22da1f6f 113112008-01-26 Bean <bean123ch@gmail.com>
11312
11313 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
11314 (grub_reiserfs_get_item): Save offset of the next item.
11315 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
11316
2a9525e6 113172008-01-25 Robert Millan <rmh@aybabtu.com>
11318
11319 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
11320 make all filesystem sources appear together (possibly fixing omissions
11321 while at it).
11322 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11323 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11324 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11326
11327 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
11328 add `kern/file.c'.
11329 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
11330 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11331 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
11332 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11333
11334 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
11335 (probe): Add a sanity check to make sure of our ability to read
11336 requested files when probing for filesystem type.
11337
11338 * genmk.rb: Update copyright year (2007).
11339
11340 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
11341 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
11342 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
11343 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
11344 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
11345 : Remove function prototypes.
11346
b95f71b5 113472008-01-25 Robert Millan <rmh@aybabtu.com>
11348
11349 Revert my previous commits (based on wrong assumption of how grub_errno
11350 works).
11351
fe6b695a 11352 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 11353 * kern/file.c (grub_file_open): Likewise.
11354
d08bbb49 113552008-01-24 Pavel Roskin <proski@gnu.org>
11356
11357 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
11358 that hang if GRUB tries to setup colors.
11359 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
11360 colors for firmwares that don't support it.
11361 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
11362 Recognize Open Hack'Ware, set flags to work around its
11363 limitations.
11364
605e36ed 113652008-01-24 Robert Millan <rmh@aybabtu.com>
11366
11367 * kern/file.c (grub_file_open): Do not account previous failures of
11368 unrelated functions when grub_errno is checked for.
11369 Reported by Oleg Strikov.
11370
bac332a1 113712008-01-24 Bean <bean123ch@gmail.com>
11372
11373 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
11374 (grub_ufs_sblock): New member volume name.
11375 (grub_ufs_find_file): Fix string copy bug.
11376 (grub_ufs_label): Implement this function properly.
11377
11378 * fs/hfs.c (grub_hfs_cnid_type): New enum.
11379 (grub_hfs_iterate_records): Use the correct file number for extents
11380 and catalog file. Fix problem in next index calculation.
11381 (grub_hfs_find_node): Replace recursive function call with loop.
11382 (grub_hfs_iterate_dir): Replace recursive function call with loop.
11383
15c80c09 113842008-01-23 Robert Millan <rmh@aybabtu.com>
11385
11386 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
11387 `<grub/symbol.h>' and `<grub/multiboot.h>'.
11388 (grub_multiboot2_real_boot): New function prototype.
11389
11390 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
11391 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
11392
11393 * kern/i386/ieee1275/init.c (grub_os_area_addr)
11394 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
11395
305338fd 113962008-01-23 Robert Millan <rmh@aybabtu.com>
11397
11398 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
11399 #ifdef'ed out grub_printf().
11400
3ea52685 114012008-01-23 Robert Millan <rmh@aybabtu.com>
11402
11403 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
11404 grub_dprintf calls, since they make "debug=all" mode unusable.
11405 (grub_console_checkkey): Likewise.
11406
5882ae4b 114072008-01-23 Robert Millan <rmh@aybabtu.com>
11408
11409 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11410 `term/i386/pc/at_keyboard.c'.
11411 (pkglib_MODULES): Add `serial.mod'.
11412 (serial_mod_SOURCES): New variable.
11413 (serial_mod_CFLAGS): Likewise.
11414 (serial_mod_LDFLAGS): Likewise.
11415
11416 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
11417 `<grub/powerpc/ieee1275/console.h>'.
11418 (grub_keyboard_controller_init): New function prototype.
11419 (grub_console_checkkey): Likewise.
11420 (grub_console_getkey): Likewise.
11421
11422 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
11423 keyboard on i386.
11424
11425 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
11426 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
11427
06ab5303 114282008-01-23 Robert Millan <rmh@aybabtu.com>
11429
11430 * kern/i386/pc/init.c (make_install_device): When memdisk image is
11431 present, "(memdisk)/boot/grub" becomes the default prefix.
11432
11433 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
11434 a memdisk tarball with all the modules. Add --overlay=DIR option that
11435 allows users to overlay additional files into the image.
11436
dbb475a4 114372008-01-23 Robert Millan <rmh@aybabtu.com>
11438
11439 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
11440 and `machine/memory.h'.
11441 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
11442 (_multiboot_mod_SOURCES): New variable.
11443 (_multiboot_mod_CFLAGS): Likewise.
11444 (_multiboot_mod_LDFLAGS): Likewise.
11445 (multiboot_mod_SOURCES): Likewise.
11446 (multiboot_mod_CFLAGS): Likewise.
11447 (multiboot_mod_LDFLAGS): Likewise.
11448
11449 * include/grub/i386/ieee1275/loader.h: New file.
11450
11451 * include/grub/i386/ieee1275/machine.h: Likewise.
11452
11453 * include/grub/i386/ieee1275/memory.h: Likewise.
11454
11455 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
11456 variable declaration.
11457 (grub_os_area_size): Likewise.
11458
11459 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
11460 (grub_lower_mem, grub_upper_mem): New variables.
11461 (grub_stop_floppy): New function (just to make
11462 grub_multiboot2_real_boot() happy).
11463
11464 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
11465 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
11466 (grub_stop): New function.
11467 Include `"../realmode.S"' and `"../loader.S"'.
11468
11469 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
11470 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
11471
11472 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
11473 rely on grub_multiboot2_real_boot() for final boot.
11474
25638629 114752008-01-22 Robert Millan <rmh@aybabtu.com>
11476
11477 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
11478 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
11479 device that doesn't look like an SD card.
11480 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
11481 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
11482 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
11483 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
11484 found.
11485
9dad816d 114862008-01-22 Robert Millan <rmh@aybabtu.com>
11487
11488 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
11489 avoid claiming over our own code.
11490
34842f2d 114912008-01-22 Bean <bean123ch@gmail.com>
11492
11493 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
11494 (jpeg_mod_SOURCES): New variable.
11495 (jpeg_mod_CFLAGS): Likewise.
11496 (jpeg_mod_LDFLAGS): Likewise.
11497
11498 * video/readers/jpeg.c : New file.
11499
44023a28 115002008-01-22 Bean <bean123ch@gmail.com>
11501
11502 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
11503 there are no more items.
11504
bc2d8ac6 115052008-01-21 Robert Millan <rmh@aybabtu.com>
11506
11507 * kern/mm.c (grub_mm_init_region): Improve debug message.
11508
261bd4bc 115092008-01-21 Robert Millan <rmh@aybabtu.com>
11510
11511 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
11512 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
11513 address.
11514 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
11515 a C macro.
11516 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
11517 Indicates start of upper memory.
11518 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
11519 (generate_image): Abort when image size is big enough to corrupt
11520 upper memory.
11521
11522 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
11523 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
11524 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11525 instead of hardcoding 0xA0000.
11526 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
11527 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11528 instead of hardcoding 0xA0000.
11529
f970b55e 115302008-01-21 Robert Millan <rmh@aybabtu.com>
11531
11532 * disk/memdisk.c (memdisk_size): New variable.
11533 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
11534 `memdisk_size'.
11535 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
11536 image to dynamic memory.
11537 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
11538 `memdisk_size'. Free memdisk block.
11539
1a8b0526 115402008-01-21 Robert Millan <rmh@aybabtu.com>
11541
11542 Fix detection of very small filesystems (like tar).
11543
11544 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
11545 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
11546 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
11547 a problem with this disk).
11548
6e9b4aab 115492008-01-21 Robert Millan <rmh@aybabtu.com>
11550
11551 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
11552 on grub_biosdisk_rw_standard() error.
11553
0d8837b2 115542008-01-21 Robert Millan <rmh@aybabtu.com>
11555
11556 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
11557 recent changes.
11558 * kern/elf.c: Likewise.
11559 * kern/ieee1275/ieee1275.c: Likewise.
11560 * kern/powerpc/ieee1275/openfw.c: Likewise.
11561 * term/ieee1275/ofconsole.c: Likewise.
11562
ffd36e34 115632008-01-21 Robert Millan <rmh@aybabtu.com>
11564
11565 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
11566
3f0093d0 11567 * include/grub/kernel.h (grub_arch_memdisk_addr)
11568 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 11569
3f0093d0 11570 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
11571 (grub_arch_memdisk_size): ... to here.
ffd36e34 11572
6c391b21 115732008-01-21 Robert Millan <rmh@aybabtu.com>
11574
11575 Mostly based on bugfix from Bean.
11576
11577 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
11578 attribute with hook() parameter.
11579 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
11580 declaration.
11581 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
11582 attribute with hook() parameter.
11583 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
11584 declaration.
11585
55a581dc 115862008-01-21 Robert Millan <rmh@aybabtu.com>
11587
11588 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
11589 (pkglib_MODULES): Add `memdisk.mod'.
11590 (memdisk_mod_SOURCES): New variable.
11591 (memdisk_mod_CFLAGS): Likewise.
11592 (memdisk_mod_LDFLAGS): Likewise.
11593
11594 * disk/memdisk.c: New file.
11595
11596 * include/grub/disk.h (grub_disk_dev_id): Add
11597 `GRUB_DISK_DEVICE_MEMDISK_ID'.
11598
11599 * include/grub/i386/pc/kernel.h
11600 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
11601 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
11602 (grub_kernel_image_size): New variable declaration.
11603 (grub_total_module_size): Likewise.
11604 (grub_memdisk_image_size): Likewise.
11605
11606 * include/grub/i386/pc/memory.h
11607 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
11608
11609 * include/grub/kernel.h: Include `<grub/symbol.h>'.
11610 (grub_arch_memdisk_addr): New variable declaration.
11611 (grub_arch_memdisk_size): Likewise.
11612
11613 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
11614 (grub_arch_memdisk_size): Likewise.
11615
11616 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
11617 (codestart): Replace hardcoded `0x100000' with
11618 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
11619
11620 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
11621 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
11622 not NULL, append the contents of the file it refers to, at the end of
11623 the compressed kernel image. Initialize `grub_memdisk_image_size'
11624 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
11625 (options): Add "memdisk"|'m' option.
11626 (main): Parse --memdisk|-m option, and pass user-provided path as
11627 parameter to generate_image().
11628
3d7f54c9 116292008-01-20 Robert Millan <rmh@aybabtu.com>
11630
11631 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
11632 grub_dprintf() calls from here ...
11633 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
11634
0bf74728 116352008-01-20 Robert Millan <rmh@aybabtu.com>
11636
11637 Fix detection of "real mode" when /options/real-mode? doesn't exist.
11638
11639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
11640 declaration.
11641 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
11642 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
11643 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 11644 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 11645 property).
11646 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
11647 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
11648
33bf70a7 116492008-01-19 Robert Millan <rmh@aybabtu.com>
11650
fe6b695a 11651 Get rid of confusing function (superseded by
33bf70a7 11652 `grub_ieee1275_get_integer_property')
11653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
11654 prototype.
11655 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
11656 function.
11657 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
11658 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 11659 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 11660
e2da7d26 116612008-01-19 Robert Millan <rmh@aybabtu.com>
11662
11663 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
11664 command after "shut-down", since implementations differ on which
11665 the command for halt is.
11666
59f1fd8d 116672008-01-19 Robert Millan <rmh@aybabtu.com>
11668
11669 * include/grub/i386/linuxbios/console.h: Add header protection.
11670 (grub_keyboard_controller_init): New function prototype.
11671 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
11672 (KEYBOARD_COMMAND_READ): Likewise.
11673 (KEYBOARD_COMMAND_WRITE): Likewise.
11674 (KEYBOARD_SCANCODE_SET1): Likewise.
11675 (grub_keyboard_controller_write): New function.
11676 (grub_keyboard_controller_read): Likewise.
11677 (grub_keyboard_controller_init): Likewise.
11678
11679 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
11680 (grub_console_init): On coreboot/LinuxBIOS, call
11681 grub_keyboard_controller_init().
11682
5f5a7c15 116832008-01-19 Robert Millan <rmh@aybabtu.com>
11684
11685 PowerPC changes provided by Pavel Roskin.
11686
11687 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
11688 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
11689 don't rely on cmain() doing it.
11690 * kern/i386/ieee1275/startup.S (_start): Store %eax in
11691 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
11692
1210e168 116932008-01-16 Robert Millan <rmh@aybabtu.com>
11694
11695 * include/grub/i386/linuxbios/memory.h
11696 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
11697 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
11698 receive `table_header' as argument. Instead, probe for it in the
11699 known memory ranges where it can be present.
11700 (grub_available_iterate): Do not pass a fixed `table_header' address
11701 to grub_linuxbios_table_iterate().
11702
3d04eab8 117032008-01-15 Robert Millan <rmh@aybabtu.com>
11704
11705 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
11706 * conf/i386-ieee1275.rmk: New file.
11707 * include/grub/i386/ieee1275/console.h: Likewise.
11708 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
11709 * include/grub/i386/ieee1275/kernel.h: Likewise.
11710 * include/grub/i386/ieee1275/time.h: Likewise.
11711 * kern/i386/ieee1275/init.c: Likewise.
11712 * kern/i386/ieee1275/startup.S: Likewise.
11713
d1bc1b73 117142008-01-15 Robert Millan <rmh@aybabtu.com>
11715
11716 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
11717 when pointers are 32-bit (but still do set it to one when they are
11718 64-bit).
11719
66a65807 117202008-01-15 Robert Millan <rmh@aybabtu.com>
11721
11722 * include/grub/ieee1275/ieee1275.h
11723 (grub_ieee1275_get_integer_property): New function prototype.
11724
11725 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
11726 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 11727 grub_ieee1275_get_property() to handle endianness.
66a65807 11728
11729 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
11730 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 11731 where appropriate.
66a65807 11732 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
11733 (grub_map): Likewise.
11734 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
11735
a83ccafd 117362008-01-15 Bean <bean123ch@gmail.com>
11737
11738 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
11739 (grub_script_execute_cmdline): Reset grub_errno.
11740
11741 * normal/main.c (read_config_file): Reset grub_errno.
11742
11743 * normal/parse.y (script_init): New.
11744 (script): Move function and menuentry here.
11745 (delimiter): New.
11746 (command): Add delimiter at the end of command.
11747 (commands): Adjust to match the new command.
11748 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 11749 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 11750 (if): Use the new commands.
11751
11752 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
11753
df6ecfc6 117542008-01-15 Robert Millan <rmh@aybabtu.com>
11755
11756 * normal/menu.c (run_menu): Move timeout message from here ...
11757 (print_timeout): ... to here.
11758 (run_menu): Use print_timeout() once during initial draw to print
11759 the whole message, and again in every clock tick to update only
11760 the number of seconds.
11761
87ae25eb 117622008-01-15 Robert Millan <rmh@aybabtu.com>
11763
11764 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
11765 actual size of `available' from grub_ieee1275_get_property(), and
11766 restrict parsing to that bound.
11767
47bf09a4 117682008-01-15 Christian Franke <franke@computer.org>
11769
11770 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
11771 (argp_program_version): Remove variable.
11772 (argp_program_bug_address): Likewise.
11773 (options): Convert from struct argp_option to struct option.
11774 (struct arguments): Remove.
11775 (parse_opt): Remove.
11776 (usage): New function.
11777 (main): Replace struct args members by simple variables.
11778 Replace argp_parse() by getopt_long().
11779 Add switch to evaluate options.
11780 Add missing "(...)" around root_dev in prefix string.
11781
c86f1469 117822008-01-14 Robert Millan <rmh@aybabtu.com>
11783
11784 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
11785 for grub_ieee1275_exit(), in order to improve portability.
11786
e622c559 117872008-01-14 Robert Millan <rmh@aybabtu.com>
11788
11789 * util/grub.d/10_linux.in (prefix): Define.
11790 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
11791
44cb1ec8 117922008-01-13 Pavel Roskin <proski@gnu.org>
11793
11794 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
11795 grub_errno if no errors have been detected.
11796
1eb8c802 117972008-01-12 Robert Millan <rmh@aybabtu.com>
11798
11799 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
11800 (grub_util_get_dev_abstraction): New function prototype.
11801
11802 * util/getroot.c: Include `<grub/util/getroot.h>'
11803 (grub_util_get_grub_dev): Move detection of abstraction type to ...
11804 (grub_util_get_dev_abstraction): ... here (new function).
11805
11806 * util/grub-probe.c: Convert PRINT_* to an enum. Add
11807 `PRINT_ABSTRACTION'.
11808 (probe): Probe for abstraction type when requested.
11809 (main): Understand `--target=abstraction'.
11810
11811 * util/i386/efi/grub-install.in: Add abstraction module to core
11812 image when it is found to be necessary.
11813 * util/i386/pc/grub-install.in: Likewise.
11814 * util/powerpc/ieee1275/grub-install.in: Likewise.
11815
11816 * util/update-grub_lib.in (font_path): Return system path without
11817 converting to GRUB path.
11818 * util/update-grub.in: Convert system path returned by font_path()
11819 to a GRUB path. Use `grub-probe -t abstraction' to determine what
11820 abstraction module is needed for loading fonts (if any). Export
11821 that as `GRUB_PRELOAD_MODULES'.
11822 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
11823 insmod commands).
11824
52bd3de9 118252008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
11826
11827 Remove some unused code from reiserfs.
f19dbdb7 11828
52bd3de9 11829 * fs/reiserfs.c (struct grub_reiserfs_key)
11830 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
11831 (struct grub_reiserfs_node_body): Removed.
11832 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11833 Likewise.
11834 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11835 Likewise.
11836 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11837 Likewise.
11838 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11839 Likewise.
11840 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11841 Likewise.
11842 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
11843 Likewise.
11844 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11845 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11846 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11847
2f80039d 118482008-01-10 Robert Millan <rmh@aybabtu.com>
11849
11850 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
11851 Determines if a file is garbage left by packaging systems, etc.
11852 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
11853 for processing /etc/grub.d scripts.
11854 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
11855 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
11856 as a condition for processing Linux images.
11857
87888032 118582008-01-10 Pavel Roskin <proski@gnu.org>
11859
11860 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
11861 to compile reiserfs.c on PowerPC.
11862
7e54fced 118632008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 11864
11865 * kern/device.c (grub_device_iterate): Do not abort device iteration
11866 when one of the devices cannot be opened.
11867 * kern/disk.c (grub_disk_open): Do not account previous failures of
11868 unrelated functions when grub_errno is checked for.
11869
5aa541e6 118702008-01-08 Robert Millan <rmh@aybabtu.com>
11871
11872 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
11873 `! grub_linux_is_bzimage', change order of address comparison to make
11874 it more intuitive, and improve "too big zImage" error message.
11875
7076340d 118762008-01-08 Robert Millan <rmh@aybabtu.com>
11877
11878 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
11879 `$(update-grub_DATA)'.
11880 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
11881 targets.
11882
9ca70333 118832008-01-07 Robert Millan <rmh@aybabtu.com>
11884
11885 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
11886 which instruction is modified by grub-setup during installation
11887 (since it wasn't obvious by only looking at this file).
11888
38ccf575 118892008-01-07 Robert Millan <rmh@aybabtu.com>
11890
11891 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
11892 listing actual TODO items.
11893
f5db4291 118942008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11895
868967cf 11896 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
11897 correctly.
11898 (grub_reiserfs_get_key_offset): Likewise.
11899 (grub_reiserfs_set_key_offset): Likewise.
11900 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 11901 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 11902
11903 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
11904 better to remove the bitfield version completely.
f19dbdb7 11905
868967cf 119062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 11907
f5db4291 11908 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
11909 allocated from the heap, due to the fshelp implementation.
11910 (grub_reiserfs_dir): Free NODE, due to the same reason.
11911
492e6d9d 119122008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11913
11914 Mostly from Vincent Pelletier:
f19dbdb7 11915
492e6d9d 11916 * fs/reiserfs.c: New file.
f19dbdb7 11917
492e6d9d 11918 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
11919 (reiserfs_mod_SOURCES): New variable.
11920 (reiserfs_mod_CFLAGS): Likewise.
11921 (reiserfs_mod_LDFLAGS): Likewise.
11922
11923 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
11924 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
11925 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
11926 normal/color.c.
11927
9ce3e7c1 119282008-01-06 Robert Millan <rmh@aybabtu.com>
11929
11930 * normal/color.c: Remove `<grub/env.h>'.
11931
f3b58148 119322008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
11933
11934 * include/grub/normal.h: Include <grub/env.h>.
11935
7ac3bcfa 119362008-01-05 Robert Millan <rmh@aybabtu.com>
11937
11938 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
11939 usage example with `(hd0,1)'.
fb358190 11940 Reported by Samuel Thibault.
7ac3bcfa 11941
c8ee99d7 119422008-01-05 Robert Millan <rmh@aybabtu.com>
11943
11944 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
11945 (grub_linux_boot_zimage): Rename to ...
11946 (grub_linux_boot): ... this.
11947 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
11948 (grub_linux_boot_zimage): Conditionalize zImage copy.
11949
11950 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
11951 (grub_linux_boot_bzimage): Remove prototype.
11952 (grub_linux_boot_zimage): Rename to ...
11953 (grub_linux_boot): ... this.
11954
11955 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
11956 (grub_linux_boot): Remove function.
11957
0ece25b1 119582008-01-05 Robert Millan <rmh@aybabtu.com>
11959
11960 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
11961 (grub_env_write_color_highlight): Likewise.
11962 (grub_wait_after_message): Likewise.
11963
11964 * normal/color.c: New file.
11965
11966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11967 (normal_mod_DEPENDENCIES): Likewise.
11968
11969 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11970 (normal_mod_DEPENDENCIES): Likewise.
11971
11972 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11973 (normal_mod_DEPENDENCIES): Likewise.
11974
11975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11976 (normal_mod_DEPENDENCIES): Likewise.
11977
11978 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
11979 for waiting after a message is printed.
11980 * normal/main.c (read_config_file): Likewise.
11981 (grub_normal_init): Register grub_env_write_color_normal() and
11982 grub_env_write_color_highlight() hooks. Mark `color_normal' and
11983 `color_highlight' variables as global.
11984
11985 * normal/menu.c (grub_wait_after_message): New function.
11986 (grub_color_menu_normal): New variable. Replaces ...
11987 (GRUB_COLOR_MENU_NORMAL): ... this macro.
11988 (grub_color_menu_highlight): New variable. Replaces ...
11989 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
11990 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
11991 `GRUB_TERM_COLOR_STANDARD'.
11992 (print_message): Use `grub_setcolorstate' to reload colors. Rename
11993 `normal_code' and `highlight_code' to `old_color_normal' and
11994 `old_color_highlight', respectively.
11995 (grub_menu_init_page): Update colors when drawing the menu, based on
11996 `menu_color_normal' and `menu_color_highlight' variables.
11997 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
11998 a message is printed.
11999
182dd4e5 120002008-01-05 Robert Millan <rmh@aybabtu.com>
12001
12002 * kern/env.c (grub_env_context_open): Propagate hooks for global
12003 variables to new context.
12004
12005 * kern/main.c (grub_set_root_dev): Export `root' variable.
12006
ddf8f6ad 120072008-01-05 Robert Millan <rmh@aybabtu.com>
12008
12009 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 12010 discs unconditionally, since udev and others have options to provide
ddf8f6ad 12011 them.
12012
d8b43d9b 120132008-01-05 Robert Millan <rmh@aybabtu.com>
12014
12015 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
12016
2bff2de3 120172008-01-04 Christian Franke <franke@computer.org>
12018
12019 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
12020 of eisa_mmap.
12021
97eab917 120222008-01-03 Pavel Roskin <proski@gnu.org>
12023
12024 * kern/i386/linuxbios/init.c: Put "void" to all function
12025 declarations with no arguments.
12026 * kern/powerpc/ieee1275/init.c: Likewise.
12027 * term/i386/pc/at_keyboard.c: Likewise.
12028 * term/i386/pc/vga_text.c: Likewise.
12029 * util/grub-mkdevicemap.c: Likewise.
12030
b9416d00 120312008-01-02 Robert Millan <rmh@aybabtu.com>
12032
12033 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12034 message when loaded image is out of bounds.
12035 (grub_multiboot_load_elf64): Likewise.
12036
92695df9 120372008-01-02 Pavel Roskin <proski@gnu.org>
12038
12039 * util/grub.d/10_linux.in: Try version without ".old" when
12040 looking for initrd. It's better to use initrd from the newer
12041 kernel of the same version than no initrd at all.
12042
d98d9cad 120432008-01-01 Robert Millan <rmh@aybabtu.com>
12044
12045 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12046
dbfdce36 120472008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12048
f19dbdb7 12049 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 12050 grub_video_get_active_render_target.
12051 (grub_video_adapter): Added unmap_color and get_active_render_target.
12052
f19dbdb7 12053 * video/video.c: Added grub_video_unmap_color and
dbfdce36 12054 grub_video_get_active_render_target.
12055 (grub_video_get_info): Changed method to accept NULL pointer as an
12056 argument to allow detection of active video adapter.
12057
12058 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12059 grub_video_vbe_unmap_color_int.
12060 Added grub_video_vbe_unmap_color and
12061 grub_video_vbe_get_active_render_target.
12062 (grub_video_vbe_adapter): Added unmap_color and
12063 get_active_render_target.
12064
f19dbdb7 12065 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 12066 with grub_video_vbe_unmap_color_int.
12067
12068 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12069 (DEFAULT_NORMAL_COLOR): Likewise.
12070 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12071 (DEFAULT_FG_COLOR): Removed.
12072 (DEFAULT_BG_COLOR): Likewise.
12073 (DEFAULT_CURSOR_COLOR): Changed value.
12074 (grub_virtual_screen): Added standard_color_setting,
12075 normal_color_setting, highlight_color_setting and term_color.
12076 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12077 (bitmap_width): Added.
12078 (bitmap_height): Likewise.
12079 (bitmap): Likewise.
12080 (set_term_color): Likewise.
12081 (grub_virtual_screen_setup): Changed to use new terminal coloring
12082 settings.
12083 (grub_gfxterm_init): Added init for bitmap.
12084 (grub_gfxterm_fini): Added destroy for bitmap.
12085 (redraw_screen_rect): Updated to use background bitmap and new
12086 terminal coloring.
12087 (scroll_up): Added optimization for case when there is no bitmap.
12088 (grub_gfxterm_cls): Fixed to use correct background color.
12089 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12090 coloring.
12091 (grub_virtual_screen_setcolor): Likewise.
12092 (grub_virtual_screen_getcolor): Added.
12093 (grub_gfxterm_background_image_cmd): Likewise.
12094 (grub_video_term): Added setcolor and getcolor.
12095 (MOD_INIT): Added registration of background_image command.
12096 (MOD_TERM): Added unregistration for background_image command.
12097
c3c20931 120982007-12-30 Pavel Roskin <proski@gnu.org>
12099
12100 * loader/multiboot_loader.c: Fix multiboot command
12101 unregistration. Fix all typos in the word "multiboot".
12102
df266716 121032007-12-29 Pavel Roskin <proski@gnu.org>
94239199 12104
12105 * util/grub.d/10_linux.in: Refactor search for initrd. Add
12106 support for initrd names used in Fedora.
12107
fc6e896c 121082007-12-26 Bean <bean123ch@gmail.com>
12109
12110 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
12111 (cpio_mod_SOURCES): New variable.
12112 (cpio_mod_CFLAGS): Likewise.
12113 (cpio_mod_LDFLAGS): Likewise.
12114
12115 * fs/cpio.c: New file.
12116
12117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
12118
12119 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12120
12121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12122
12123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12124
533110ad 121252007-12-25 Robert Millan <rmh@aybabtu.com>
12126
12127 * include/grub/term.h (struct grub_term): Add `getcolor' function.
12128 (grub_getcolor): New function.
12129
12130 * kern/term.c (grub_getcolor): New function.
12131 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
12132 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
12133 (print_entry): Set normal and highlight colors to
12134 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
12135 respectively, before printing and restore them to old
12136 values afterwards.
12137 (grub_menu_init_page): Likewise. Fill an additional colored space
12138 that would otherwise be left blank.
12139
12140 * term/efi/console.c (grub_console_getcolor): New function.
12141 (struct grub_console_term.getcolor): New variable.
12142 * term/i386/pc/console.c (grub_console_getcolor): New function.
12143 (struct grub_console_term.getcolor): New variable.
12144 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
12145 (struct grub_console_term.getcolor): New variable.
12146
12147 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
12148 (struct grub_console_term.setcolor): Remove variable.
12149 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
12150 (struct grub_console_term.setcolor): Remove variable.
12151 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
12152 (struct grub_console_term.setcolor): Remove variable.
12153 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
12154 (struct grub_console_term.setcolor): Remove variable.
12155
4931827f 121562007-12-25 Robert Millan <rmh@aybabtu.com>
12157
12158 * configure.ac: Search for possible unifont.hex locations, and
12159 define UNIFONT_HEX if found.
12160
12161 * Makefile.in (UNIFONT_HEX): Define variable.
12162 (DATA): Rename to ...
12163 (PKGLIB): ... this. Update all users.
12164 (PKGDATA): New variable.
12165 (pkgdata_IMAGES): Rename to ...
12166 (pkglib_IMAGES): ... this. Update all users.
12167 (pkgdata_MODULES): Rename to ...
12168 (pkglib_MODULES): ... this. Update all users.
12169 (pkgdata_PROGRAMS): Rename to ...
12170 (pkglib_PROGRAMS): ... this. Update all users.
12171 (pkgdata_DATA): Rename to ...
12172 (pkglib_DATA): ... this. Update all users.
12173 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
12174 (unicode.pff, ascii.pff): New rules.
12175 (all-local): Add `$(PKGDATA)' dependency.
12176 (install-local): Process `$(PKGDATA)'.
12177
12178 * util/update-grub_lib.in (font_path): Search for *.pff files in
12179 a few more locations, including `${pkgdata}'.
12180
57e57e31 121812007-12-23 Robert Millan <rmh@aybabtu.com>
12182
12183 Patch from Bean <bean123ch@gmail.com>:
12184 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
12185 `size'.
12186
4bc72aa9 121872007-12-21 Bean <bean123ch@gmail.com>
12188
12189 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
12190 (ntfscomp_mod_SOURCES): New variable.
12191 (ntfscomp_mod_CFLAGS): Likewise.
12192 (ntfscomp_mod_LDFLAGS): Likewise.
12193
12194 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
12195 (grub_probe_SOURCES): Likewise.
12196 (grub_emu_SOURCES): Likewise.
12197
12198 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12199 (grub_emu_SOURCES): Likewise.
12200
12201 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12202 (grub_emu_SOURCES): Likewise.
12203
12204 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12205 (grub_emu_SOURCES): Likewise.
12206
12207 * fs/ntfs.c (grub_ntfscomp_func): New variable.
12208 (read_run_list): Renamed to grub_ntfs_read_run_list.
12209 (decomp_nextvcn): Moved to ntfscomp.c.
12210 (decomp_getch): Likewise.
12211 (decomp_get16): Likewise.
12212 (decomp_block): Likewise.
12213 (read_block): Likewise.
12214 (read_data): Partially moved to ntfscomp.c.
12215 (fixup): Change unsigned to grub_uint16_t.
12216 (read_mft): Change unsigned long to grub_uint32_t.
12217 (read_attr): Likewise.
12218 (read_data): Likewise.
12219 (read_run_data): Likewise.
12220 (read_run_list): Likewise.
12221 (read_mft): Likewise.
12222
12223 * fs/ntfscomp.c: New file.
12224
12225 * include/grub/ntfs.h: New file.
12226
af680a87 122272007-12-16 Robert Millan <rmh@aybabtu.com>
12228
12229 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
12230 IDE disk check, since Linux is known to support 20 IDE disks.
12231 Reported by Colin Watson.
12232
84be7599 122332007-12-15 Bean <bean123ch@gmail.com>
12234
12235 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
12236 (lnxboot_img_SOURCES): New variable.
12237 (lnxboot_img_ASFLAGS): Likewise.
12238 (lnxboot_img_LDFLAGS): Likewise.
12239
12240 * boot/i386/pc/lnxboot.S: New file.
12241
6af9db01 122422007-11-24 Pavel Roskin <proski@gnu.org>
12243
12244 * configure.ac: Test if '--build-id=none' is supported by the
12245 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
12246 objcopy to generate incorrect binary files (binutils
12247 2.17.50.0.18-1 as shipped by Fedora 8).
12248 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
12249 linking, so that build ID doesn't break the test.
12250
7361cfe6 122512007-11-24 Pavel Roskin <proski@gnu.org>
12252
12253 * include/grub/i386/time.h: use "void" in the argument list
12254 of grub_cpu_idle().
12255 * include/grub/powerpc/time.h: Likewise.
12256 * include/grub/sparc64/time.h: Likewise.
12257
1593e10c 122582007-11-18 Christian Franke <franke@computer.org>
12259
12260 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
12261 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
12262 This fixes the problem that function keys did not work in grub-emu.
12263
3b8db1a8 122642007-11-18 Christian Franke <franke@computer.org>
12265
12266 * disk/host.c (grub_host_open): Remove attribute unused from
12267 name parameter. Add check for "host". This fixes the problem
12268 that grub-emu does not find partitions.
12269
2e29408d 122702007-11-18 Christian Franke <franke@computer.org>
12271
12272 * util/hostfs.c (is_dir): New function.
12273 (grub_hostfs_dir): Handle missing dirent.d_type case.
12274 (grub_hostfs_read): Add missing fseek().
12275 (grub_hostfs_label): Clear label pointer. This fixes a crash
12276 of grub-emu on "ls (host)".
12277
398cd047 122782007-11-18 Christian Franke <franke@computer.org>
12279
12280 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
12281 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
12282 to 64 bit boundary by default.
12283
c405c391 122842007-11-18 Bean <bean123ch@gmail.com>
12285
12286 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
12287 (hexdump_mod_SOURCES): New variable.
12288 (hexdump_mod_CFLAGS): Likewise.
12289 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 12290
c405c391 12291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12292
12293 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12294
12295 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12296
12297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12298
12299 * include/grub/hexdump.h: New file.
12300
12301 * commands/hexdump.c: New file.
12302
5cced7fd 123032007-11-10 Robert Millan <rmh@aybabtu.com>
12304
12305 * commands/i386/pc/play.c (beep_off): Switch order of arguments
12306 in grub_outb() calls.
12307 (beep_on): Likewise.
12308
8b714eb0 123092007-11-10 Christian Franke <franke@computer.org>
12310
12311 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
12312 (grub_menu_run): Likewise.
12313
ce0f1839 123142007-11-10 Robert Millan <rmh@aybabtu.com>
12315
12316 * include/grub/i386/efi/machine.h: New file.
12317 * include/grub/i386/linuxbios/machine.h: Likewise.
12318 * include/grub/i386/pc/machine.h: Likewise.
12319 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12320 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12321
12322 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
12323 (serial_hw_io_addr): New variable.
12324 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
12325 instead of `(unsigned short *) 0x400'.
12326
270c237d 123272007-11-10 Bean <bean123ch@gmail.com>
12328
12329 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
12330
a87783bf 123312007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12332
12333 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
12334 (vga_mod_SOURCES): Added.
12335 (vga_mod_CFLAGS): Likewise.
12336 (vga_mod_LDFLAGS): Likewise.
12337
12338 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
12339 grub_outb() calls.
12340 (set_map_mask): Likewise.
12341 (set_read_map): Likewise.
12342 (set_read_address): Likewise.
12343 (vga_font): Removed variable.
12344 (get_vga_glyph): Removed function.
12345 (invalidate_char): Likewise.
12346 (write_char): Changed to use grub_font_get_glyph() for font
12347 information.
12348 (grub_vga_putchar): Likewise.
12349 (grub_vga_getcharwidth): Likewise.
12350
6433b448 123512007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12352
12353 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
12354 flags.
12355 (pxeboot_img_LDFLAGS): Likewise.
12356 (diskboot_img_LDFLAGS): Likewise.
12357 (kernel_img_LDFLAGS): Likewise.
12358
49178511 123592007-11-06 Robert Millan <rmh@aybabtu.com>
12360
12361 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
12362 in grub_outb() calls.
12363 (serial_hw_init): Likewise.
12364
53b052de 123652007-11-05 Robert Millan <rmh@aybabtu.com>
12366
12367 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
12368 spaces. Skip non-regular files.
12369
5ab33bba 123702007-11-05 Robert Millan <rmh@aybabtu.com>
12371
12372 * kern/disk.c (grub_disk_firmware_fini)
12373 (grub_disk_firmware_is_tainted): New variables.
12374
12375 * include/grub/disk.h (grub_disk_firmware_fini)
12376 (grub_disk_firmware_is_tainted): Likewise.
12377
12378 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
12379 (grub_disk_biosdisk_fini): ... to here.
12380 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
12381 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
12382 is set. Register grub_disk_biosdisk_fini() in
12383 `grub_disk_firmware_fini'.
12384
12385 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
12386 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
12387 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
12388 to finish existing firmware disk interface.
12389
12390 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
12391 (ata_mod_SOURCES): New variable.
12392 (ata_mod_CFLAGS): Likewise.
12393 (ata_mod_LDFLAGS): Likewise.
12394
0149ab7c 123952007-11-05 Robert Millan <rmh@aybabtu.com>
12396
12397 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
12398 (grub_ata_wait): Reimplement using grub_millisleep().
12399
12400 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
12401 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
12402
be7ac41e 124032007-11-03 Marco Gerards <marco@gnu.org>
12404
12405 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
12406 (CRTC_ADDR_PORT): New macro.
12407 (CRTC_DATA_PORT): Likewise.
12408 (CRTC_CURSOR): Likewise.
12409 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12410 (CRTC_CURSOR_ADDR_LOW): Likewise.
12411 (update_cursor): New function.
12412 (grub_console_real_putchar): Call `update_cursor'.
12413 (grub_console_gotoxy): Likewise.
12414 (grub_console_cls): Set the default color when clearing the
12415 screen.
12416 (grub_console_setcursor): Implemented.
12417
bb06ab2e 124182007-11-03 Marco Gerards <marco@gnu.org>
12419
12420 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
12421 become activate.
12422 (grub_ata_pio_write): Likewise.
12423
12424 (grub_atapi_identify): Wait after issuing an ATA command.
12425 (grub_atapi_packet): Likewise.
12426 (grub_ata_identify): Likewise.
12427 (grub_ata_readwrite): Likewise.
12428
cf8f780b 124292007-11-03 Marco Gerards <marco@gnu.org>
12430
12431 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
12432 (grub_ata_pio_write): Likewise.
12433 (grub_ata_readwrite): Use `grub_error', instead of
12434 returning `grub_errno'.
12435
ed649e54 124362007-11-03 Marco Gerards <marco@gnu.org>
12437
12438 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
12439 grub_ata_pio_write once for every single sector, instead of for
12440 multiple sectors.
12441
ca25d8f0 124422007-10-31 Robert Millan <rmh@aybabtu.com>
12443
12444 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
12445
12446 * conf/i386-linuxbios.rmk: New file.
12447
12448 * kern/i386/pc/hardware.c: Likewise.
12449 * term/i386/pc/at_keyboard.c: Likewise.
12450 * term/i386/pc/vga_text.c: Likewise.
12451
12452 * include/grub/i386/linuxbios/boot.h: Likewise.
12453 * include/grub/i386/linuxbios/console.h: Likewise.
12454 * include/grub/i386/linuxbios/init.h: Likewise.
12455 * include/grub/i386/linuxbios/kernel.h: Likewise.
12456 * include/grub/i386/linuxbios/loader.h: Likewise.
12457 * include/grub/i386/linuxbios/memory.h: Likewise.
12458 * include/grub/i386/linuxbios/serial.h: Likewise.
12459 * include/grub/i386/linuxbios/time.h: Likewise.
12460
12461 * kern/i386/linuxbios/init.c: Likewise.
12462 * kern/i386/linuxbios/startup.S: Likewise.
12463 * kern/i386/linuxbios/table.c: Likewise.
12464
e911ecc1 124652007-10-31 Marco Gerards <marco@gnu.org>
12466
12467 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
12468 (ata_mod_SOURCES): New variable.
12469 (ata_mod_CFLAGS): Likewise.
12470 (ata_mod_LDFLAGS): Likewise.
12471
12472 * disk/ata.c: New file.
12473
12474 * include/grub/disk.h (grub_disk_dev_id): Add
12475 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 12476
7f66d0e0 124772007-10-31 Robert Millan <rmh@aybabtu.com>
12478
12479 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
12480 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
12481
12482 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
12483 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
12484
12485 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
12486 `<grub/types.h>'.
12487
12488 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
12489
5cd7dd46 124902007-10-27 Robert Millan <rmh@aybabtu.com>
12491
3236ca65 12492 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 12493
2ebfc90f 124942007-10-22 Robert Millan <rmh@aybabtu.com>
12495
12496 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
12497 `"../realmode.S"'.
12498 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
12499
73fcb0f3 125002007-10-22 Robert Millan <rmh@aybabtu.com>
12501
12502 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
12503 (pkgdata_MODULES): Add `biosdisk.mod'.
12504 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
12505 variables.
12506
12507 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
12508 (grub_biosdisk_init): Replace with ...
12509 (GRUB_MOD_INIT(biosdisk)): ... this.
12510 (grub_biosdisk_fini): Replace with ...
12511 (GRUB_MOD_FINI(biosdisk)): ... this.
12512
12513 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
12514 (grub_machine_init): Remove call to grub_biosdisk_init().
12515 (grub_machine_fini): Remove call to grub_machine_fini().
12516
12517 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
12518
3381d274 125192007-10-22 Robert Millan <rmh@aybabtu.com>
12520
12521 * include/grub/time.h: New file.
12522 * include/grub/i386/time.h: Likewise.
12523 * include/grub/powerpc/time.h: Likewise.
12524 * include/grub/sparc64/time.h: Likewise.
12525
12526 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
12527 instances to ...
12528 (KERNEL_MACHINE_TIME_HEADER): ... this.
12529 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12530 instances to ...
12531 (KERNEL_MACHINE_TIME_HEADER): ... this.
12532 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12533 instances to ...
12534 (KERNEL_MACHINE_TIME_HEADER): ... this.
12535
12536 * kern/i386/efi/init.c: Include `<grub/time.h>'.
12537 (grub_millisleep): New function.
12538 * kern/i386/pc/init.c: Include `<grub/time.h>'.
12539 (grub_millisleep): New function.
12540 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
12541 Remove `grub/machine/time.h' include.
12542 (grub_millisleep): New function.
12543 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
12544 Remove `grub/machine/time.h' include.
12545 (grub_millisleep): New function.
12546
12547 * include/grub/misc.h (grub_div_roundup): New function.
12548
12549 * kern/misc.c: Include `<grub/time.h>'.
12550 (grub_millisleep_generic): New function.
12551
12552 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
12553 Add `time.h'.
12554 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
12555 Add `time.h'.
12556 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
12557 `machine/time.h'. Add `time.h'.
12558 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
12559
a39a0312 125602007-10-21 Robert Millan <rmh@aybabtu.com>
12561
12562 * include/grub/misc.h (grub_max): New function.
12563
2aad70e2 125642007-10-21 Robert Millan <rmh@aybabtu.com>
12565
12566 * util/misc.c (grub_util_info): Call fflush() before returning.
12567
54b71c4b 125682007-10-20 Robert Millan <rmh@aybabtu.com>
12569
12570 * genmk.rb (Image): Copy `extra_flags' from here ...
12571 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
12572
12573 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
12574 to `argc' and `args' arguments.
12575
a979f513 125762007-10-17 Robert Millan <rmh@aybabtu.com>
12577
12578 * kern/i386/loader.S: New file.
12579
12580 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
12581 * kern/i386/loader.S (grub_linux_prot_size)... to here.
12582 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
12583 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
12584 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
12585 * kern/i386/loader.S (grub_linux_real_addr)... to here.
12586 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
12587 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
12588 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
12589 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
12590 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
12591 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
12592 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
12593 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
12594
12595 * kern/i386/realmode.S: New file.
12596
12597 * kern/i386/pc/startup.S (protstack): Moved from here ...
12598 * kern/i386/realmode.S (protstack)... to here.
12599 * kern/i386/pc/startup.S (gdt): Moved from here ...
12600 * kern/i386/realmode.S (gdt)... to here.
12601 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
12602 * kern/i386/realmode.S (prot_to_real)... to here.
12603
12604 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
12605 `kern/i386/realmode.S'.
12606
825fc8fd 126072007-10-17 Robert Millan <rmh@aybabtu.com>
12608
12609 * include/grub/i386/loader.h: New file.
12610
12611 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
12612 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12613 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12614 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12615 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
12616 * include/grub/i386/loader.h (grub_linux_prot_size)
12617 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12618 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12619 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12620 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
12621
12622 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
12623
e179b2f4 126242007-10-15 Robert Millan <rmh@aybabtu.com>
12625
12626 * normal/misc.c (grub_normal_print_device_info): Do not probe for
12627 filesystem when dev->disk is unset.
12628 Do probe for filesystem even when dev->disk->has_partitions is set.
12629 In case a filesystem is found, always report it.
12630 In case it isn't, if dev->disk->has_partitions is set, report that
12631 a partition table was found instead of reporting that no filesystem
12632 could be identified.
12633
5db82af6 126342007-10-12 Robert Millan <rmh@aybabtu.com>
12635
12636 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
12637 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
12638
68f6ac74 12639 * include/grub/types.h (grub_host_to_target16): New macro.
12640 (grub_host_to_target32): Likewise.
12641 (grub_host_to_target64): Likewise.
12642 (grub_target_to_host16): Likewise.
12643 (grub_target_to_host32): Likewise.
12644 (grub_target_to_host64): Likewise.
5db82af6 12645
12646 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
12647 Renamed from to ...
12648 (GRUB_MOD_ALIGN): ...this. Update all users.
12649
68f6ac74 12650 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
12651 grub_host_to_target32.
12652 Replace grub_be_to_cpu32 with grub_target_to_host32.
12653 (load_modules): Likewise.
12654 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
12655 Replace grub_be_to_cpu32 with grub_target_to_host32.
12656 Replace grub_cpu_to_be16 with grub_host_to_target16.
12657 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 12658
3cf497cc 126592007-10-12 Robert Millan <rmh@aybabtu.com>
12660
12661 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
12662 * util/elf/grub-mkimage.c: ... here.
12663
12664 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
12665 `util/powerpc/ieee1275/grub-mkimage.c'.
12666
c8cc3692 126672007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 12668
c8cc3692 12669 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
12670 and make it easier to figure out.
12671 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
12672 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
12673 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
12674 leave us with less than HEAP_MIN_SIZE total heap.
12675 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 12676
5c58b791 126772007-10-03 Robert Millan <rmh@aybabtu.com>
12678
12679 * include/grub/i386/io.h: New file.
12680 * commands/i386/pc/play.c (inb): Removed.
12681 (outb): Removed.
12682 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12683 with grub_outb().
afcd2ef8 12684 * term/i386/pc/serial.c (inb): Removed.
12685 (outb): Removed.
12686 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12687 with grub_outb().
12688 * term/i386/pc/vga.c (inb): Removed.
12689 (outb): Removed.
12690 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12691 with grub_outb().
5c58b791 12692
1a477ed6 126932007-10-02 Robert Millan <rmh@aybabtu.com>
12694
12695 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
12696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12697 Reported by Marcin Kurek.
12698
6b5d80fa 126992007-09-07 Robert Millan <rmh@aybabtu.com>
12700
12701 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
12702 SmartFirmware version updates (as released by Sven Luther), and avoid
12703 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
12704 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
12705 known broken.
12706
5618afbf 127072007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12708
12709 From Hitoshi Ozeki:
12710 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
12711 when merging two regions.
12712
6139dcd9 127132007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12714
508e39ee 12715 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
12716 * normal/completion.c (grub_normal_do_completion): Likewise.
12717 Reported by Hitoshi Ozeki.
12718
127192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12720
6139dcd9 12721 Do not use devices at boot in chainloading.
f19dbdb7 12722
6139dcd9 12723 * loader/i386/pc/chainloader.c (boot_drive): New variable.
12724 (boot_part_addr): Likewise.
12725 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
12726 with BOOT_DRIVE and BOOT_PART_ADDR.
12727 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
12728 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
12729
38da6516 127302007-08-29 Robert Millan <rmh@aybabtu.com>
12731
12732 Patch from Simon Peter <dn.tlp@gmx.net>:
12733 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
12734 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
12735 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
12736 util/i386/pc/grub-setup.c_DEPENDENCIES.
12737 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
12738 util/grub-probe.c_DEPENDENCIES.
12739 * conf/powerpc-ieee1275.rmk: Likewise.
12740
29d0928c 127412007-08-28 Robert Millan <rmh@aybabtu.com>
12742
12743 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
12744 to tell grub-mkdevicemap how to name devices.
12745 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
12746 feature).
12747
12748 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
12749 util/i386/get_disk_name.c.
12750 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
12751 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
12752 util/ieee1275/get_disk_name.c.
12753
12754 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
12755
12756 * DISTLIST: Add util/i386/get_disk_name.c and
12757 util/ieee1275/get_disk_name.c.
12758
12759 * util/grub-mkdevicemap.c: Replace device naming logic with
12760 grub_util_get_disk_name() calls.
12761
5a0d3cca 127622007-08-20 Robert Millan <rmh@aybabtu.com>
12763
12764 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
12765 (so that it works for both plural and singular quantities).
12766
8b72db2f 127672007-08-05 Robert Millan <rmh@aybabtu.com>
12768
12769 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
12770 so that [xz] isn't taken into account when determining order.
12771
352466bf 127722007-08-02 Marco Gerards <marco@gnu.org>
12773
12774 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
12775 `include/multiboot2.h', `include/grub/elfload.h',
12776 `include/multiboot.h', `include/grub/multiboot.h',
12777 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
12778 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
12779 `kern/elf.c', `loader/multiboot_loader.c',
12780 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
12781 `loader/i386/pc/multiboot2.c',
12782 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
12783 `util/i386/pc/grub-mkrescue.in'. Remove
12784 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
12785 `include/grub/i386/pc/util/biosdisk.h' and
12786 `include/grub/powerpc/ieee1275/multiboot.h'.
12787
8f096014 127882007-08-02 Bean <bean123ch@gmail.com>
12789
12790 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
12791 (ntfs_mod_SOURCES): New variable.
12792 (ntfs_mod_CFLAGS): Likewise.
12793 (ntfs_mod_LDFLAGS): Likewise.
12794
12795 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
12796 (grub_probe_SOURCES): Likewise.
12797 (grub_emu_SOURCES): Likewise.
12798
12799 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12800 (grub_emu_SOURCES): Likewise.
12801
12802 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12803 (grub_emu_SOURCES): Likewise.
f19dbdb7 12804
8f096014 12805 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
12806
12807 * fs/ntfs.c: New file.
12808
9959f7db 128092007-08-02 Bean <bean123ch@gmail.com>
12810
12811 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
12812
12813 * file.h (grub_file): Likewise.
12814
12815 * fshelp.h (grub_fshelp_read_file): Likewise.
12816
12817 * util/i386/pc/grub-setup.c (setup): Likewise.
12818 (save_first_sector): Likewise.
12819 (save_blocklists): Likewise.
f19dbdb7 12820
9959f7db 12821 * fs/affs.c (grub_affs_read_file): Likewise.
12822
12823 * fs/ext2.c (grub_ext2_read_file): Likewise.
12824
12825 * fs/fat.c (grub_fat_read_data): Likewise.
12826
12827 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
12828
12829 * fs/hfs.c (grub_hfs_read_file): Likewise.
12830
12831 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
12832
12833 * fs/jfs.c (grub_jfs_read_file): Likewise.
12834
12835 * fs/minix.c (grub_minix_read_file): Likewise.
12836
12837 * fs/sfs.c (grub_sfs_read_file): Likewise.
12838
12839 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 12840
9959f7db 12841 * fs/xfs.c (grub_xfs_read_file): Likewise.
12842
12843 * command/blocklist.c (read_blocklist): Likewise.
12844 (print_blocklist): Likewise.
12845
0a203f83 128462007-08-02 Marco Gerards <marco@gnu.org>
12847
12848 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
12849 `util/hostfs.c'.
12850
12851 * disk/host.c: New file.
12852
12853 * util/hostfs.c: Likewise.
12854
12855 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
12856 return `GRUB_ERR_BAD_FS'.
12857 * fs/sfs.c (grub_sfs_mount): Likewise.
12858 * fs/xfs.c (grub_xfs_mount): Likewise.
12859
12860 * include/grub/disk.h (enum grub_disk_dev_id): Add
12861 `GRUB_DISK_DEVICE_HOST_ID'.
12862
12863 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
12864
e5dfe777 128652007-07-24 Jerone Young <jerone@gmail.com>
12866
f19dbdb7 12867 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 12868 modules for compilation.
12869 * conf/powerpc-ieee1275.rmk: Likewise.
12870
12871 * include/multiboot.h: Move multiboot definitions to one file. Rename
12872 many definitions to not get grub specific.
12873 * include/multiboot2.h: Create header with multiboot 2 definitions.
12874 * include/grub/multiboot.h: Header for grub specific function
12875 prototypes and definitions.
12876 * include/grub/multiboot2.h: Likewise.
12877 * include/grub/multiboot_loader.h: Likewise.
12878 * include/grub/i386/pc/multiboot.h: Removed.
12879 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
12880
12881 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
12882 and 2 to allow for one multiboot and module commands.
12883 * loader/multiboot2.c: Add multiboot2 functionality.
12884 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
12885 and definition names.
12886 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
12887 2 functions.
12888 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
12889 ieee1275 specific multiboot2 code.
12890
12891 * kern/i386/pc/startup.S: Change headers and definition names for
12892 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
12893
daf0f0ba 128942007-07-22 Robert Millan <rmh@aybabtu.com>
12895
12896 * geninitheader.sh: Process file specified in first parameter rather
12897 than hardcoding grub_modules_init.lst.
fe6b695a 12898 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 12899 than hardcoding grub_modules_init.h.
12900
12901 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
12902 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
12903 grub_probe_init.[ch] and grub_setup_init.[ch].
12904
12905 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
12906 grub_modules_init.h with grub_emu_init.h.
12907 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
12908 grub_probe_init.[ch] files.
12909 * conf/i386-efi.rmk: Likewise.
12910 * conf/i386-pc.rmk: Likewise.
12911 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
12912 grub_setup_init.[ch] files.
12913
12914 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
12915 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
12916 to initialize modules rather than a list of hardcoded functions.
12917 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
12918 grub_init_all() to initialize modules rather than a list of hardcoded
12919 functions.
12920
54cdc1cc 129212007-07-22 Robert Millan <rmh@aybabtu.com>
12922
12923 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12924 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
12925
ad0686cc 129262007-07-22 Robert Millan <rmh@aybabtu.com>
12927
12928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12929 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
12930 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
12931 flag when running on SmartFirmware.
12932 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
12933 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
12934 was set.
12935
12936 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12937 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
12938 rather than decreasing it.
12939
12940 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
12941 there's not enough space to do it, fail in the same way as when it
12942 can't be done because there are no partitions.
12943
12944 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
12945 when nvsetenv failed.
12946
969c02ec 129472007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12948
12949 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
12950 because this rule is automatically generated.
12951 (grub-mkrescue): Removed for the same reason as above.
12952
5a79f472 129532007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12954
12955 Migrate to GNU General Public License Version 3.
f19dbdb7 12956
5a79f472 12957 * COPYING: Replaced with the plain text version of GPLv3.
12958
12959 * config.guess: Updated from gnulib.
12960 * config.sub: Likewise.
12961
12962 * geninit.sh: Output a GPLv3 copyright notice.
12963 * geninitheader.sh: Likewise.
12964 * genmodsrc.sh: Likewise.
12965 * gensymlist.sh.in: Likewise.
12966
12967 * boot/i386/pc/boot.S: Upgraded to GPLv3.
12968 * boot/i386/pc/diskboot.S: Likewise.
12969 * boot/i386/pc/pxeboot.S: Likewise.
12970 * commands/blocklist.c: Likewise.
12971 * commands/boot.c: Likewise.
12972 * commands/cat.c: Likewise.
12973 * commands/cmp.c: Likewise.
12974 * commands/configfile.c: Likewise.
12975 * commands/echo.c: Likewise.
12976 * commands/help.c: Likewise.
12977 * commands/ls.c: Likewise.
12978 * commands/search.c: Likewise.
12979 * commands/terminal.c: Likewise.
12980 * commands/test.c: Likewise.
12981 * commands/videotest.c: Likewise.
12982 * commands/i386/cpuid.c: Likewise.
12983 * commands/i386/pc/halt.c: Likewise.
12984 * commands/i386/pc/play.c: Likewise.
12985 * commands/i386/pc/reboot.c: Likewise.
12986 * commands/i386/pc/vbeinfo.c: Likewise.
12987 * commands/i386/pc/vbetest.c: Likewise.
12988 * commands/ieee1275/halt.c: Likewise.
12989 * commands/ieee1275/reboot.c: Likewise.
12990 * commands/ieee1275/suspend.c: Likewise.
12991 * disk/loopback.c: Likewise.
12992 * disk/lvm.c: Likewise.
12993 * disk/raid.c: Likewise.
12994 * disk/efi/efidisk.c: Likewise.
12995 * disk/i386/pc/biosdisk.c: Likewise.
12996 * disk/ieee1275/ofdisk.c: Likewise.
12997 * font/manager.c: Likewise.
12998 * fs/affs.c: Likewise.
12999 * fs/ext2.c: Likewise.
13000 * fs/fat.c: Likewise.
13001 * fs/fshelp.c: Likewise.
13002 * fs/hfs.c: Likewise.
13003 * fs/hfsplus.c: Likewise.
13004 * fs/iso9660.c: Likewise.
13005 * fs/jfs.c: Likewise.
13006 * fs/minix.c: Likewise.
13007 * fs/sfs.c: Likewise.
13008 * fs/ufs.c: Likewise.
13009 * fs/xfs.c: Likewise.
13010 * hello/hello.c: Likewise.
13011 * include/grub/acorn_filecore.h: Likewise.
13012 * include/grub/arg.h: Likewise.
13013 * include/grub/bitmap.h: Likewise.
13014 * include/grub/boot.h: Likewise.
13015 * include/grub/cache.h: Likewise.
13016 * include/grub/device.h: Likewise.
13017 * include/grub/disk.h: Likewise.
13018 * include/grub/dl.h: Likewise.
13019 * include/grub/elfload.h: Likewise.
13020 * include/grub/env.h: Likewise.
13021 * include/grub/err.h: Likewise.
13022 * include/grub/file.h: Likewise.
13023 * include/grub/font.h: Likewise.
13024 * include/grub/fs.h: Likewise.
13025 * include/grub/fshelp.h: Likewise.
13026 * include/grub/gzio.h: Likewise.
13027 * include/grub/hfs.h: Likewise.
13028 * include/grub/kernel.h: Likewise.
13029 * include/grub/loader.h: Likewise.
13030 * include/grub/lvm.h: Likewise.
13031 * include/grub/misc.h: Likewise.
13032 * include/grub/mm.h: Likewise.
13033 * include/grub/net.h: Likewise.
13034 * include/grub/normal.h: Likewise.
13035 * include/grub/parser.h: Likewise.
13036 * include/grub/partition.h: Likewise.
13037 * include/grub/pc_partition.h: Likewise.
13038 * include/grub/raid.h: Likewise.
13039 * include/grub/rescue.h: Likewise.
13040 * include/grub/script.h: Likewise.
13041 * include/grub/setjmp.h: Likewise.
13042 * include/grub/symbol.h: Likewise.
13043 * include/grub/term.h: Likewise.
13044 * include/grub/terminfo.h: Likewise.
13045 * include/grub/tparm.h: Likewise.
13046 * include/grub/types.h: Likewise.
13047 * include/grub/video.h: Likewise.
13048 * include/grub/efi/api.h: Likewise.
13049 * include/grub/efi/chainloader.h: Likewise.
13050 * include/grub/efi/console.h: Likewise.
13051 * include/grub/efi/console_control.h: Likewise.
13052 * include/grub/efi/disk.h: Likewise.
13053 * include/grub/efi/efi.h: Likewise.
13054 * include/grub/efi/pe32.h: Likewise.
13055 * include/grub/efi/time.h: Likewise.
13056 * include/grub/i386/linux.h: Likewise.
13057 * include/grub/i386/setjmp.h: Likewise.
13058 * include/grub/i386/types.h: Likewise.
13059 * include/grub/i386/efi/kernel.h: Likewise.
13060 * include/grub/i386/efi/loader.h: Likewise.
13061 * include/grub/i386/efi/time.h: Likewise.
13062 * include/grub/i386/pc/biosdisk.h: Likewise.
13063 * include/grub/i386/pc/boot.h: Likewise.
13064 * include/grub/i386/pc/chainloader.h: Likewise.
13065 * include/grub/i386/pc/console.h: Likewise.
13066 * include/grub/i386/pc/init.h: Likewise.
13067 * include/grub/i386/pc/kernel.h: Likewise.
13068 * include/grub/i386/pc/loader.h: Likewise.
13069 * include/grub/i386/pc/memory.h: Likewise.
13070 * include/grub/i386/pc/multiboot.h: Likewise.
13071 * include/grub/i386/pc/serial.h: Likewise.
13072 * include/grub/i386/pc/time.h: Likewise.
13073 * include/grub/i386/pc/vbe.h: Likewise.
13074 * include/grub/i386/pc/vbeblit.h: Likewise.
13075 * include/grub/i386/pc/vbefill.h: Likewise.
13076 * include/grub/i386/pc/vbeutil.h: Likewise.
13077 * include/grub/i386/pc/vga.h: Likewise.
13078 * include/grub/ieee1275/ieee1275.h: Likewise.
13079 * include/grub/ieee1275/ofdisk.h: Likewise.
13080 * include/grub/powerpc/libgcc.h: Likewise.
13081 * include/grub/powerpc/setjmp.h: Likewise.
13082 * include/grub/powerpc/types.h: Likewise.
13083 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13084 * include/grub/powerpc/ieee1275/console.h: Likewise.
13085 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13086 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13087 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13088 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13089 * include/grub/powerpc/ieee1275/time.h: Likewise.
13090 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13091 * include/grub/sparc64/libgcc.h: Likewise.
13092 * include/grub/sparc64/setjmp.h: Likewise.
13093 * include/grub/sparc64/types.h: Likewise.
13094 * include/grub/sparc64/ieee1275/console.h: Likewise.
13095 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13096 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13097 * include/grub/sparc64/ieee1275/time.h: Likewise.
13098 * include/grub/util/biosdisk.h: Likewise.
13099 * include/grub/util/getroot.h: Likewise.
13100 * include/grub/util/lvm.h: Likewise.
13101 * include/grub/util/misc.h: Likewise.
13102 * include/grub/util/raid.h: Likewise.
13103 * include/grub/util/resolve.h: Likewise.
13104 * io/gzio.c: Likewise.
13105 * kern/device.c: Likewise.
13106 * kern/disk.c: Likewise.
13107 * kern/dl.c: Likewise.
13108 * kern/elf.c: Likewise.
13109 * kern/env.c: Likewise.
13110 * kern/err.c: Likewise.
13111 * kern/file.c: Likewise.
13112 * kern/fs.c: Likewise.
13113 * kern/loader.c: Likewise.
13114 * kern/main.c: Likewise.
13115 * kern/misc.c: Likewise.
13116 * kern/mm.c: Likewise.
13117 * kern/parser.c: Likewise.
13118 * kern/partition.c: Likewise.
13119 * kern/rescue.c: Likewise.
13120 * kern/term.c: Likewise.
13121 * kern/efi/efi.c: Likewise.
13122 * kern/efi/init.c: Likewise.
13123 * kern/efi/mm.c: Likewise.
13124 * kern/i386/dl.c: Likewise.
13125 * kern/i386/efi/init.c: Likewise.
13126 * kern/i386/efi/startup.S: Likewise.
13127 * kern/i386/pc/init.c: Likewise.
13128 * kern/i386/pc/lzo1x.S: Likewise.
13129 * kern/i386/pc/startup.S: Likewise.
13130 * kern/ieee1275/ieee1275.c: Likewise.
13131 * kern/powerpc/cache.S: Likewise.
13132 * kern/powerpc/dl.c: Likewise.
13133 * kern/powerpc/ieee1275/cmain.c: Likewise.
13134 * kern/powerpc/ieee1275/crt0.S: Likewise.
13135 * kern/powerpc/ieee1275/init.c: Likewise.
13136 * kern/powerpc/ieee1275/openfw.c: Likewise.
13137 * kern/sparc64/cache.S: Likewise.
13138 * kern/sparc64/dl.c: Likewise.
13139 * kern/sparc64/ieee1275/init.c: Likewise.
13140 * kern/sparc64/ieee1275/openfw.c: Likewise.
13141 * loader/efi/chainloader.c: Likewise.
13142 * loader/efi/chainloader_normal.c: Likewise.
13143 * loader/i386/efi/linux.c: Likewise.
13144 * loader/i386/efi/linux_normal.c: Likewise.
13145 * loader/i386/pc/chainloader.c: Likewise.
13146 * loader/i386/pc/chainloader_normal.c: Likewise.
13147 * loader/i386/pc/linux.c: Likewise.
13148 * loader/i386/pc/linux_normal.c: Likewise.
13149 * loader/i386/pc/multiboot.c: Likewise.
13150 * loader/i386/pc/multiboot_normal.c: Likewise.
13151 * loader/powerpc/ieee1275/linux.c: Likewise.
13152 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13153 * normal/arg.c: Likewise.
13154 * normal/cmdline.c: Likewise.
13155 * normal/command.c: Likewise.
13156 * normal/completion.c: Likewise.
13157 * normal/execute.c: Likewise.
13158 * normal/function.c: Likewise.
13159 * normal/lexer.c: Likewise.
13160 * normal/main.c: Likewise.
13161 * normal/menu.c: Likewise.
13162 * normal/menu_entry.c: Likewise.
13163 * normal/misc.c: Likewise.
13164 * normal/parser.y: Likewise.
13165 * normal/script.c: Likewise.
13166 * normal/i386/setjmp.S: Likewise.
13167 * normal/powerpc/setjmp.S: Likewise.
13168 * normal/sparc64/setjmp.S: Likewise.
13169 * partmap/acorn.c: Likewise.
13170 * partmap/amiga.c: Likewise.
13171 * partmap/apple.c: Likewise.
13172 * partmap/gpt.c: Likewise.
13173 * partmap/pc.c: Likewise.
13174 * partmap/sun.c: Likewise.
13175 * term/gfxterm.c: Likewise.
13176 * term/terminfo.c: Likewise.
13177 * term/efi/console.c: Likewise.
13178 * term/i386/pc/console.c: Likewise.
13179 * term/i386/pc/serial.c: Likewise.
13180 * term/i386/pc/vesafb.c: Likewise.
13181 * term/i386/pc/vga.c: Likewise.
13182 * term/ieee1275/ofconsole.c: Likewise.
13183 * util/biosdisk.c: Likewise.
13184 * util/console.c: Likewise.
13185 * util/genmoddep.c: Likewise.
13186 * util/getroot.c: Likewise.
13187 * util/grub-emu.c: Likewise.
13188 * util/grub-mkdevicemap.c: Likewise.
13189 * util/grub-probe.c: Likewise.
13190 * util/lvm.c: Likewise.
13191 * util/misc.c: Likewise.
13192 * util/raid.c: Likewise.
13193 * util/resolve.c: Likewise.
13194 * util/update-grub.in: Likewise.
13195 * util/update-grub_lib.in: Likewise.
13196 * util/grub.d/00_header.in: Likewise.
13197 * util/grub.d/10_hurd.in: Likewise.
13198 * util/grub.d/10_linux.in: Likewise.
13199 * util/i386/efi/grub-install.in: Likewise.
13200 * util/i386/efi/grub-mkimage.c: Likewise.
13201 * util/i386/pc/grub-install.in: Likewise.
13202 * util/i386/pc/grub-mkimage.c: Likewise.
13203 * util/i386/pc/grub-mkrescue.in: Likewise.
13204 * util/i386/pc/grub-setup.c: Likewise.
13205 * util/i386/pc/misc.c: Likewise.
13206 * util/powerpc/ieee1275/grub-install.in: Likewise.
13207 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
13208 * util/powerpc/ieee1275/misc.c: Likewise.
13209 * video/bitmap.c: Likewise.
13210 * video/video.c: Likewise.
13211 * video/i386/pc/vbe.c: Likewise.
13212 * video/i386/pc/vbeblit.c: Likewise.
13213 * video/i386/pc/vbefill.c: Likewise.
13214 * video/i386/pc/vbeutil.c: Likewise.
13215 * video/readers/tga.c: Likewise.
13216
3572d015 132172007-07-02 Robert Millan <rmh@aybabtu.com>
13218
13219 * conf/i386-efi.rmk: Replace obsolete reference to
13220 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
13221 with util/getroot.c.
13222 * conf/powerpc-ieee1275.rmk: Likewise.
13223 * conf/sparc64-ieee1275.rmk: Likewise.
13224
13225 * util/grub-emu.c (main): Fix unchecked pointer handling.
13226
2c2a681b 132272007-07-02 Robert Millan <rmh@aybabtu.com>
13228
13229 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
13230 invocation to fail, in order to support partition-less media.
13231
13232 * util/i386/pc/grub-install.in: Likewise.
13233
13234 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
13235 which fs or partmap modules are needed (akin to its sister scripts).
13236
13237 Also use grub-probe to get rid of unportable /proc/mounts check.
13238
13239 Print the same informational message that the other scripts do, before
fe6b695a 13240 exiting.
2c2a681b 13241
6193defe 132422007-06-23 Robert Millan <rmh@aybabtu.com>
13243
fe6b695a 13244 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 13245 a font file can be found and, if so, echo the GRUB path to it.
13246
13247 * util/update-grub.in: Handle multiple terminals depending on user
13248 input, platform availability and font file presence. Propagate
13249 variables of our findings to /etc/grub.d/ children.
13250
13251 * util/grub.d/00_header.in: Handle multiple terminals, based on
13252 environment setup by update-grub.
13253
eface1dc 132542007-06-23 Robert Millan <rmh@aybabtu.com>
13255
ba50d28f 13256 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 13257
bf697e28 132582007-06-21 Robert Millan <rmh@aybabtu.com>
13259
13260 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
13261 indicate end of data section in kernel image.
13262 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
13263 GRUB_KERNEL_MACHINE_DATA_END.
13264
13265 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
13266 space for it.
13267 * kern/i386/efi/startup.S: Likewise.
13268
13269 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
13270 during image generation. Implement --prefix option to override this
13271 patch.
13272 * util/i386/efi/grub-mkimage.c: Likewise.
13273
13274 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
13275 code to make path relative to its root into a separate function.
13276
13277 * util/i386/pc/grub-install.in: Use newly provided
13278 make_system_path_relative_to_its_root() to convert ${grubdir}, then
13279 pass the result to grub-install --prefix.
13280
baa574b4 132812007-06-13 Robert Millan <rmh@aybabtu.com>
13282
13283 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
13284 DEFAULT_DEVICE_MAP.
13285 * util/grub-emu.c: Use above definitions from misc.h instead of
13286 defining them.
13287 * util/grub-mkdevicemap.c: Likewise.
13288 * util/i386/pc/grub-setup.c: Likewise.
13289 * util/grub-probe.c: Likewise.
13290 (probe): Abort with grub_util_error() when either
13291 grub_guess_root_device or grub_util_get_grub_dev fails.
13292
0215dcbf 132932007-06-12 Robert Millan <rmh@aybabtu.com>
13294
13295 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
13296 "pager" assignment.
13297 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
13298 "pcdata".
13299 * util/grub-probe.c (probe): Likewise for "drive_name".
13300
8af2ab7b 133012007-06-11 Robert Millan <rmh@aybabtu.com>
13302
13303 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
13304 not just the cdrom one.
13305
59d31694 133062007-06-11 Robert Millan <rmh@aybabtu.com>
13307
13308 * util/i386/pc/grub-mkrescue.in: Add "set -e".
13309 Add --pkglibdir=DIR option to override pkglibdir.
13310 Mention --image-type=TYPE in help output.
13311 Fix --grub-mkimage (it was a no-op).
fe6b695a 13312 Abort gracefully when no parameter is given.
59d31694 13313
7ee367e4 133142007-06-11 Robert Millan <rmh@aybabtu.com>
13315
13316 * util/i386/pc/grub-mkrescue.in: New file.
13317 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
13318 * Makefile.in: Handle bin_SCRIPTS.
13319
29b0ed46 133202007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
13321
13322 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
13323 list of video modes.
13324
c0f90770 133252007-06-06 Robert Millan <rmh@aybabtu.com>
13326
13327 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
13328 file doesn't exist, or if it is in a filesystem grub can't read.
13329
13330 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
13331 not abort if GRUB_DRIVE could not be defined. Rearrange generated
13332 header comment to fit in 80 columns when the variables are resolved.
13333
13334 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
13335 could be identified by update-grub. Remove redundant check for
fe6b695a 13336 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 13337 handles that).
13338
fb36dc26 133392007-06-04 Robert Millan <rmh@aybabtu.com>
13340
13341 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
13342
13343 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
13344
13345 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
13346
0c68c93e 133472007-06-04 Robert Millan <rmh@aybabtu.com>
13348
13349 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
13350
13351 * include/grub/partition.h: Declare grub_apple_partition_map_init and
13352 grub_apple_partition_map_fini.
13353
13354 * util/biosdisk.c
13355 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
13356 to access >2 TiB disks).
13357
13358 Print disk->total_sectors with %llu instead of %lu, since this
13359 variable is always 64-bit (prevents wrong disk size from being displayed
13360 on either >2 TiB disk or big-endian CPU).
13361
13362 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
13363 into a generic case that supports all (sane) partition maps.
13364
13365 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
13366 breaks big-endian.
13367
13368 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
13369 and grub_apple_partition_map_fini() after that.
13370
0f23eb74 133712007-06-01 Robert Millan <rmh@aybabtu.com>
13372
13373 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
13374
13375 * util/grub.d/00_header.in: Only enable gfxterm when
13376 convert_system_path_to_grub_path() succeeds.
13377
42c71976 133782007-05-20 Robert Millan <rmh@aybabtu.com>
13379
13380 * util/update-grub_lib.in: New file.
13381 * DISTLIST: Add update-grub_lib.in.
13382 * conf/common.rmk: Generate update-grub_lib and install it in
13383 $(lib_DATA).
13384 * Makefile.in: Add install routine for $(lib_DATA).
13385
13386 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
13387 function provided by update-grub_lib to support arbitrary paths of
13388 unifont.pff.
13389 * util/update-grub.in: Use convert_system_path_to_grub_path() to
13390 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
13391
5beb2291 133922007-05-19 Robert Millan <rmh@aybabtu.com>
13393
13394 * commands/i386/cpuid.c: New module.
13395 * DISTLIST: Add it.
13396 * conf/i386-efi.rmk: Enable cpuid.mod.
13397 * conf/i386-pc.rmk: Likewise.
13398
7262eca1 133992007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13400
13401 * kern/disk.c (grub_disk_read): Check return value of
13402 grub_realloc().
13403
260ba823 134042007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13405
13406 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
13407 arrays.
13408 * disk/raid.c (grub_raid_open): Likewise.
13409
1ecb6cf2 134102007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13411
13412 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
13413 stack instead of on the heap.
13414
13415 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
13416 before doing a read on it.
13417
13418 * configure.ac: Only use -fno-stack-protector for the target
13419 environment.
f19dbdb7 13420
21c8cbb1 134212007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13422
13423 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
13424 __attribute_ ((unused)) to mode_type argument.
13425
13426 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 13427
21c8cbb1 13428 * kern/misc.c (memcmp): Fix prototype.
13429
13430 * include/grub/partition.h [GRUB_UTIL]
13431 (grub_gpt_partition_map_init): Add prototype.
13432 (grub_gpt_partition_map_fini): Likewise.
13433
13434 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
13435 at the right place.
13436
13437 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
13438 (grub_fat_read_data): Likewise.
13439 (grub_fat_find_dir): Likewise.
13440
13441 * font/manager.c (find_glyph): Make table a const.
13442 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 13443
849d55d3 134442007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
13445
13446 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
13447 code, first search for device in /dev/mapper, then in /dev.
13448 (grub_util_get_grub_dev): New function.
13449 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
13450 prototype.
13451 * util/grub-probe.c (probe): Remove check for RAID, call
13452 grub_util_get_grub_dev() instead of
13453 grub_util_biosdisk_get_grub_dev().
13454 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
13455 grub_util_biosdisk_get_grub_dev().
13456 * util/i386/pc/grub-setup.c (main): Likewise.
13457
8fff7c2f 134582007-05-16 Robert Millan <rmh@aybabtu.com>
13459
13460 * DISTLIST: Update for the latest changes.
13461 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
13462 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
13463 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
13464 grub/util/biosdisk.h.
13465 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
13466 grub/util/biosdisk.h.
13467
48e12b52 134682007-05-16 Robert Millan <rmh@aybabtu.com>
13469
13470 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
13471
46b9d128 134722007-05-16 Robert Millan <rmh@aybabtu.com>
13473
13474 * util/i386/efi/grub-install.in: New.
13475 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
13476 newly added grub-install.
13477 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
13478 include.
13479 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
13480 grub/util/biosdisk.h.
13481 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
13482 grub/util/biosdisk.h.
13483
2d1a40a9 134842007-05-16 Robert Millan <rmh@aybabtu.com>
13485
13486 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
13487 * include/grub/util/biosdisk.h: ... here.
13488 * util/i386/pc/biosdisk.c: Moved to ...
13489 * util/biosdisk.c: ... here.
13490 * util/i386/pc/getroot.c: Moved to ...
13491 * util/getroot.c: ... here.
13492 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
13493 * util/grub-mkdevicemap.c: ... here.
13494 * util/i386/pc/grub-probe.c: Moved to ...
13495 * util/grub-probe.c: ... here.
13496
9e26e3bc 134972007-05-15 Robert Millan <rmh@aybabtu.com>
13498
13499 * util/update-grub.in: Remove duplicated line in grub.cfg header
13500 message.
13501
57f96397 135022007-05-13 Robert Millan <rmh@aybabtu.com>
13503
13504 * util/update-grub.in: Fix a few assumptions about the devices holding
13505 /, /boot and /boot/grub being the same.
13506 * util/grub.d/00_header.in: Likewise.
13507 * util/grub.d/10_hurd.in: Likewise.
13508 * util/grub.d/10_linux.in: Likewise.
13509
13510 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
13511 patterns. Use that to define the `.old' suffix as older than `'.
13512
13513 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
13514
13515 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
13516 the grub.cfg header message.
13517
2e610d62 135182007-05-11 Robert Millan <rmh@aybabtu.com>
13519
13520 * util/update-grub.in: Create device.map if it doesn't already exist,
13521 before attempting to run grub-probe.
13522 Check for grub-probe and grub-mkdevicemap with the same code
13523 grub-install is using.
13524 Remove test mode.
13525
3f6a10ef 135262007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
13527
13528 * Makefile.in: Add the datarootdir autoconf variable.
13529
02e7b75e 135302007-05-09 Robert Millan <rmh@aybabtu.com>
13531
13532 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 13533 fail gracefully if dev->disk->partition == NULL.
02e7b75e 13534
75f396cc 135352007-05-07 Robert Millan <rmh@aybabtu.com>
13536
13537 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
13538 determine partition map module.
13539 * util/i386/pc/grub-install.in: Use this feature to decide which
13540 partition module to load, instead of hardcoding pc and gpt.
13541
da65cb36 135422007-05-07 Robert Millan <rmh@aybabtu.com>
13543
13544 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
13545 source directory differs from build directory.
13546
b57d6a91 135472007-05-05 Robert Millan <rmh@aybabtu.com>
13548
13549 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
13550 initialisation.
13551
509d00f1 135522007-05-05 Robert Millan <rmh@aybabtu.com>
13553
13554 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
13555
c48f23ef 135562007-05-05 Robert Millan <rmh@aybabtu.com>
13557
13558 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
13559 command-line arguments via ${GRUB_CMDLINE_LINUX}.
13560
20b97658 135612007-05-05 Robert Millan <rmh@aybabtu.com>
13562
13563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
13564 (grub_probe_SOURCES): Likewise.
13565 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
13566 GPT and initialize dos_part and bsd_part accordingly.
13567 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
13568 install_bsd_part.
13569 (main): Activate gpt module for use during partition identification,
13570 and deactivate it afterwards.
13571 * util/i386/pc/grub-install.in: Add gpt module to core.img.
13572 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
13573 partition identification, and deactivate it afterwards.
13574
99123174 135752007-05-05 Robert Millan <rmh@aybabtu.com>
13576
13577 * term/i386/pc/console.c (grub_console_fini): Call
13578 grub_term_set_current() before grub_term_unregister().
13579
ebd97f6e 135802007-05-04 Robert Millan <rmh@aybabtu.com>
13581
13582 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
13583 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
13584 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
13585 and update-grub_DATA.
13586 * conf/common.rmk: Build and install update-grub components.
13587 * conf/common.mk: Regenerate.
13588 * util/update-grub.in: New. Core of update-grub.
13589 * util/grub.d/00_header.in: New. Generates grub.cfg header.
13590 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
13591 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
13592 * util/grub.d/README: New. Document grub.d directory layout.
13593
b06a264d 135942007-05-01 Robert Millan <rmh@aybabtu.com>
13595
13596 * util/grub-emu.c: Move initialization functions
13597 grub_util_biosdisk_init() and grub_init_all() before
13598 grub_util_biosdisk_get_grub_dev(), which relies on them.
13599
41f0050e 136002007-04-19 Robert Millan <rmh@aybabtu.com>
13601
13602 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
13603 it is used later.
13604
04582bb3 136052007-04-18 Jerone Young <jerone@gmail.com>
13606
f19dbdb7 13607 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 13608 stanza.
13609
08db4632 136102007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 13611
08db4632 13612 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
13613 continue on and look for device node with real device name.
13614
801b76be 136152007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 13616
fe6b695a 13617 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 13618 ability.
13619 * Makefile.in: Add autoconf package transformation code.
13620 * util/i386/pc/grub-install.in: Likewise.
13621 * util/powerpc/ieee1275/grub-install.in: Likewise.
13622
6795c4e1 136232007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
13624
13625 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
13626 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
13627 (EXT2_REVISION): Likewise.
13628 (EXT2_INODE_SIZE): Likewise.
13629 (struct grub_ext2_block_group): Added a missing member
13630 "used_dirs".
13631 (grub_ext2_read_inode): Divide by the inode size in a superblock
13632 instead of 128 to obtain INODES_PER_BLOCK.
13633 Use the macro EXT2_INODE_SIZE instead of directly using
13634 SBLOCK->INODE_SIZE.
13635
d70af616 136362007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
13637
13638 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
13639 superblock instead of the structure size to compute an
13640 offset. This fixes the problem that GRUB could not read a
13641 filesystem when inode size is different from 128-byte.
13642
3b801603 136432007-03-05 Marco Gerards <marco@gnu.org>
13644
13645 * normal/main.c (read_config_file): When "menu" is not set, create
13646 an initial context.
13647
4785bfe4 136482007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13649
13650 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
13651 (HEAP_LIMIT): New macro.
13652 (grub_claim_heap): Claim memory up to `heaplimit'.
13653
a0cbb023 136542007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13655
13656 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
13657 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
13658 (_start): Likewise.
13659 (grub_arch_modules_addr): Return address after `_end'.
13660 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
13661 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
13662 (add_segments): Calculate `_end' from phdr size and location.
13663 (ALIGN_UP): Moved to ...
13664 * include/grub/misc.h: here.
13665 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13666 New macro.
13667 (GRUB_IEEE1275_MODULE_BASE): Removed.
13668
fd7d8eba 136692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13670
13671 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
13672 loop boundary.
13673
9b09e6fc 136742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13675
13676 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
13677 All users updated.
13678 (grub_elf64_load_hook_t): Likewise.
13679 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
13680 debug output.
13681
3ce27299 136822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13683
13684 * kern/mm.c: Update copyright.
13685 (grub_mm_debug): Correct syntax error.
13686 (grub_mm_dump_free): New function.
13687 (grub_debug_free): Call `grub_free'.
13688 * include/grub/mm.h: Update copyright.
13689 (grub_mm_dump_free): Add declaration.
13690
077d5fee 136912007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13692
13693 * include/grub/ieee1275/ieee1275.h: Update copyright.
13694 * kern/powerpc/ieee1275/init.c: Likewise.
13695 * kern/powerpc/ieee1275/openfw.c: Likewise.
13696
13697 * loader/powerpc/ieee1275/linux.c: Likewise.
13698 * include/grub/elfload.h: Likewise.
13699 * kern/elf.c: Likewise.
13700 (grub_elf32_load): Pass `base' and `size' parameters. Update all
13701 callers.
13702 (grub_elf64_load): Likewise.
13703 (grub_elf32_load_segment): Move to a nested function.
13704 (grub_elf64_load_segment): Likewise.
13705
dc946850 137062007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13707
13708 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
13709 prototype.
13710 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
13711 (grub_heap_len): Likewise.
13712 (HEAP_SIZE): New macro.
13713 (grub_claim_heap): New function.
13714 (grub_machine_init): Don't claim heap directly. Call
13715 `grub_claim_heap'.
13716 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
13717 (grub_available_iterate): New function.
13718
baa2a121 137192007-02-03 Thomas Schwinge <tschwinge@gnu.org>
13720
13721 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
13722 * configure.ac: Use it for testing the HOST and TARGET compilers.
13723
4fe9862e 137242006-12-13 Thomas Schwinge <tschwinge@gnu.org>
13725
13726 * Makefile.in (enable_grub_emu): New variable.
13727 * configure.ac (--enable-grub-emu): New option.
13728 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
13729 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
13730 * conf/i386-pc.rmk: Likewise.
13731 * conf/powerpc-ieee1275.rmk: Likewise.
13732 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
13733
a8aa5762 137342006-12-12 Marco Gerards <marco@gnu.org>
13735
13736 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
13737
13738 * kern/env.c (grub_env_unset): Don't free the member `value' when
13739 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
13740 pointer.
13741
13742 * normal/main.c (current_menu): Removed.
13743 (free_menu): Unset the `menu' environment variable.
13744 (grub_normal_menu_addentry): Make use of the environment variable
13745 `menu', instead of using the global `current_menu'. Allocate
13746 memory for the sourcecode of this entry.
13747 (read_config_file): New argument `nested', changed all callers.
13748 Only in the case of a new context, initialize a new menu. Set the
13749 `menu' environment variable.
13750 (grub_normal_execute): Don't set and unset the environment
13751 variable `menu' here anymore. Only free the menu when leaving the
13752 context.
13753
13754 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
13755 leak.
13756
957b3a3e 137572006-12-11 Marco Gerards <marco@gnu.org>
13758
13759 * normal/menu_entry.c (run): Fix off by one bug so the last line
13760 is executed. Move the loader check to outside the loop.
13761
ef875714 137622006-12-08 Hollis Blanchard <hollis@penguinppc.org>
13763
13764 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
13765
4e739985 137662006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
13767
13768 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
13769 the number of sectors. Reported by Andrey Shuvikov
13770 <mr_hyro@yahoo.com>.
f19dbdb7 13771
790707f2 137722006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
13773
13774 * kern/disk.c (grub_disk_read): When there is a read error, always
13775 try to read only the necessary data.
f19dbdb7 13776
790707f2 13777 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
13778 disk/raid.c.
13779 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
13780 prototype.
13781 [GRUB_UTIL] (grub_raid_fini): Likewise.
13782 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 13783 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 13784 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
13785 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
13786 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
13787 and grub_raid_fini().
f19dbdb7 13788
03e58196 137892006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
13790
13791 * include/grub/types.h (__unused): Rename to UNUSED.
13792 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
13793 (grub_elf64_size): Likewise.
f19dbdb7 13794
ae4f23bf 137952006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13796
13797 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
13798 grub_error_push and grub_error_pop in the error-handling path.
13799 (grub_elf32_load_segment): Only call grub_file_read with non-zero
13800 length.
13801
2166cc83 138022006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13803
13804 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
13805 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13807 (kernel_elf_SOURCES): Likewise.
13808 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
13809 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
13810 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13811 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13812 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
13813 (elf_mod_SOURCES): New variable.
13814 (elf_mod_CFLAGS): Likewise.
13815 (elf_mod_LDFLAGS): Likewise.
13816 * include/grub/types.h (__unused): New macro.
13817 * include/grub/elfload.h: New file.
13818 * kern/elf.c: Likewise.
13819 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
13820 (ELF32_LOADMASK): New macro.
13821 (ELF64_LOADMASK): Likewise.
13822 (vmlinux): Removed.
13823 (grub_linux_load32): New function.
13824 (grub_linux_load64): Likewise.
13825 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
13826 Use grub_elf_t instead of grub_file_t.
13827
a09d5aa5 138282006-11-02 Hollis Blanchard <hollis@penguinppc.org>
13829
13830 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
13831 `catch_result' to struct set_color_args.
13832
d976fc51 138332006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
13834
13835 * normal/menu.c: Include grub/script.h.
13836 * normal/menu_entry.c: Likewise.
13837 * include/grub/normal.h: Do not include grub/script.h.
13838
67507549 138392006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13840
13841 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
13842
69203a99 138432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13844
13845 * kern/disk.c (grub_disk_open): Print debug messages when opening a
13846 disk.
13847 (grub_disk_close): Print debug messages when closing a disk.
13848 (grub_disk_read): Print debug messages when disk read fails.
13849 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
13850 filesystem type.
13851 * kern/partition.c: Include misc.h.
13852 (grub_partition_iterate): Print debug messages when detecting
13853 partition type.
13854
e2b8278c 138552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13856
13857 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
13858 is negative.
13859 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
13860
97b2f2ff 138612006-10-26 Hollis Blanchard <hollis@penguinppc.org>
13862
13863 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13864 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
13865
6555d655 138662006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
13867
13868 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
13869 instead of sizeof(lv). Patch by Michael Guntsche.
13870
4d42b77f 138712006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
13872
13873 * disk/lvm.c: Rename VGS to VG_LIST.
13874 (grub_lvm_iterate): Change VGS->LV to VG-LV.
13875 (grub_lvm_open): Likewise.
13876 Thanks to Michael Guntsche for finding this bug.
13877
5d74d927 138782006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
13879
13880 * configure.ac (AC_INIT): Bumped to 1.95.
13881
a1bb27e4 138822006-10-14 Robert Millan <rmh@aybabtu.com>
13883
13884 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
13885 with "/dev/.static/dev/md".
13886
e0994b8b 138872006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13888
13889 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
13890 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
13891 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
13892 DRIVE_NAME are always freed.
13893
13894 * util/i386/pc/biosdisk.c (make_device_name): Add one into
13895 DOS_PART, as a DOS partition is counted from one instead of zero
13896 now. Reported by Robert Millan.
13897
ddd5cee9 138982006-10-14 Robert Millan <rmh@aybabtu.com>
13899
13900 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
13901 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
13902 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
13903 string returned by grub_guess_root_device.
13904 * util/i386/pc/grub-setup.c: Likewise.
13905 * util/i386/pc/grub-probefs.c: Likewise.
13906
13907 * util/i386/pc/grub-probefs.c: Rename to ...
13908 * util/i386/pc/grub-probe.c: ... this.
13909 * DISTLIST: Remove grub-probefs, add grub-probe.
13910 * conf/i386-efi.rmk: Likewise.
13911 * conf/i386-pc.rmk: Likewise.
13912 * util/i386/pc/grub-install.in: Likewise.
13913
13914 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
13915 choose which information we want to print.
13916
2b002173 139172006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13918
13919 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
13920 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
13921 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
13922 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
13923 video/readers/tga.c and video/i386/pc/vbeutil.c.
13924
139252006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
13926
13927 Added support for RAID and LVM.
f19dbdb7 13928
2b002173 13929 * disk/lvm.c: New file.
13930 * disk/raid.c: Likewise.
13931 * include/grub/lvm.h: Likewise.
f19dbdb7 13932 * include/grub/raid.h: Likewise.
2b002173 13933 * include/grub/util/lvm.h: Likewise.
13934 * include/grub/util/raid.h: Likewise.
13935 * util/lvm.c: Likewise.
13936 * util/raid.c: Likewise.
13937
13938 * include/grub/disk.h (grub_disk_dev_id): Add
13939 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
13940 (grub_disk_get_size): New prototype.
13941 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
13942 returns a partition.
13943 (grub_disk_get_size): New function.
f19dbdb7 13944
2b002173 13945 * kern/i386/pc/init.c (make_install_device): Copy the prefix
13946 verbatim if grub_install_dos_part is -2.
13947
13948 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
13949 and LVM devices.
13950
13951 * util/i386/pc/grub-setup.c (setup): New argument
13952 MUST_EMBED. Force embedding of GRUB when the argument is
13953 true. Close FILE before returning.
13954 (main): Add support for RAID and LVM.
f19dbdb7 13955
2b002173 13956 * conf/common.rmk: Add RAID and LVM modules.
13957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
13958 util/lvm.c.
13959 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
13960
13961 * kern/misc.c (grub_strstr): New function.
13962 * include/grub/misc.h (grub_strstr): New prototype.
13963
050548d0 139642006-10-10 Tristan Gingold <tristan.gingold@bull.net>
13965
13966 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
13967
da849d2d 139682006-10-05 Tristan Gingold <tristan.gingold@bull.net>
13969
13970 * kern/misc.c (grub_strtoull): Guess the base only if not
13971 specified.
13972
97b2f2ff 139732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 13974
13975 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
13976 PowerMac support.
13977
97b2f2ff 139782006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 13979
13980 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
13981
13982 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
13983 Remove `flags' argument. All callers changed.
13984 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
13985 (IEEE1275_IHANDLE_INVALID): New variable.
13986 (IEEE1275_CELL_INVALID): New variable.
13987 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13988 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
13989 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
13990 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
13991 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
13992 codes from Open Firmware. All callers updated.
13993 (grub_ieee1275_next_property): Directly return Open Firmware return
13994 code.
13995 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13996 Standardize error checking from `grub_ieee1275_get_property'.
13997 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
13998 `devalias' to `aliases'. Correct comments. Consolidate error paths.
13999
97b2f2ff 140002006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 14001
14002 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
14003 `instance_to_package_args' to `instance_to_path_args'.
14004
14005 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
14006 `grub_ieee1275_chosen'.
14007
14008 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
14009 `grub_ieee1275_interpret'.
14010
97b2f2ff 140112006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 14012
14013 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
14014
97b2f2ff 140152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 14016
14017 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
14018 (__cmpdi): Likewise.
14019
14020 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
14021 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
14022 `grub_ssize_t'.
14023
02bb8acc 14024 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 14025
14026 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14027 to type `grub_ssize_t'.
14028 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14029
7f9a8531 140302006-09-22 Marco Gerards <marco@gnu.org>
14031
14032 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14033 newlines.
14034
b5ef1102 140352006-09-22 Marco Gerards <marco@gnu.org>
14036
14037 * commands/echo.c: New file.
14038
14039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14040
14041 * conf/common.rmk (echo_mod_SOURCES): New variable.
14042 (echo_mod_CFLAGS): Likewise.
14043 (echo_mod_LDFLAGS): Likewise.
14044
2cff3677 140452006-09-22 Marco Gerards <marco@gnu.org>
14046
14047 * normal/main.c (get_line): Malloc memory instead of using
14048 preallocated memory. Removed the arguments `cmdline' and
14049 `max_len'. Updated all callers.
14050
6ba4688b 140512006-09-22 Marco Gerards <marco@gnu.org>
14052
14053 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14054 (normal_mod_DEPENDENCIES): Likewise.
14055
14056 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14057 (normal_mod_DEPENDENCIES): Likewise.
14058
14059 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14060
e02ac02c 140612006-09-22 Johan Rydberg <jrydberg@gnu.org>
14062
14063 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14064 programs.
14065 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14066 (normal_mod_DEPENDENCIES): Likewise.
14067 * conf/i386-pc.mk: Regenerate.
14068 * conf/i386-efi.mk: Likewise
14069 * conf/common.mk: Likewise.
14070 * conf/powerpc-ieee1275.mk: Likewise.
14071 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14072
8d252e44 140732006-09-22 Robert Millan <rmh@aybabtu.com>
14074
14075 Sync with i386 version.
14076 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14077 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14078
209bf7ac 140792006-09-21 Robert Millan <rmh@aybabtu.com>
14080
14081 Import from GRUB Legacy (lib/device.c):
14082 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14083 (init_device_map) [__linux__]: Add support for I2O devices.
14084
6b146090 140852006-09-14 Marco Gerards <marco@gnu.org>
14086
14087 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14088 `-melf_i386'.
14089
e38600a8 140902006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 14091
14092 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14093 /boot/grub/*.lst.
78fa1790 14094
2952da5d 14095 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 14096
2952da5d 14097 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
14098 before adding it to device.map.
14099
01b82a64 141002006-08-15 Johan Rydberg <jrydberg@gnu.org>
14101
fe6b695a 14102 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 14103 compiles a file; using the -MD option.
14104 * conf/common.mk: Regenerate.
14105 * conf/i386-pc.mk: Likewise.
14106 * conf/i386-efi.mk: Likewise.
14107 * conf/powerpc-ieee1275.mk: Likewise.
14108 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14109
1064790d 141102006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
14111
14112 Move the prototypes of grub_setjmp and grub_longjmp to
14113 cpu/setjmp.h, so that each architecture may specify different
14114 attributes.
f19dbdb7 14115
1064790d 14116 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
14117 (grub_longjmp): Likewise.
14118 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
14119 (grub_longjmp): Likewise.
14120 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
14121 (grub_longjmp): Likewise.
14122
14123 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
14124 [!GRUB_UTIL] (grub_longjmp): Removed.
14125
29dda3ed 141262006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
14127
14128 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
14129 "color!" method does not return any value.
14130
ad2a06ed 141312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14132
14133 * include/grub/bitmap.h: New file.
14134
14135 * include/grub/i386/pc/vbeutil.h: Likewise.
14136
14137 * video/bitmap.c: Likewise.
14138
14139 * video/readers/tga.c: Likewise.
14140
14141 * video/i386/pc/vbeutil.c: Likewise.
14142
14143 * commands/videotest.c: Code cleanup and updated to reflect to new
14144 video API.
14145
14146 * term/gfxterm.c: Likewise.
14147
14148 * video/video.c: Likewise.
14149
14150 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
14151 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
14152 (bitmap_mod_SOURCES): New entry.
14153 (bitmap_mod_CFLAGS): Likewise.
14154 (bitmap_mod_LDFLAGS): Likewise.
14155 (tga_mod_SOURCES): Likewise.
14156 (tga_mod_CFLAGS): Likewise.
14157 (tga_mod_LDFLAGS): Likewise.
14158
14159 * include/grub/video.h (grub_video_blit_operators): New enum type.
14160 (grub_video_render_target): Changed as forward declaration and moved
14161 actual definition to be video driver specific.
14162 (grub_video_adapter.blit_bitmap): Added blitting operator.
14163 (grub_video_adapter.blit_render_target): Likewise.
14164 (grub_video_blit_bitmap): Likewise.
14165 (grub_video_blit_render_target): Likewise.
14166
14167 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
14168 driver specific render target definition.
14169 (grub_video_vbe_map_rgba): Added driver internal helper.
14170 (grub_video_vbe_unmap_color): Updated to use
14171 grub_video_i386_vbeblit_info.
14172 (grub_video_vbe_get_video_ptr): Likewise.
14173
14174 * include/grub/i386/pc/vbeblit.h
14175 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
14176 grub_video_i386_vbeblit_info.
14177 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14178 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14179 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14180 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14181 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14182 (grub_video_i386_vbeblit_index_index): Likewise.
14183 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
14184 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14185 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14186 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
14187 operator.
14188 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
14189 operator.
14190
14191 * video/i386/pc/vbeblit.c: Updated to reflect changes on
14192 include/grub/i386/pc/vbeblit.h.
14193
14194 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
14195 Updated to use grub_video_i386_vbeblit_info.
14196 (grub_video_i386_vbefill_R8G8B8): Likewise.
14197 (grub_video_i386_vbefill_index): Likewise.
14198 (grub_video_i386_vbefill): Added generic filler.
14199
14200 * video/i386/pc/vbefill.c: Updated to reflect changes on
14201 include/grub/i386/pc/vbefill.h.
14202
14203 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
14204 grub_video_i386_vbeblit_info.
14205 (grub_video_vbe_unmap_color): Likewise.
14206 (grub_video_vbe_blit_glyph): Likewise.
14207 (grub_video_vbe_scroll): Likewise.
14208 (grub_video_vbe_draw_pixel): Removed function.
14209 (grub_video_vbe_get_pixel): Likewise.
14210 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
14211 updated code to use it.
14212 (common_blitter): Added common blitter for render target and bitmap.
14213 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
14214 (grub_video_vbe_blit_render_target): Likewise.
14215
bc8c036d 142162006-07-30 Johan Rydberg <jrydberg@gnu.org>
14217
14218 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
14219 is in text mode if there is no console control protocol instance
14220 available.
14221
684a8eff 142222006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14223
14224 * include/grub/video.h: Code cleanup.
14225
14226 * include/grub/i386/pc/vbe.h: Likewise.
14227
14228 * video/i386/pc/vbe.c: Likewise.
14229
14230 * video/i386/pc/vbeblit.c: Likewise.
14231
14232 * video/i386/pc/vbefill.c: Likewise.
14233
14234 * video/video.c: Likewise. Also added more comments.
14235
5915059b 142362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14237
14238 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
14239 (struct grub_biosdisk_dap): Likewise.
14240
14241 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
14242 linkage settings for all functions.
14243
90ce5d56 142442006-07-12 Marco Gerards <marco@gnu.org>
14245
14246 * configure.ac (--enable-mm-debug): Fix typo.
14247
14248 * genkernsyms.sh.in: Use proper quoting for `CC'.
14249
43e7f879 142502006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
14251
14252 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
14253 (normal_mod_ASFLAGS): Remove "-m32".
14254
4889bdec 142552006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
14256
14257 * util/misc.c: Include config.h.
14258 [!HAVE_MEMALIGN]: Do not include malloc.h.
14259 (grub_memalign): Use posix_memalign, if present. Then, use
14260 memalign, if present. Otherwise, emit an error.
14261
14262 * util/grub-emu.c: Do not include malloc.h.
14263
14264 * include/grub/util/misc.h: Include unistd.h. This is required for
14265 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
14266 D. Eades III <hde@foobar-qux.org>.
14267
14268 * configure.ac (AC_GNU_SOURCE): Added.
14269 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
14270 type.
14271
fd39d4da 142722006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
14273
14274 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
14275 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
14276
b786f3b5 142772006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
14278
14279 * include/grub/types.h (grub_host_addr_t): Rename to
14280 grub_target_addr_t.
14281 (grub_host_off_t): Rename to grub_target_off_t.
14282 (grub_host_size_t): Rename to grub_target_size_t.
14283 (grub_host_ssize_t): Rename to grub_target_ssize_t.
14284 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
14285
14286 * include/grub/kernel.h (struct grub_module_header): Change type
14287 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
14288 (grub_module_info): Likewise.
f19dbdb7 14289
051988bb 142902006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14291
14292 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
14293 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
14294 Velazquez <jesus.velazquez@gmail.com>.
14295
deae281b 142962006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14297
14298 Count partitions from 1 instead of 0 in the string representation
14299 of partitions. Still use 0-based internally.
f19dbdb7 14300
deae281b 14301 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
14302 (sun_partition_map_iterate): Use grub_partition_t instead of
14303 struct grub_partition *. Cast DESC->START_CYLINDER to
14304 grub_uint64_t after converting the endian.
14305 (sun_partition_map_probe): Subtract 1 for PARTNUM.
14306 (sun_partition_map_get_name): Add 1 to P->INDEX.
14307
14308 * partmap/pc.c (grub_partition_parse): Subtract 1 for
14309 PCDATA->DOS_PART.
14310 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
14311
14312 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
14313 zero instead of one.
14314 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
14315 (gpt_partition_map_get_name): Add 1 into P->INDEX.
14316
14317 * partmap/apple.c (apple_partition_map_iterate): Change the type
14318 of POS to unsigned.
14319 (apple_partition_map_probe): Subtract 1 for PARTNUM.
14320 (apple_partition_map_get_name): Add 1 into P->INDEX.
14321
14322 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
14323 of POS to unsigned.
14324 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
14325 calculate the offset of a partition.
14326 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
14327 (amiga_partition_map_get_name): Add 1 into P->INDEX.
14328
14329 * partmap/acorn.c (acorn_partition_map_find): Change the type of
14330 SECTOR to grub_disk_addr_t.
14331 (acorn_partition_map_iterate): Likewise.
14332 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
14333 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
14334 top.
14335 (acorn_partition_map_get_name): Add 1 into P->INDEX.
14336
14337 * kern/i386/pc/init.c (make_install_device): Add 1 into
14338 GRUB_INSTALL_DOS_PART.
14339
14340 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
14341 conditional.
14342
524a1e6a 143432006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14344
14345 Clean up the code to support 64-bit addressing in disks and
14346 files. This change is not enough for filesystems yet.
f19dbdb7 14347
524a1e6a 14348 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
14349 type of "start" to grub_uint64_t.
14350 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
14351 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
14352 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
14353 convert addresses.
14354
14355 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
14356 to grub_disk_addr_t.
14357
14358 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
14359 string.
14360
14361 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14362
14363 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
14364 to char *.
14365
14366 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
14367
14368 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
14369
14370 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
14371
14372 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
14373 to grub_off_t, to detect an error from grub_file_seek.
14374 (grub_multiboot_load_elf32): Likewise.
14375
14376 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
14377 maximum unsigned long value when an overflow is detected.
14378 (grub_strtoull): New function.
14379 (grub_divmod64): Likewise.
14380 (grub_lltoa): use grub_divmod64.
14381
14382 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
14383 grub_disk_addr_t.
14384 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
14385 the pointer to next character. Use grub_strtoull instead of
14386 grub_strtoul.
14387 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
14388 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
14389 respectively.
14390
fe6b695a 14391 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 14392 return value is signed.
14393 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
14394 test if OFFSET is less than zero, as OFFSET is unsigned now.
14395
14396 * kern/disk.c (struct grub_disk_cache): Change the type of
14397 "sector" to grub_disk_addr_t.
14398 (grub_disk_cache_get_index): Change the type of SECTOR to
14399 grub_disk_addr_t. Calculate the hash with SECTOR casted to
14400 unsigned after shifting.
14401 (grub_disk_cache_invalidate): Change the type of SECTOR to
14402 grub_disk_addr_t.
14403 (grub_disk_cache_unlock): Likewise.
14404 (grub_disk_cache_store): Likewise.
14405 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
14406 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
14407 grub_disk_addr_t and grub_uint64_t, respectively.
14408 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
14409 body, as the value of OFFSET is tweaked by
14410 grub_disk_check_range. Change the types of START_SECTOR, LEN and
14411 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
14412 respectively.
14413 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
14414 body, as the value of OFFSET is tweaked by
14415 grub_disk_check_range. Change the types of LEN and N to
14416 grub_size_t.
14417
14418 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
14419 and "saved_offset" to grub_off_t.
14420 (test_header): Cast BUF to char *.
14421 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
14422 to char *.
14423 (grub_gzio_read): Change the types of OFFSET and SIZE to
14424 grub_off_t and grub_size_t, respectively.
14425
14426 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
14427 Removed.
14428 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
14429 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
14430 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
14431 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
14432 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
14433
14434 * include/grub/types.h (grub_off_t): Unconditionally set to
14435 grub_uint64_t.
14436 (grub_disk_addr_t): Changed to grub_uint64_t.
14437
14438 * include/grub/partition.h (struct grub_partition): Change the
14439 types of "start", "len" and "offset" to grub_disk_addr_t,
14440 grub_uint64_t and grub_disk_addr_t, respectively.
14441 (grub_partition_get_start): Return grub_disk_addr_t.
14442 (grub_partition_get_len): Return grub_uint64_t.
14443
14444 * include/grub/misc.h (grub_strtoull): New prototype.
14445 (grub_divmod64): Likewise.
14446
14447 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
14448 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
14449 grub_off_t, respectively.
14450 All callers and references changed.
14451
14452 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
14453 grub_size_t in "read".
14454 All callers and references changed.
14455
14456 * include/grub/file.h (struct grub_file): Change the types of
14457 "offset" and "size" to grub_off_t and grub_off_t,
14458 respectively. Change the type of SECTOR to grub_disk_addr_t in
14459 "read_hook".
14460 (grub_file_read): Change the type of LEN to grub_size_t.
14461 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
14462 grub_off_t.
14463 (grub_file_size): Return grub_off_t.
14464 (grub_file_tell): Likewise.
14465 All callers and references changed.
14466
14467 * include/grub/disk.h (struct grub_disk_dev): Change the types of
14468 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
14469 "write".
14470 (struct grub_disk): Change the type of "total_sectors" to
14471 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 14472 "read_hook".
524a1e6a 14473 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
14474 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
14475 (grub_disk_write): Likewise.
14476 All callers and references changed.
14477
14478 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
14479 char * for grub_strncmp to silence gcc.
14480 (grub_iso9660_mount): Likewise.
14481 (grub_iso9660_mount): Likewise.
14482 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
14483 return statement.
14484 (grub_iso9660_iterate_dir): Likewise.
14485 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
14486
14487 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
14488 LEN to grub_disk_addr_t and grub_size_t, respectively.
14489
14490 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14491
14492 * fs/jfs.c (grub_jfs_read_file): Likewise.
14493
14494 * fs/minix.c (grub_jfs_read_file): Likewise.
14495
14496 * fs/sfs.c (grub_jfs_read_file): Likewise.
14497
14498 * fs/ufs.c (grub_jfs_read_file): Likewise.
14499
14500 * fs/xfs.c (grub_jfs_read_file): Likewise.
14501
14502 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
14503 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
14504 respectively.
14505
14506 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
14507 BLKNR to -1 instead of returning GRUB_ERRNO.
14508 (grub_ext2_read_file): Change the types of SECTOR and
14509 LEN to grub_disk_addr_t and grub_size_t, respectively.
14510
14511 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
14512 LEN to grub_disk_addr_t and grub_size_t, respectively.
14513
14514 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
14515 grub_file_read.
14516
14517 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
14518 string. Do not cast SECTOR explicitly.
14519
14520 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
14521 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
14522 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
14523 grub_disk_addr_t and grub_size_t, respectively. If the sector is
14524 over 2TB and LBA mode is not supported, raise an error.
14525 (get_safe_sectors): New function.
14526 (grub_biosdisk_read): Use get_safe_sectors.
14527 (grub_biosdisk_write): Likewise.
14528
14529 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
14530 (grub_efidisk_write): Likewise.
14531
14532 * disk/loopback.c (delete_loopback): Cosmetic changes.
14533 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
14534 correctly.
14535 (grub_loopback_open): Likewise.
14536 (grub_loopback_read): Likewise. Also, change the type of POS to
14537 grub_off_t, and fix the usage of grub_memset.
14538
14539 * commands/i386/pc/play.c: Include grub/machine/time.h.
14540
14541 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
14542 print FILE->SIZE.
14543
14544 * commands/configfile.c: Include grub/env.h.
14545
14546 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
14547 GRUB_ERRNO directly instead. Change the type of POS to
14548 grub_off_t. Follow the coding standard.
14549
14550 * commands/blocklist.c: Include grub/partition.h.
14551 (grub_cmd_blocklist): Return an error if the underlying device is
14552 not a disk. Take the starting sector of a partition into account,
14553 if a partition is used.
14554
14555 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
14556 a length field.
14557 (lba_mode): Support 64-bit addresses.
14558 (chs_mode): Likewise.
14559 (copy_buffer): Adapted to the new offsets of a length field and a
14560 segment field.
14561 (blocklist_default_start): Allocate 64-bit space.
14562
14563 * boot/i386/pc/boot.S (force_lba): Removed.
14564 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 14565 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 14566 space.
14567 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
14568 is useless.
14569 (lba_mode): Refactored to support a 64-bit address. More size
14570 optimization.
14571 (setup_sectors): Likewise.
14572
53af98ad 145732006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14574
14575 * DISTLIST: Added include/grub/i386/linux.h. Removed
14576 include/grub/i386/pc/linux.h
14577
14578 * configure.ac (AC_INIT): Bumped to 1.94.
14579
14580 * config.guess: Updated from gnulib.
14581 * config.sub: Likewise.
14582 * install-sh: Likewise.
14583 * mkinstalldirs: Likewise.
14584
b4c1940a 145852006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14586
14587 * conf/common.rmk (grub_modules_init.lst): Depended on
14588 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
14589 MODSRCFILES.
14590
14591 * genmk.rb (PModule::rule): Reverted the previous change.
14592
cfca1cfd 145932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14594
14595 * conf/common.rmk (grub_modules_init.lst): Depends on
14596 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
14597 that the target does not exist before producing.
14598 (grub_modules_init.h): Remove the target before generating.
14599 (grub_emu_init.c): Likewise.
14600
14601 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
14602
aa6d7826 146032006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
14604
14605 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
14606 for the target-specific tests. Make sure that we also have the
14607 up-to-date target variables for those tests.
14608
26c607b9 146092006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14610
14611 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
14612 (PModule::rule): Likewise.
14613
0162321a 146142006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14615
14616 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
14617 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
14618 target-specific flags should be prefixed.
14619 (PModule::rule): Likewise.
14620
6c826348 146212006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
14622
14623 * configure.ac (CMP): Check if cmp is available explicitly.
14624
b977bf01 146252006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
14626
14627 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
14628 (target_cpu): New variable.
14629 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 14630
b977bf01 14631 * util/i386/pc/grub-install.in (host_cpu): Removed.
14632 (target_cpu): New variable.
14633 (pkglibdir): Use target_cpu instead of host_cpu.
14634
14635 * util/genmoddep.c: Removed.
f19dbdb7 14636
b977bf01 14637 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
14638 instead of GRUB_HOST_SIZEOF_VOID_P.
14639 * kern/dl.c: Likewise.
14640
14641 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
14642 ...
14643 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14644 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14645 (GRUB_TARGET_SIZEOF_LONG): ... this.
14646 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14647 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14648 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14649 to ...
14650 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14651 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14652 (GRUB_TARGET_SIZEOF_LONG): ... this.
14653 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14654 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14655 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14656 to ...
14657 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14658 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14659 (GRUB_TARGET_SIZEOF_LONG): ... this.
14660 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14661 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14662
14663 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
14664 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
14665 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
14666 instead of GRUB_HOST_SIZEOF_LONG.
14667 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
14668 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
14669 GRUB_CPU_WORDS_BIGENDIAN.
14670 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
14671 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
14672 grub_host_ssize_t.
14673
14674 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
14675 (genmoddep_SOURCES): Likewise.
14676 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
14677 (genmoddep_SOURCES): Likewise.
14678 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
14679 (genmoddep_SOURCES): Likewise.
14680 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
14681 Likewise.
14682 (genmoddep_SOURCES): Likewise.
14683
14684 * genmoddep.awk: New file.
14685
14686 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
14687 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
14688 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
14689 (PModule::rule): Likewise.
14690 (Program::rule): Likewise.
14691 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
14692 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
14693 respectively.
14694
14695 * configure.ac: Rewritten intensively to use host and target
14696 instead of build and host, respectively.
14697
14698 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
14699 (host_cpu): Removed.
14700 (target_cpu): New variable.
14701 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
14702 (BUILD_CC): Removed.
14703 (BUILD_CFLAGS): Likewise.
14704 (BUILD_CPPFLAGS): Likewise.
14705 (TARGET_CC): New variable.
14706 (TARGET_CFLAGS): Likewise.
14707 (TARGET_CPPFLAGS): Likewise.
14708 (TARGET_LDFLAGS): Likewise.
14709 (AWK): Likewise.
14710 (include): Use target_cpu instead of host_cpu.
14711 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 14712
b977bf01 14713 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
14714
f09771a1 147152006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
14716
14717 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
14718 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
14719 field 'false' to 'exec_on_false'.
14720 (grub_script_create_cmdif): Renamed argument names to reflect above
14721 changes.
14722
14723 * normal/execute.c (grub_script_execute_cmdif): Likewise.
14724
14725 * normal/script.c (grub_script_create_cmdif): Likewise.
14726
118f4fb3 147272006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
14728
14729 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
14730 top.
14731 (grub_hfsplus_btree_recptr): Likewise.
14732 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
14733 FILEBLOCK both to pass a block number and store next block
14734 number.
14735 (grub_hfsplus_read_block): Rewritten heavily to support an extent
14736 overflow file correctly. Specify errors appropriately, because
14737 fshelp expects that GRUB_ERRNO is set when fails. Reuse
14738 grub_hfsplus_btree_recptr to get the pointer to a found key.
14739 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
14740 is found.
14741
14742 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
14743 linux.mod.
14744 (_linux_mod_SOURCES): New variable.
14745 (_linux_mod_CFLAGS): Likewise.
14746 (_linux_mod_LDFLAGS): Likewise.
14747 (linux_mod_SOURCES): Likewise.
14748 (linux_mod_CFLAGS): Likewise.
14749 (linux_mod_LDFLAGS): Likewise.
14750
14751 * DISTLIST: Added loader/i386/efi/linux.c,
14752 loader/i386/efi/linux_normal.c and
14753 include/grub/i386/efi/loader.h.
14754
14755 * loader/i386/efi/linux.c: New file.
14756 * loader/i386/efi/linux_normal.c: Likewise.
14757 * include/grub/i386/efi/loader.h: Likewise.
14758
89a7d726 147592006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
14760
14761 * commands/blocklist.c: New file.
14762
14763 * DISTLIST: Added commands/blocklist.c.
14764
14765 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 14766 color for the background, and a darker color for the foreground.
89a7d726 14767 (grub_console_checkkey): Return READ_KEY.
14768 (grub_console_cls): Set the background to
14769 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
14770
14771 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
14772
14773 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
14774 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
14775
14776 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
14777 prototype.
14778
14779 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
14780 BG. The spec is wrong again.
14781
14782 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
14783 prototype.
14784 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
14785
14786 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
14787 commands/blocklist.c.
14788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 14789
89a7d726 14790 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
14791 (blocklist_mod_SOURCES): New variable.
14792 (blocklist_mod_CFLAGS): Likewise.
14793 (blocklist_mod_LDFLAGS): Likewise.
14794
75c8f258 147952006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
14796
14797 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
14798 duplication.
14799 (lba_mode): Use %eax more intensively to reduce the code size.
14800
da2eb181 148012006-05-20 Marco Gerards <marco@gnu.org>
14802
14803 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
14804
14805 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
14806 for `menuentry'.
14807 (script): Accept leading newlines.
14808 (newlines): New rule to describe 0 or more newlines.
14809 (commands): Accept `command' with trailing newline. Fixed the
14810 order in which arguments were passed to `grub_script_add_cmd'.
14811 Accept commands separated by newlines.
14812 (function): Changed to accept newlines.
14813 (menuentry) Rewritten.
14814
14815 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
14816 front of the list, instead of to the end.
14817
577b4050 148182006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
14819
14820 * util/i386/pc/grub-install.in (bindir): New variable.
14821 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
14822 Shaver <lbgwjl@gmail.com>.
14823
0d6e1189 148242006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
14825
14826 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
14827 grub/machine/linux.h
14828 * loader/i386/pc/linux.c: Likewise.
14829
14830 * include/grub/i386/pc/linux.h: Moved to ...
14831 * include/grub/i386/linux.h: ... here.
14832
14833 * include/grub/i386/linux.h (struct linux_kernel_params): New
14834 struct.
f19dbdb7 14835
31b86e9f 148362006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
14837
14838 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
14839 checking.
14840 (grub_video_vbe_blit_glyph): Likewise.
14841 (grub_video_vbe_blit_bitmap): Likewise.
14842 (grub_video_vbe_blit_render_target): Likewise.
14843
83b984de 148442006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
14845
14846 * configure.ac (--with-platform): Properly quote the square
14847 brackets.
14848
5f0413bd 148492006-05-08 Marco Gerards <marco@gnu.org>
14850
14851 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
14852 this...
14853 (kernel_elf_HEADERS): ...to this. Updated all users.
14854 (grubof_symlist.c): Renamed from this...
14855 (kernel_elf_symlist.c): ...to this. Updated all users.
14856 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14857 (grubof_SOURCES): Renamed from this...
14858 (kernel_elf_SOURCES): ...to this.
14859 (grubof_HEADERS): Renamed from this...
14860 (kernel_elf_HEADERS): ...to this.
14861 (grubof_CFLAGS): Renamed from this...
14862 (kernel_elf_CFLAGS): ...to this.
14863 (grubof_ASFLAGS): Renamed from this...
14864 (kernel_elf_ASFLAGS): ...to this.
14865 (grubof_LDFLAGS): Renamed from this...
14866 (kernel_elf_LDFLAGS): ...to this.
14867
14868 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
14869 this...
14870 (kernel_elf_HEADERS): ...to this. Updated all users.
14871 (grubof_symlist.c): Renamed from this...
14872 (kernel_elf_symlist.c): ...to this. Updated all users.
14873 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14874 (grubof_SOURCES): Renamed from this...
14875 (kernel_elf_SOURCES): ...to this.
14876 (grubof_HEADERS): Renamed from this...
14877 (kernel_elf_HEADERS): ...to this.
14878 (grubof_CFLAGS): Renamed from this...
14879 (kernel_elf_CFLAGS): ...to this.
14880 (grubof_ASFLAGS): Renamed from this...
14881 (kernel_elf_ASFLAGS): ...to this.
14882 (grubof_LDFLAGS): Renamed from this...
14883 (kernel_elf_LDFLAGS): ...to this.
14884
14885 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
14886 `kernel.elf' instead of `grubof'.
14887
05568c2e 148882006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
14889
14890 Add --with-platform to configure. Use pkglibdir instead of
14891 pkgdatadir. This is reported by Roger Leigh.
14892
14893 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
14894 (host_vendor): Likewise.
14895 (host_os): Likewise.
14896 (pkgdatadir): Likewise.
14897 (platform): New variable.
14898 (pkglibdir): Likewise.
14899 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 14900
05568c2e 14901 * util/i386/pc/grub-install.in (datadir): Removed.
14902 (host_vendor): Likewise.
14903 (host_os): Likewise.
14904 (pkgdatadir): Likewise.
14905 (platform): New variable.
14906 (pkglibdir): Likewise.
14907 Use PKGLIBDIR instead of PKGDATADIR.
14908
14909 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
14910 instead of GRUB_DATADIR.
14911 (main): Likewise.
14912 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14913 (main): Likewise.
14914 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14915 (main): Likewise.
14916
14917 * configure.ac (--with-platform): New option.
14918 Use PLATFORM instead of HOST_VENDOR to specify a platform.
14919
14920 * Makefile.in: Include a makefile based on PLATFORM instead of
14921 HOST_VENDOR.
14922 (pkgdatadir): Not appended by the machine type.
14923 (pkglibdir): Appended by the machine type.
14924 (host_vendor): Removed.
14925 (platform): New variable.
14926 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
14927 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
14928 (uninstall): Likewise.
14929
4e93851c 149302006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
14931
14932 Use the environment context in the menu. Remove the commands
14933 "default" and "timeout", and use variables instead.
f19dbdb7 14934
4e93851c 14935 * normal/menu.c: Include grub/env.h.
14936 (print_entry): Cast TITLE to silence gcc.
14937 (get_timeout): New function.
14938 (set_timeout): Likewise.
14939 (get_entry_number): Likewise.
14940 (run_menu): Use a default entry, a fallback entry and a timeout
14941 in the environment variables "default", "fallback" and
14942 "timeout". Also, tweak the default entry if it is not within the
14943 current menu entries.
14944 (grub_menu_run): Use a fallback entry in the environment variable
14945 "fallback".
14946
14947 * normal/main.c (read_config_file): Do not initialize
14948 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
14949 NEWMENU->TIMEOUT.
14950 (grub_normal_execute): Use a data slot to store the menu.
14951
14952 * include/grub/normal.h (struct grub_menu): Removed default_entry,
14953 fallback_entry and timeout.
14954 (struct grub_menu_list): Removed.
14955 (grub_menu_list_t): Likewise.
14956 (struct grub_context): Likewise.
14957 (grub_context_t): Likewise.
14958 (grub_context_get): Likewise.
14959 (grub_context_get_current_menu): Likewise.
14960 (grub_context_push_menu): Likewise.
14961 (grub_context_pop_menu): Likewise.
14962 (grub_default_init): Likewise.
14963 (grub_default_fini): Likewise.
14964 (grub_timeout_init): Likewise.
14965 (grub_timeout_fini): Likewise.
14966
14967 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
14968 and timeout.mod.
14969 (normal_mod_SOURCES): Removed normal/context.c.
14970
14971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
14972 commands/default.c, commands/timeout.c and normal/context.c.
14973 (normal_mod_SOURCES): Removed normal/context.c.
14974
14975 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
14976 commands/timeout.c and normal/context.c.
14977 (normal_mod_SOURCES): Removed normal/context.c.
14978
14979 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
14980 commands/default.c, commands/timeout.c and normal/context.c.
14981 (normal_mod_SOURCES): Removed normal/context.c.
14982
14983 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
14984 timeout.mod.
14985 (default_mod_SOURCES): Removed.
14986 (default_mod_CFLAGS): Likewise.
14987 (default_mod_LDFLAGS): Likewise.
14988 (timeout_mod_SOURCES): Removed.
14989 (timeout_mod_CFLAGS): Likewise.
14990 (timeout_mod_LDFLAGS): Likewise.
14991
14992 * DISTLIST: Removed commands/default.c, commands/timeout.c and
14993 normal/context.c.
14994
14995 * commands/default.c: Removed.
14996 * commands/timeout.c: Likewise.
14997 * normal/context.c: Likewise.
14998
1eb9cc1d 149992006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
15000
15001 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
15002
385bd9c1 150032006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
15004
15005 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
15006 "next" to "prev" for readability.
15007 (struct grub_env_sorted_var): New struct.
15008 (grub_env_context): Renamed to ...
15009 (initial_context): ... this.
15010 (grub_env_var_context): Renamed to ...
15011 (current_context): ... this.
15012 (grub_env_find): Look only at CURRENT_CONTEXT.
15013 (grub_env_context_open): Rewritten to copy exported variables from
15014 previous context.
15015 (grub_env_context_close): Rewritten according to the new
15016 scheme. Also, add an assertion to prevent the initial context from
15017 removed.
15018 (grub_env_insert): Removed the code for the sorted list.
15019 (grub_env_remove): Likewise.
15020 (grub_env_export): Simply mark the variable with
15021 GRUB_ENV_VAR_GLOBAL.
15022 (grub_env_set): A cosmetic change for naming consistency.
15023 (grub_env_get): Likewise.
15024 (grub_env_unset): Likewise.
15025 (grub_env_iterate): Rewritten to sort variables within this
15026 function.
15027 (grub_register_variable_hook): Fixed for naming consistency. Call
15028 grub_env_find again, only if NAME is not found at the first time.
15029 (mangle_data_slot_name): New function.
15030 (grub_env_set_data_slot): Likewise.
15031 (grub_env_get_data_slot): Likewise.
15032 (grub_env_unset_data_slot): Likewise.
15033
15034 * include/grub/env.h (grub_env_var_type): New enum.
15035 (GRUB_ENV_VAR_LOCAL): New constant.
15036 (GRUB_ENV_VAR_GLOBAL): Likewise.
15037 (GRUB_ENV_VAR_DATA): Likewise.
15038 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15039 "type".
15040 (grub_env_set): Replace VAR with NAME for consistency.
15041 (grub_register_variable_hook): Likewise.
15042 (grub_env_export): Specify the name of the argument.
15043 (grub_env_set_data_slot): New prototype.
15044 (grub_env_get_data_slot): Likewise.
15045 (grub_env_unset_data_slot): Likewise.
15046
7f362539 150472006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15048
15049 Extend the loader so that GRUB can accept a loader which comes
15050 back to GRUB when a loaded image exits. Also, this change adds
15051 support for a chainloader on EFI.
f19dbdb7 15052
7f362539 15053 * term/efi/console.c: Include grub/misc.h.
15054 (grub_console_checkkey): Display a scan code on the top for
15055 debugging. This will be removed once the EFI port gets stable.
15056 Correct the scan code mapping.
15057
15058 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15059 allocate memory from larger regions, in order to reduce the number
15060 of allocated regions. Otherwise, the MacOSX loader panics.
15061 (filter_memory_map): Avoid less than 1MB for compatibility with
15062 other loaders.
15063 (add_memory_regions): Allocate from the tail of a region, if
15064 possible, to avoid allocating a region near to 1MB, for the MacOSX
15065 loader.
15066
15067 * kern/efi/init.c (grub_efi_set_prefix): Specify
15068 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15069
15070 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15071 argument IMAGE_HANDLE and specify it to get a loaded image.
15072 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15073 grub_efi_get_loaded_image.
fe6b695a 15074 (grub_efi_get_filename): Divide the length by the size of
7f362539 15075 grub_efi_char16_t.
15076 (grub_efi_get_device_path): New function.
15077 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15078 the length by the size of grub_efi_char16_t for a file path device
15079 path node.
15080
15081 * kern/loader.c (grub_loader_noreturn): New variable.
15082 (grub_loader_set): Accept a new argument NORETURN. Set
15083 GRUB_LOADER_NORETURN to NORETURN.
15084 All callers changed.
15085 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15086 grub_machine_fini.
15087
15088 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15089 prototype.
15090 (grub_efi_get_loaded_image): Take an argument to specify an image
15091 handle.
15092
15093 * include/grub/loader.h (grub_loader_set): Added one more argument
15094 NORETURN.
15095
15096 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
15097 instead of grub_efi_open_protocol.
15098 (grub_efidisk_get_device_name): Likewise.
15099 (grub_efidisk_close): Print a newline.
15100 (grub_efidisk_get_device_handle): Fixed to use
15101 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
15102 GRUB_EFI_DEVICE_PATH_TYPE.
15103
15104 * disk/efi/efidisk.c (device_path_guid): Moved to ...
15105 * kern/efi/efi.c (device_path_guid): ... here.
15106
15107 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
15108 chain.mod.
15109 (kernel_mod_HEADERS): Added efi/disk.h.
15110 (_chain_mod_SOURCES): New variable.
15111 (_chain_mod_CFLAGS): Likewise.
15112 (_chain_mod_LDFLAGS): Likewise.
15113 (chain_mod_SOURCES): Likewise.
15114 (chain_mod_CFLAGS): Likewise.
15115 (chain_mod_LDFLAGS): Likewise.
15116
15117 * DISTLIST: Added include/grub/efi/chainloader.h,
15118 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
15119
15120 * include/grub/efi/chainloader.h: New file.
15121 * loader/efi/chainloader.c: Likewise.
15122 * loader/efi/chainloader_normal.c: Likewise.
15123
c0111d6e 151242006-04-30 Marco Gerards <marco@gnu.org>
15125
15126 * commands/configfile.c (grub_cmd_source): New function.
15127 (GRUB_MOD_INIT): Register the commands `source' and `.'.
15128 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
15129
df5341da 151302006-04-30 Marco Gerards <marco@gnu.org>
15131
15132 * normal/execute.c (grub_script_execute_cmd): Change the return
15133 type to `grub_err_t'. Correctly return the error.
15134 (grub_script_execute_cmdline): In case a command line is not a
15135 command or a function, try to interpret it as an assignment.
15136
f85934bd 151372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15138
15139 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
15140 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
15141 skip a node whose name is obviously invalid as UTF-16,
15142 i.e. contains a NUL character. Stop the iteration when the last
15143 directory entry is found. Instead of using the return value of
15144 grub_hfsplus_btree_iterate_node, store the value in RET and use
15145 it, because the iterator can be stopped by the last directory
15146 entry.
15147
8f8a2cf8 151482006-04-30 Marco Gerards <marco@gnu.org>
15149
15150 * include/grub/env.h (grub_env_export): New prototype. Reported
15151 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
15152
a27e84ce 151532006-04-30 Marco Gerards <marco@gnu.org>
15154
15155 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
15156 size of the extents in a catalog file record.
15157
eaef0553 151582006-04-29 Marco Gerards <marco@gnu.org>
15159
15160 * commands/configfile.c (grub_cmd_configfile): Execute the
15161 configfile within its own context.
15162
15163 * include/grub/env.h (grub_env_context_open): New prototype.
15164 (grub_env_context_close): Likewise.
15165
15166 * kern/env.c (grub_env): Removed.
15167 (grub_env_sorted): Likewise.
15168 (grub_env_context): New variable.
15169 (grub_env_var_context): Likewise.
15170 (grub_env_find): Search both the active context and the global
15171 context.
15172 (grub_env_context_open): New function.
15173 (grub_env_context_close): Likewise.
15174 (grub_env_insert): Likewise.
15175 (grub_env_remove): Likewise.
15176 (grub_env_export): Likewise.
15177 (grub_env_set): Changed to use helper functions to avoid code
15178 duplication.
15179 (grub_env_iterate): Rewritten so both the current context and the
15180 global context are being used.
15181
15182 * normal/command.c (export_command): New function.
15183 (grub_command_init): Register the `export' function.
15184
7b455f4d 151852006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
15186
15187 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
15188 explicitly to suppress gcc's warnings.
15189 * fs/fat.c (grub_fat_find_dir): Likewise.
15190 (grub_fat_label): Likewise.
15191 * fs/xfs.c (grub_xfs_read_inode): Likewise.
15192 (grub_xfs_mount): Likewise.
15193 (grub_xfs_label): Likewise.
15194 * fs/affs.c (grub_affs_mount): Likewise.
15195 (grub_affs_label): Likewise.
15196 (grub_affs_iterate_dir): Likewise.
15197 * fs/sfs.c (grub_sfs_mount): Likewise.
15198 (grub_sfs_iterate_dir): Likewise.
15199 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
15200 * fs/hfs.c (grub_hfs_mount): Likewise.
15201 (grub_hfs_cmp_catkeys): Likewise.
15202 (grub_hfs_find_dir): Likewise.
15203 (grub_hfs_dir): Likewise.
15204 (grub_hfs_label): Likewise.
15205 * fs/jfs.c (grub_jfs_mount): Likewise.
15206 (grub_jfs_opendir): Likewise.
15207 (grub_jfs_getent): Likewise.
15208 (grub_jfs_lookup_symlink): Likewise.
15209 (grub_jfs_label): Likewise.
15210 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
15211 (grub_hfsplus_iterate_dir): Likewise.
15212 (grub_hfsplus_btree_iterate_node): Made static.
15213
15214 * util/grub-emu.c (prefix): New variable.
15215 (grub_machine_set_prefix): New function.
15216 (main): Do not set the environment variable "prefix" here. Only
15217 set PREFIX, which is used later by grub_machine_set_prefix.
15218
15219 * include/grub/video.h: Do not include grub/symbol.h.
15220 (grub_video_register): Not exported. This symbol is not defined in
15221 the kernel.
15222 (grub_video_unregister): Likewise.
15223 (grub_video_iterate): Likewise.
15224 (grub_video_setup): Likewise.
15225 (grub_video_restore): Likewise.
15226 (grub_video_get_info): Likewise.
15227 (grub_video_get_blit_format): Likewise.
15228 (grub_video_set_palette): Likewise.
15229 (grub_video_get_palette): Likewise.
15230 (grub_video_set_viewport): Likewise.
15231 (grub_video_get_viewport): Likewise.
15232 (grub_video_map_color): Likewise.
15233 (grub_video_map_rgb): Likewise.
15234 (grub_video_map_rgba): Likewise.
15235 (grub_video_fill_rect): Likewise.
15236 (grub_video_blit_glyph): Likewise.
15237 (grub_video_blit_bitmap): Likewise.
15238 (grub_video_blit_render_target): Likewise.
15239 (grub_video_scroll): Likewise.
15240 (grub_video_swap_buffers): Likewise.
15241 (grub_video_create_render_target): Likewise.
15242 (grub_video_delete_render_target): Likewise.
15243 (grub_video_set_active_render_target): Likewise.
15244
15245 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
15246 Undefined.
15247 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
15248
15249 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
15250 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15251 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15252 instead of $(srcdir)/genkernsyms.sh.
15253
15254 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
15255 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15256 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15257 instead of $(srcdir)/genkernsyms.sh.
15258
15259 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
15260 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15261 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15262 instead of $(srcdir)/genkernsyms.sh.
15263
15264 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
15265 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15266 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15267 instead of $(srcdir)/genkernsyms.sh.
15268
15269 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
15270 genkernsyms.sh.
15271
15272 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
15273 genkernsyms.sh.
15274 (gensymlist.sh): New target.
15275 (genkernsyms.sh): Likewise.
15276
15277 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
15278 genkernsyms.sh.in and gensymlist.sh.in.
15279
15280 * genkernsyms.sh: Removed.
15281 * gensymlist.sh: Likewise.
f19dbdb7 15282
7b455f4d 15283 * genkernsyms.sh.in: New file.
15284 * gensymlist.sh.in: Likewise.
15285
1885bb27 152862006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15287
15288 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
15289 clobber "prefix", since we may have already set it manually.
15290
71538dff 152912006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15292
15293 * kern/misc.c (abort): New alias for grub_abort.
15294
2965c7cc 152952006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
15296
15297 A new machine-specific function "grub_machine_set_prefix" is
15298 defined. This is called after loading modules, so that a prefix
15299 initialization can use modules. Also, this change adds an
15300 intensive debugging feature for the memory manager via the
15301 configure option "--enable-mm-debug".
f19dbdb7 15302
2965c7cc 15303 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
15304 PART.LEN.
15305
15306 * kern/sparc64/ieee1275/init.c (abort): Removed.
15307 (grub_stop): Likewise.
15308 (grub_exit): New function.
15309 (grub_set_prefix): Renamed to ...
15310 (grub_machine_set_prefix): ... this.
15311 (grub_machine_init): Do not call grub_set_prefix.
15312
15313 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
15314 (grub_machine_set_prefix): ... this.
15315 (grub_machine_init): Do not call grub_set_prefix.
15316
15317 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
15318 (grub_machine_init): Do not set the prefix here.
15319
15320 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
15321
15322 * kern/efi/init.c: Include grub/mm.h.
15323 (grub_efi_set_prefix): New function.
15324
15325 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
15326 (grub_efi_get_filename): New function.
15327 (grub_print_device_path): Renamed to ...
15328 (grub_efi_print_device_path): ... this.
15329
15330 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
15331 [MM_DEBUG] (grub_realloc): Likewise.
15332 [MM_DEBUG] (grub_free): Likewise.
15333 [MM_DEBUG] (grub_memalign): Likewise.
15334 [MM_DEBUG] (grub_mm_debug): New variable.
15335 [MM_DEBUG] (grub_debug_malloc): New function.
15336 [MM_DEBUG] (grub_debug_free): New function.
15337 [MM_DEBUG] (grub_debug_realloc): New function.
15338 [MM_DEBUG] (grub_debug_memalign): New function.
15339
15340 * kern/misc.c (grub_abort): Print a newline to distinguish
15341 the message.
15342
15343 * kern/main.c (grub_main): Call grub_machine_set_prefix and
15344 grub_set_root_dev after loading modules. This is necessary when
15345 setting a prefix depends on modules.
15346
15347 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
15348 (grub_efi_print_device_path): ... this.
15349 (grub_efi_get_filename): New prototype.
15350 (grub_efi_set_prefix): Likewise.
15351
15352 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
15353 and grub/disk.h.
15354 (grub_efidisk_get_device_handle): New prototype.
15355 (grub_efidisk_get_device_name): Likewise.
15356
15357 * include/grub/mm.h: Include config.h.
15358 (MM_DEBUG): Removed.
15359 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
15360 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
15361 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
15362 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
15363 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
15364 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
15365 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
15366 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
15367 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
15368
15369 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
15370
15371 * disk/efi/efidisk.c: Include grub/partition.h.
15372 (iterate_child_devices): New function.
15373 (add_device): First, compare only last device path nodes, so that
15374 devices are sorted by the types.
15375 (grub_efidisk_get_device_handle): New function.
15376 (grub_efidisk_get_device_name): Likewise.
15377
15378 * configure.ac (--enable-mm-debug): New option to enable the
15379 memory manager debugging feature. This makes the binary much
15380 bigger, so is disabled by default.
15381
9cacaa17 153822006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
15383
15384 Use grub_abort instead of grub_stop, and grub_exit must be
15385 define in each architecture now. Also, this change adds support
15386 for EFI disks.
f19dbdb7 15387
9cacaa17 15388 * util/i386/pc/grub-probefs.c: Include grub/term.h.
15389 (grub_getkey): New function.
15390 (grub_term_get_current): Likewise.
15391
15392 * util/i386/pc/grub-setup.c: Include grub/term.h.
15393 (grub_getkey): New function.
15394 (grub_term_get_current): Likewise.
15395
15396 * util/misc.c (grub_stop): Renamed to ...
15397 (grub_exit): ... this.
15398
15399 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
15400 (grub_exit): ... this.
15401 (grub_machine_init): Use grub_abort instead of abort.
15402 (grub_stop): Removed.
15403
15404 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
15405 abort.
15406
15407 * kern/i386/pc/startup.S (grub_exit): New function.
15408 (cold_reboot): New label.
15409
15410 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
15411 (grub_efi_init): Call grub_efidisk_init.
15412 (grub_efi_fini): Call grub_efidisk_fini.
15413
15414 * kern/efi/efi.c: Include grub/mm.h.
15415 (grub_efi_console_control_guid): Renamed to ...
15416 (console_control_guid): ... this.
15417 (grub_efi_loaded_image_guid): Renamed to ...
15418 (loaded_image_guid): ... this.
15419 (grub_efi_locate_handle): New function.
15420 (grub_efi_open_protocol): Likewise.
15421 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
15422 GRUB_EFI_CONSOLE_CONTROL_GUID.
15423 (grub_efi_exit): Removed.
15424 (grub_stop): Likewise.
15425 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
15426 (grub_exit): New function.
15427 (grub_print_device_path): Likewise.
15428
15429 * kern/rescue.c (grub_rescue_cmd_exit): New function.
15430 (grub_enter_rescue_mode): Register "exit".
15431
15432 * kern/misc.c (grub_real_dprintf): A cosmetic change.
15433 (grub_abort): New function.
15434
15435 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
15436
15437 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
15438
15439 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
15440
15441 * include/grub/efi/efi.h (grub_efi_exit): Removed.
15442 (grub_print_device_path): New prototype.
15443 (grub_efi_locate_handle): Likewise.
15444 (grub_efi_open_protocol): Likewise.
15445
15446 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
15447 * disk/efi/efidisk.c: Likewise.
15448
15449 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
15450
15451 * include/grub/efi/console_control.h
15452 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
15453
15454 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
15455 last 8 bytes as an array.
15456 (GRUB_EFI_DISK_IO_GUID): New macro.
15457 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
15458 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
15459 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
15460 grub_uint8_t.
15461 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
15462 (struct grub_efi_device_path): Rename the member "sub_type" to
15463 "subtype".
15464 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
15465 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
15466 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
15467 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
15468 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
15469 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
15470 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
15471 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
15472 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
15473 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
15474 (struct grub_efi_pci_device_path): New structure.
15475 (grub_efi_pci_device_path_t): New type.
15476 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
15477 (struct grub_efi_pccard_device_path): New structure.
15478 (grub_efi_pccard_device_path_t): New type.
15479 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
15480 (struct grub_efi_memory_mapped_device_path): New structure.
15481 (grub_efi_memory_mapped_device_path_t): New type.
15482 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
15483 (struct grub_efi_vendor_device_path): New structure.
15484 (grub_efi_vendor_device_path_t): New type.
15485 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
15486 (struct grub_efi_controller_device_path): New structure.
15487 (grub_efi_controller_device_path_t): New type.
15488 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
15489 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
15490 (struct grub_efi_acpi_device_path): New structure.
15491 (grub_efi_acpi_device_path_t): New type.
15492 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
15493 (struct grub_efi_expanded_acpi_device_path): New structure.
15494 (grub_efi_expanded_acpi_device_path_t): New type.
15495 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
15496 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
15497 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
15498 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
15499 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
15500 (struct grub_efi_atapi_device_path): New structure.
15501 (grub_efi_atapi_device_path_t): New type.
15502 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
15503 (struct grub_efi_fibre_channel_device_path): New structure.
15504 (grub_efi_fibre_channel_device_path_t): New type.
15505 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
15506 (struct grub_efi_1394_device_path): New structure.
15507 (grub_efi_1394_device_path_t): New type.
15508 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
15509 (struct grub_efi_usb_device_path): New structure.
15510 (grub_efi_usb_device_path_t): New type.
15511 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
15512 (struct grub_efi_usb_class_device_path): New structure.
15513 (grub_efi_usb_class_device_path_t): New type.
15514 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
15515 (struct grub_efi_i2o_device_path): New structure.
15516 (grub_efi_i2o_device_path_t): New type.
15517 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
15518 (struct grub_efi_mac_address_device_path): New structure.
15519 (grub_efi_mac_address_device_path_t): New type.
15520 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
15521 (struct grub_efi_ipv4_device_path): New structure.
15522 (grub_efi_ipv4_device_path_t): New type.
15523 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
15524 (struct grub_efi_ipv6_device_path): New structure.
15525 (grub_efi_ipv6_device_path_t): New type.
15526 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
15527 (struct grub_efi_infiniband_device_path): New structure.
15528 (grub_efi_infiniband_device_path_t): New type.
15529 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
15530 (struct grub_efi_uart_device_path): New structure.
15531 (grub_efi_uart_device_path_t): New type.
15532 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
15533 (struct grub_efi_vendor_messaging_device_path): New structure.
15534 (grub_efi_vendor_messaging_device_path_t): New type.
15535 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
15536 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
15537 (struct grub_efi_hard_drive_device_path): New structure.
15538 (grub_efi_hard_drive_device_path_t): New type.
15539 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
15540 (struct grub_efi_cdrom_device_path): New structure.
15541 (grub_efi_cdrom_device_path_t): New type.
15542 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
15543 (struct grub_efi_vendor_media_device_path): New structure.
15544 (grub_efi_vendor_media_device_path_t): New type.
15545 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
15546 (struct grub_efi_file_path_device_path): New structure.
15547 (grub_efi_file_path_device_path_t): New type.
15548 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
15549 (struct grub_efi_protocol_device_path): New structure.
15550 (grub_efi_protocol_device_path_t): New type.
15551 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
15552 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
15553 (struct grub_efi_bios_device_path): New structure.
15554 (grub_efi_bios_device_path_t): New type.
15555 (struct grub_efi_disk_io): New structure.
15556 (grub_efi_disk_io_t): New type.
15557 (struct grub_efi_block_io_media): New structure.
15558 (grub_efi_block_io_media_t): New type.
15559 (struct grub_efi_block_io): New structure.
15560 (grub_efi_block_io_t): New type.
15561
15562 * include/grub/misc.h (grub_stop): Removed.
15563 (grub_exit): New prototype.
15564 (grub_abort): Likewise.
15565
15566 * include/grub/disk.h (enum grub_disk_dev_id): Added
15567 GRUB_DISK_DEVICE_EFIDISK_ID.
15568
15569 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
15570 disk/efi/efidisk.c.
15571 (kernel_syms.lst): Remove the target if an error occurs.
15572
49986a9f 155732006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
15574
15575 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
15576 as it was simply too buggy.
15577
970d3b8a 155782006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
15579
15580 * kern/misc.c (grub_lltoa): New function.
15581 (grub_vsprintf): Added support for the long long suffix,
15582 i.e. "ll".
15583
ff04ec24 155842006-04-20 Hollis Blanchard <hollis@penguinppc.org>
15585
15586 * Makefile.in (LDFLAGS): Add variable.
15587 (LD): Remove variable.
15588 * configure.ac: Add -m32 to LDFLAGS.
15589 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
15590 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
15591 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
15592 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
15593 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
15594 variables.
15595 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
15596 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
15597 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
15598
37e5e1a4 155992006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
15600
15601 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
15602 length for unknown glyph.
15603
c352d8dd 156042006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
15605
2eab1c0d 15606 Add support for pre-loaded modules into the EFI port.
f19dbdb7 15607
2eab1c0d 15608 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
15609 completely. Accept one more argument DIR. The caller has changed.
15610
15611 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
15612
15613 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
15614 (grub_efi_loaded_image_guid): New variable.
15615 (grub_efi_get_loaded_image): New function.
15616 (grub_arch_modules_addr): Likewise.
15617
15618 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
15619 prototype.
15620
15621 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
15622 (struct grub_efi_loaded_image): New structure.
15623 (grub_efi_loaded_image_t): New type.
15624
156252006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15626
c352d8dd 15627 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
15628 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
15629 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
15630
6d01d6b4 156312006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
15632
15633 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
15634
976a4ea0 156352006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
15636
15637 * DISTLIST: Added include/grub/efi/console.h,
15638 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
15639 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15640
15641 * include/grub/efi/console.h: New file.
15642 * include/grub/efi/time.h: Likewise.
15643 * include/grub/i386/efi/kernel.h: Likewise.
15644 * kern/efi/init.c: Likewise.
15645 * kern/efi/mm.c: Likewise.
15646 * term/efi/console.c: Likewise.
f19dbdb7 15647
976a4ea0 15648 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
15649 (grub_stop): Removed.
15650 (grub_get_rtc): Likewise.
15651 (grub_machine_init): Simply call grub_efi_init.
15652 (grub_machine_fini): Call grub_efi_fini.
15653
15654 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
15655 (grub_efi_output_string): Removed.
15656 (grub_efi_stall): New function.
15657 (grub_stop): Likewise.
15658 (grub_get_rtc): Likewise.
15659
15660 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
15661 (grub_efi_stall): New prototype.
15662 (grub_efi_allocate_pages): Likewise.
15663 (grub_efi_free_pages): Likewise.
15664 (grub_efi_get_memory_map): Likewise.
15665 (grub_efi_mm_init): Likewise.
15666 (grub_efi_mm_fini): Likewise.
15667 (grub_efi_init): Likewise.
15668 (grub_efi_fini): Likewise.
15669
15670 * include/grub/i386/efi/time.h: Do not include
15671 grub/symbol.h. Include grub/efi/time.h.
15672 (GRUB_TICKS_PER_SECOND): Removed.
15673 (grub_get_rtc): Likewise.
15674
15675 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
15676 Added padding. The EFI spec is buggy.
15677 (GRUB_EFI_BLACK): New macro.
15678 (GRUB_EFI_BLUE): Likewise.
15679 (GRUB_EFI_GREEN): Likewise.
15680 (GRUB_EFI_CYAN): Likewise.
15681 (GRUB_EFI_RED): Likewise.
15682 (GRUB_EFI_MAGENTA): Likewise.
15683 (GRUB_EFI_BROWN): Likewise.
15684 (GRUB_EFI_LIGHTGRAY): Likewise.
15685 (GRUB_EFI_BRIGHT): Likewise.
15686 (GRUB_EFI_DARKGRAY): Likewise.
15687 (GRUB_EFI_LIGHTBLUE): Likewise.
15688 (GRUB_EFI_LIGHTGREEN): Likewise.
15689 (GRUB_EFI_LIGHTCYAN): Likewise.
15690 (GRUB_EFI_LIGHTRED): Likewise.
15691 (GRUB_EFI_LIGHTMAGENTA): Likewise.
15692 (GRUB_EFI_YELLOW): Likewise.
15693 (GRUB_EFI_WHITE): Likewise.
15694 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
15695 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
15696 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
15697 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
15698 (GRUB_EFI_BACKGROUND_RED): Likewise.
15699 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
15700 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
15701 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
15702 (GRUB_EFI_TEXT_ATTR): Likewise.
15703
15704 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
15705 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15706 (kernel_mod_HEADERS): Added efi/time.h.
15707
83709125 157082006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
15709
15710 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
15711 include/grub/efi/api.h, include/grub/efi/console_control.h,
15712 include/grub/efi/efi.h, include/grub/efi/pe32.h,
15713 include/grub/i386/efi/time.h, kern/efi/efi.c,
15714 kern/i386/efi/init.c, kern/i386/efi/startup.S,
15715 and util/i386/efi/grub-mkimage.c.
15716
15717 * Makefile.in (RMKFILES): Added i386-efi.rmk.
15718
15719 * genmk.rb (PModule#rule): Do not export symbols if
15720 #{prefix}_EXPORTS is set to "no".
15721
15722 * conf/i386-efi.mk: New file.
15723 * conf/i386-efi.rmk: Likewise.
15724 * include/grub/efi/api.h: Likewise.
15725 * include/grub/efi/console_control.h: Likewise.
15726 * include/grub/efi/efi.h: Likewise.
15727 * include/grub/efi/pe32.h: Likewise.
15728 * include/grub/i386/efi/time.h: Likewise.
15729 * kern/efi/efi.c: Likewise.
15730 * kern/i386/efi/init.c: Likewise.
15731 * kern/i386/efi/startup.S: Likewise.
15732 * util/i386/efi/grub-mkimage.c: Likewise.
15733
157342006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 15735
15736 * include/grub/script.h: Include <grub/parser.h> and
15737 "grub_script.tab.h".
15738 (struct grub_lexer_param): New struct.
15739 (struct grub_parser_param): Likewise.
15740 (grub_script_create_arglist): Pass the state in an argument.
15741 (grub_script_add_arglist): Likewise.
15742 (grub_script_create_cmdline): Likewise.
15743 (grub_script_create_cmdblock): Likewise.
15744 (grub_script_create_cmdif): Likewise.
15745 (grub_script_create_cmdmenu): Likewise.
15746 (grub_script_add_cmd): Likewise.
15747 (grub_script_arg_add): Likewise.
15748 (grub_script_lexer_ref): Likewise.
15749 (grub_script_lexer_deref): Likewise.
15750 (grub_script_lexer_record_start): Likewise.
15751 (grub_script_lexer_record_stop): Likewise.
15752 (grub_script_mem_record): Likewise.
15753 (grub_script_mem_record_stop): Likewise.
15754 (grub_script_malloc): Likewise.
15755 (grub_script_yylex): Likewise.
15756 (grub_script_yyparse): Likewise.
15757 (grub_script_yyerror): Likewise.
15758 (grub_script_yylex): Likewise.
15759 (grub_script_lexer_init): Return the state.
15760
15761 * normal/lexer.c (grub_script_lexer_state): Removed variable.
15762 (grub_script_lexer_done): Likewise.
15763 (grub_script_lexer_getline): Likewise.
15764 (grub_script_lexer_refs): Likewise.
15765 (script): Likewise.
15766 (newscript): Likewise.
15767 (record): Likewise.
15768 (recording): Likewise.
15769 (recordpos): Likewise.
15770 (recordlen): Likewise.
15771 (grub_script_lexer_init): Return the state instead of setting
15772 global variables.
15773 (grub_script_lexer_ref): Use the newly added argument for state
15774 instead of globals.
15775 (grub_script_lexer_deref): Likewise.
15776 (grub_script_lexer_record_start): Likewise.
15777 (grub_script_lexer_record_stop): Likewise.
15778 (recordchar): Likewise.
15779 (nextchar): Likewise.
15780 (grub_script_yylex2): Likewise.
15781 (grub_script_yylex): Likewise.
15782 (grub_script_yyerror): Likewise.
15783
15784 * normal/parser.y (func_mem): Removed variable.
15785 (menu_entry): Likewise.
15786 (err): Likewise.
15787 (%lex-param): New parser option.
15788 (%parse-param): Likewise.
15789 (script): Always return the AST.
15790 (argument): Pass the state around.
15791 (arguments): Likewise.
15792 (grubcmd): Likewise.
15793 (commands): Likewise.
15794 (function): Likewise.
15795 (menuentry): Likewise.
15796 (if_statement): Likewise.
15797 (if): Likewise.
15798
15799 * normal/script.c (grub_script_memused): Removed variable.
15800 (grub_script_parsed): Likewise.
15801 (grub_script_malloc): Added a state argument. Use that instead of
15802 global variables.
15803 (grub_script_mem_record): Likewise.
15804 (grub_script_mem_record_stop): Likewise.
15805 (grub_script_arg_add): Likewise.
15806 (grub_script_add_arglist): Likewise.
15807 (grub_script_create_cmdline): Likewise.
15808 (grub_script_create_cmdif): Likewise.
15809 (grub_script_create_cmdmenu): Likewise.
15810 (grub_script_add_cmd): Likewise.
15811 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 15812
e2a8c904 158132006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 15814
15815 * normal/command.c (grub_command_init): Remove the title command.
15816
15817 * normal/lexer.c (grub_script_yylex): Renamed from this...
15818 (grub_script_yylex2): ... to this.
15819 (grub_script_yylex): New function. Temporary
15820 introduced to filter some tokens.
15821 (grub_script_yyerror): Print a newline.
15822
15823 * normal/main.c (read_config_file): Output information about the
15824 lines that contain errors. Wait for a key after all lines have
15825 been processed. Don't return an empty menu.
15826
15827 * normal/parser.y (func_mem): Don't initialize.
15828 (menu_entry): Likewise.
15829 (err): New variable.
15830 (script): Don't return anything when an error was encountered.
15831 (ws, returns): Removed rules.
15832 (argument): Disabled concatenated variable support.
15833 (arguments): Remove explicit separators.
15834 (grubcmd): Likewise.
15835 (function): Likewise.
15836 (menuentry): Likewise.
15837 (if): Likewise.
15838 (commands): Likewise. Add error handling.
15839
15840 * normal/script.c (grub_script_create_cmdline): If
15841 `grub_script_parsed' is 0, assume the parser encountered an error.
15842
c9a86192 158432006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
15844
15845 * configure.ac: Add support for EFI. Fix the typo
15846 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
15847
70f3b243 158482006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15849
15850 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
15851 foreign multibyte characters should be shown correctly.
15852
65f201ad 158532006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15854
15855 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
15856 calculation.
15857 (read_config_file): Made it to close file before returning.
15858
b4b93674 158592006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
15860
15861 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
15862 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
15863 video/i386/pc/vbefill.c.
15864
15865 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
15866 video/i386/pc/vbefill.c.
15867
15868 * include/grub/video.h (grub_video_blit_format): New enum.
15869 (grub_video_mode_info): Added new member blit_format.
15870 (grub_video_get_blit_format): New function prototype.
15871
15872 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
15873 function prototype.
15874 (grub_video_vbe_map_rgb): Likewise.
15875 (grub_video_vbe_unmap_color): Likewise.
15876
15877 * include/grub/i386/pc/vbeblit.h: New file.
15878
15879 * include/grub/i386/pc/vbefill.h: New file.
15880
15881 * video/video.c (grub_video_get_blit_format): New function.
15882 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
15883 (grub_video_vbe_map_rgb): Likewise.
15884 (grub_video_vbe_unmap_color): Likewise.
15885
15886 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
15887 optimized fills.
15888 (grub_video_vbe_blit_render_target): Changed to use more optimized
15889 blits.
15890 (grub_video_vbe_setup): Added detection for optimized settings.
15891 (grub_video_vbe_create_render_target): Likewise.
15892
15893 * video/i386/pc/vbeblit.c: New file.
15894
15895 * video/i386/pc/vbefill.c: New file.
15896
c2379b9c 158972006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
15898
15899 * font/manager.c (grub_font_get_glyph): Removed font fixup from
15900 here...
15901
15902 * util/unifont2pff.rb: ... and moved it to here. Improved argument
15903 parsing to support both hex and dec ranges. If filename was missing
15904 show usage information.
15905
bd0d7896 159062006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
15907
15908 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
15909 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
15910
15911 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
15912 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
15913 (video_mod_SOURCES): Added.
15914 (video_mod_CFLAGS): Likewise.
15915 (video_mod_LDFLAGS): Likewise.
15916 (gfxterm_mod_SOURCES): Likewise.
15917 (gfxterm_mod_CFLAGS): Likewise.
15918 (gfxterm_mod_LDFLAGS): Likewise.
15919 (videotest_mod_SOURCES): Likewise.
15920 (videotest_mod_CFLAGS): Likewise.
15921 (videotest_mod_LDFLAGS): Likewise.
15922 (vesafb_mod_SOURCES): Removed.
15923 (vesafb_mod_CFLAGS): Likewise.
15924 (vesafb_mod_LDFLAGS): Likewise.
15925 (vga_mod_SOURCES): Likewise.
15926 (vga_mod_CFLAGS): Likewise.
15927 (vga_mod_LDFLAGS): Likewise.
15928
15929 * commands/videotest.c: New file.
15930
15931 * font/manager.c (fill_with_default_glyph): Modified to use
15932 grub_font_glyph.
15933 (grub_font_get_glyph): Likewise.
15934 (fontmanager): Renamed from this...
15935 (font_manager): ... to this.
15936
15937 * include/grub/font.h (grub_font_glyph): Added new structure.
15938 (grub_font_get_glyph): Modified to use grub_font_glyph.
15939
15940 * include/grub/misc.h (grub_abs): Added as inline function.
15941
15942 * include/grub/video.h: New file.
15943
15944 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
15945 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
15946 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
15947 (grub_vbe_get_controller_info): Renamed 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_set_pixel_rgb): Removed.
15970 (grub_vbe_set_pixel_index): Likewise.
15971
15972 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
15973 from this...
15974 (grub_vbe_bios_get_controller_info): ... to this.
15975 (grub_vbe_get_mode_info): Renamed from this...
15976 (grub_vbe_bios_get_mode_info): ... to this.
15977 (grub_vbe_set_mode): Renamed from this...
15978 (grub_vbe_bios_set_mode): ... to this.
15979 (grub_vbe_get_mode): Renamed from this...
15980 (grub_vbe_bios_get_mode): ... to this.
15981 (grub_vbe_set_memory_window): Renamed from this...
15982 (grub_vbe_bios_set_memory_window): ... to this.
15983 (grub_vbe_get_memory_window): Renamed from this...
15984 (grub_vbe_bios_get_memory_window): ... to this.
15985 (grub_vbe_set_scanline_length): Renamed from this...
15986 (grub_vbe_set_scanline_length): ... to this.
15987 (grub_vbe_get_scanline_length): Renamed from this...
15988 (grub_vbe_bios_get_scanline_length): ... to this.
15989 (grub_vbe_set_display_start): Renamed from this...
15990 (grub_vbe_bios_set_display_start): ... to this.
15991 (grub_vbe_get_display_start): Renamed from this...
15992 (grub_vbe_bios_get_display_start): ... to this.
15993 (grub_vbe_set_palette_data): Renamed from this...
15994 (grub_vbe_bios_set_palette_data): ... to this.
15995 (grub_vbe_bios_get_controller_info): Fixed problem with registers
15996 getting corrupted after calling it. Added more pushes and pops.
15997 (grub_vbe_bios_set_mode): Likewise.
15998 (grub_vbe_bios_get_mode): Likewise.
15999 (grub_vbe_bios_get_memory_window): Likewise.
16000 (grub_vbe_bios_set_scanline_length): Likewise.
16001 (grub_vbe_bios_get_scanline_length): Likewise.
16002 (grub_vbe_bios_get_display_start): Likewise.
16003 (grub_vbe_bios_set_palette_data): Likewise.
16004
16005 * normal/cmdline.c (cl_set_pos): Refresh the screen.
16006 (cl_insert): Likewise.
16007 (cl_delete): Likewise.
16008
16009 * term/gfxterm.c: New file.
16010
16011 * term/i386/pc/vesafb.c: Removed file.
16012
16013 * video/video.c: New file.
16014
16015 * video/i386/pc/vbe.c (real2pm): Added new function.
16016 (grub_video_vbe_draw_pixel): Likewise.
16017 (grub_video_vbe_get_video_ptr): Likewise.
16018 (grub_video_vbe_get_pixel): Likewise
16019 (grub_video_vbe_init): Likewise.
16020 (grub_video_vbe_fini): Likewise.
16021 (grub_video_vbe_setup): Likewise.
16022 (grub_video_vbe_get_info): Likewise.
16023 (grub_video_vbe_set_palette): Likewise.
16024 (grub_video_vbe_get_palette): Likewise.
16025 (grub_video_vbe_set_viewport): Likewise.
16026 (grub_video_vbe_get_viewport): Likewise.
16027 (grub_video_vbe_map_color): Likewise.
16028 (grub_video_vbe_map_rgb): Likewise.
16029 (grub_video_vbe_map_rgba): Likewise.
16030 (grub_video_vbe_unmap_color): Likewise.
16031 (grub_video_vbe_fill_rect): Likewise.
16032 (grub_video_vbe_blit_glyph): Likewise.
16033 (grub_video_vbe_blit_bitmap): Likewise.
16034 (grub_video_vbe_blit_render_target): Likewise.
16035 (grub_video_vbe_scroll): Likewise.
16036 (grub_video_vbe_swap_buffers): Likewise.
16037 (grub_video_vbe_create_render_target): Likewise.
16038 (grub_video_vbe_delete_render_target): Likewise.
16039 (grub_video_vbe_set_active_render_target): Likewise.
16040 (grub_vbe_set_pixel_rgb): Remove function.
16041 (grub_vbe_set_pixel_index): Likewise.
16042 (index_color_mode): Remove static variable.
16043 (active_mode): Likewise.
16044 (framebuffer): Likewise.
16045 (bytes_per_scan_line): Likewise.
16046 (grub_video_vbe_adapter): Added new static variable.
16047 (framebuffer): Likewise.
16048 (render_target): Likewise.
16049 (initial_mode): Likewise.
16050 (mode_in_use): Likewise.
16051 (mode_list): Likewise.
16052
5f97350b 160532006-03-10 Marco Gerards <marco@gnu.org>
16054
16055 * configure.ac (AC_INIT): Bumped to 1.93.
16056
16057 * DISTLIST: Added `include/grub/hfs.h'.
16058
a3c5c6f8 160592006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16060
16061 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16062 18H, which might help the BIOS falling back to next boot media.
16063
6de53d26 160642006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16065
16066 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16067 Poe Chen <poe.poechen@gmail.com>.
16068
77c4a393 160692006-01-17 Marco Gerards <marco@gnu.org>
16070
16071 * include/grub/normal.h: Include <grub/script.h>.
16072 (grub_command_list): Removed struct.
16073 (grub_command_list_t): Removed type.
16074 (grub_menu_entry): Remove members `num' and `command_list'. Add
16075 members `commands' and `sourcecode'.
16076 * include/grub/script.h: Add inclusion guards.
16077 (grub_script_cmd_menuentry): New struct.
16078 (grub_script_execute_menuentry): New prototype.
16079 (grub_script_lexer_record_start): Likewise.
16080 (grub_script_lexer_record_stop): Likewise.
16081 * normal/execute.c (grub_script_execute_menuentry): New function.
16082 * normal/lexer.c (record, recording, recordpos, recordlen): New
16083 variables.
16084 (grub_script_lexer_record_start): New function.
16085 (grub_script_lexer_record_stop): Likewise.
16086 (recordchar): Likewise.
16087 (nextchar): Likewise.
16088 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16089 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16090 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16091 (current_menu): New variable.
16092 (free_menu): Mainly rewritten.
16093 (grub_normal_menu_addentry): New function.
16094 (read_config_file): Rewritten.
16095 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 16096 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 16097 the menu entry.
16098 (run): Mainly rewritten.
16099 * normal/parser.y (menu_entry): New variable.
16100 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
16101 (menuentry): New rule.
16102 (command): Add `menuentry'.
16103 (if_statement): Allow additional returns before `fi'.
16104 * normal/script.c (grub_script_create_cmdmenu): New function.
16105
144f1f98 161062006-01-03 Marco Gerards <marco@gnu.org>
16107
16108 * INSTALL: GNU Bison is required.
16109 * configure.ac: Rewritten the test to detect Bison.
16110 * Makefile.in (YACC): New variable. Reported by Xun Sun
16111 <xun.sun.cn@gmail.com>.
16112
af4b2d89 161132006-01-03 Marco Gerards <marco@gnu.org>
16114
16115 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
16116 the HFS+ filesystem to filesystem blocks.
16117 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
16118 GCC warning is silenced.
16119
15643b71 161202006-01-03 Marco Gerards <marco@gnu.org>
16121
16122 * partmap/apple.c (apple_partition_map_iterate): Convert the data
16123 read from disk from big endian to host byte order.
16124
00905879 161252006-01-03 Hollis Blanchard <hollis@penguinppc.org>
16126
16127 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
16128 documentation.
16129 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
16130 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
16131 embedded HFS+ filesystem.
16132 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
16133 (grub_hfs_sblock): Move from here...
16134 * include/grub/hfs.h: To here... New file.
16135 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
16136 documentation.
16137 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
16138 New macros.
16139 (grub_hfsplus_volheader): Change type of member `magic' to
16140 `grub_uint16_t'.
16141 (grub_hfsplus_data): Add new member `embedded_offset'.
16142 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
16143 returned block.
16144 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
16145 Calculate the offset.
16146
8899bc3e 161472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16148
16149 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
16150 Removed.
16151 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
16152
ae8c0277 161532005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16154
16155 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
16156 ENV->NAME is NULL after allocating ENV->VALUE.
16157
07084456 161582005-12-25 Marco Gerards <marco@gnu.org>
16159
16160 * kern/env.c (grub_env_set): Rewritten the error handling code.
16161
4750f5f1 161622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16163
16164 * geninit.sh: Made more robust, and more portable.
16165
50214199 161662005-12-25 Marco Gerards <marco@gnu.org>
16167
16168 Add support for Apple HFS+ filesystems.
f19dbdb7 16169
50214199 16170 * fs/hfsplus.c: New file.
16171
16172 * DISTLIST: Added `fs/hfsplus.c'.
16173
16174 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
16175 (hfsplus_mod_SOURCES): New variable.
16176 (hfsplus_mod_CFLAGS): Likewise.
16177 (hfsplus_mod_LDFLAGS): Likewise.
16178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
16179 (grub_setup_SOURCES): Likewise.
16180 (grub_mkdevicemap_SOURCES): Likewise.
16181 (grub_emu_SOURCES): Likewise.
16182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16183
16184 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
16185
16186 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
16187
befaed6c 161882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16189
16190 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
16191 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
16192 include/grub/parser.h, include/grub/script.h, kern/parser.c,
16193 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
16194 normal/lexer.c, normal/parser.y, normal/script.c, and
16195 partmap/gpt.c.
16196 Removed kern/sparc64/cache.c.
16197
16198 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
16199 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
16200 grub_emu_init.c.
16201
16202 * configure.ac (AC_INIT): Bumped to 1.92.
16203
6a124103 162042005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
16205
16206 * kern/err.c (grub_error_push): Added new function to support error
16207 stacks.
16208 (grub_error_pop): Likewise.
16209 (grub_error_stack_items): New local variable to support error stacks.
16210 (grub_error_stack_pos): Likewise.
16211 (grub_error_stack_assert): Likewise.
16212 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
16213 stack depth.
16214 (grub_print_error): Added support to print errors from error stack.
16215
16216 * include/grub/err.h (grub_error_push): Added function prototype.
16217 (grub_error_pop): Likewise.
16218
be973c1b 162192005-12-09 Hollis Blanchard <hollis@penguinppc.org>
16220
16221 * configure.ac: Accept `powerpc64' as host_cpu.
16222 (amd64): Rename to `biarch32'.
16223
16224 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
16225 non-cacheline-aligned addresses.
16226
16227 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
16228 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
16229 if `size' is non-zero.
16230
b04216ab 162312005-12-03 Marco Gerards <mgerards@xs4all.nl>
16232
16233 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
16234 and `cd' to make sure the filename is not prefixed with a
16235 directory name.
16236 (pkgdata_MODULES): Add `gpt.mod'.
16237 (gpt_mod_SOURCES): New variable.
16238 (gpt_mod_CFLAGS): Likewise.
16239 (gpt_mod_LDFLAGS): Likewise.
16240
16241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
16242
16243 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
16244 New macro.
16245
16246 * partmap/gpt.c: New file.
16247
16248 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
16249 GPT partition map is detected.
16250
41730ed9 162512005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
16252
16253 * commands/i386/pc/play.c: New file.
16254 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
16255 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
16256 macros.
f19dbdb7 16257
95dc3643 162582005-11-27 Marco Gerards <mgerards@xs4all.nl>
16259
16260 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
16261 ((unused))' to silence gcc warning.
16262
1569ec51 162632005-11-26 Hollis Blanchard <hollis@penguinppc.org>
16264
16265 * configure.ac: Correct `AC_PROG_YACC' test.
16266
9abde152 162672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16268
16269 * util/powerpc/ieee1275/grub-install.in: Run the mount point
16270 check before installing files.
16271
44b83271 162722005-11-22 Mike Small <smallm@panix.com>
16273
16274 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
16275 number regex so multidigit numbers are recognized correctly.
16276
162772005-11-22 Mike Small <smallm@panix.com>
16278
16279 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
16280 debugging message before attempting to claim memory.
16281 (grub_rescue_cmd_initrd): Add a claim debugging message and try
16282 multiple addresses in case of failure.
16283
9c12956b 162842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16285
16286 * term/tparm.c (get_space): Remove empty `if' statement.
16287
16288 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
16289
16290 * kern/parser.c (check_varstate): Rename `state' to 's'.
16291
aeaf81d9 162922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16293
16294 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
16295 variable definitions to the beginning of each function. Sort stack
16296 variables by size.
16297 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
16298 `buf' argument to `char *'.
16299
79bbb63f 163002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16301
16302 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
16303 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16304 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 16305 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16306 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16307 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16308 configfile.mod, search.mod, gzio.mod and test.mod.
16309 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16310 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16311 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16312 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16313 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16314 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16315 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16316 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16317 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16318 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16319 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16320 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16321 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16322 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16323 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16324 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16325 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16326 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16327 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16328 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16329 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16330 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16331 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
16332
16333 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
16334 `grep --include'.
16335 (pkgdata_MODULES): Add test.mod.
16336
233b1628 163372005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16338
16339 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
16340 appending to variables with "+=".
16341 (PModule): Use full pathname to generate *.lst filenames.
16342
16343 * Makefile.in: Fixed list rules moved from genmk.rb.
16344 (.DELETE_ON_ERROR): New special target.
16345 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
16346
16347 * conf/i386-pc.rmk: Include conf/common.mk.
16348 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16349 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 16350 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16351 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16352 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16353 configfile.mod, search.mod, gzio.mod and test.mod.
16354 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16355 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16356 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16357 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16358 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16359 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16360 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16361 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16362 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16363 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16364 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16365 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16366 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16367 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16368 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16369 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16370 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16371 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16372 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16373 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16374 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16375 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16376 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
16377 here...
16378 * conf/common.rmk: ... to here. New file.
16379
16380 * conf/common.mk: New file.
16381
16f820c8 163822005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
16383
16384 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
16385 (grub_script.tab.c): ... here.
16386
16387 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
16388 (grub_script.tab.c): ... here.
16389
16390 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
16391 (grub_script.tab.c): ... here.
16392
16393 * normal/command.c (grub_command_find): Fixed a memory leak of
16394 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
16395
63ba1554 163962005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16397
16398 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
16399 "@" which marks the start of a comment on ARM.
16400 (VARIABLE): Likewise.
16401
7f67dc13 164022005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16403
79bbb63f 16404 Add support for Linux/ADFS partition tables.
7f67dc13 16405
16406 * partmap/acorn.c: New file.
16407
16408 * include/grub/acorn_filecore.h: Likewise.
16409
16410 * DISTLIST: Added `partmap/acorn.c' and
16411 `include/grub/acorn_filecore.h'.
f19dbdb7 16412
7f67dc13 16413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16414 `partmap/acorn.c'.
16415 (pkgdata_MODULES): Add `acorn.mod'.
16416 (acorn_mod_SOURCES): New variable.
16417 (acorn_mod_CFLAGS): Likewise.
16418
16419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16420 `partmap/acorn.c'.
16421 (pkgdata_MODULES): Add `acorn.mod'.
16422 (acorn_mod_SOURCES): New variable.
16423 (acorn_mod_CFLAGS): Likewise.
16424
16425 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
16426 (pkgdata_MODULES): Add `acorn.mod'.
16427 (acorn_mod_SOURCES): New variable.
16428 (acorn_mod_CFLAGS): Likewise.
16429 (acorn_mod_LDFLAGS): Likewise.
16430
16431 * include/types.h (grub_disk_addr_t): New typedef.
16432
6d099807 164332005-11-13 Marco Gerards <mgerards@xs4all.nl>
16434
16435 * geninit.sh: New file.
16436
16437 * geninitheader.sh: Likewise.
16438
16439 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
16440 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
16441 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
16442 * commands/configfile.c (grub_configfile_init)
16443 (grub_configfile_fini): Likewise.
16444 * commands/default.c (grub_default_init, grub_default_fini):
16445 Likewise.
16446 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
16447 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
16448 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
16449 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
16450 Likewise.
16451 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
16452 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
16453 Likewise.
16454 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 16455 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 16456 Likewise.
16457 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
16458 Likewise.
fe6b695a 16459 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 16460 Likewise.
16461 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
16462 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
16463 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
16464 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
16465 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
16466 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
16467 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
16468 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
16469 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
16470 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
16471 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
16472 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
16473 * partmap/amiga.c (grub_amiga_partition_map_init)
16474 (grub_amiga_partition_map_fini): Likewise.
16475 * partmap/apple.c (grub_apple_partition_map_init)
16476 (grub_apple_partition_map_fini): Likewise.
16477 * partmap/pc.c (grub_pc_partition_map_init)
16478 (grub_pc_partition_map_fini): Likewise.
16479 * partmap/sun.c (grub_sun_partition_map_init,
16480 grub_sun_partition_map_fini): Likewise.
16481 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
16482 Likewise.
16483
16484 * util/grub-emu.c: Include <grub_modules_init.h>.
16485 (main): Don't initialize and de-initialize any modules directly,
16486 use `grub_init_all' and `grub_fini_all' instead.
16487
16488 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
16489 `grub_vesafb_mod_init'.
16490 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
16491 all users.
16492 * term/i386/pc/vga.c (grub_vga_init): Renamed to
16493 `grub_vga_mod_init'. Updated all users.
16494 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 16495
6d099807 16496 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
16497 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
16498 rules.
16499
16500 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
16501 Generate a function to initialize the module in utilities.
16502 Updated all callers.
16503 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
16504 initialize the module in utilities. Updated all callers.
16505
9046bcf0 165062005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16507
16508 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
16509 escape sequence and a literal ^L to clear the screen.
16510
16511 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
16512 when returning from Open Firmware.
16513
d13ea639 165142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16515
16516 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
16517 (grub_ofconsole_height): Likewise.
16518 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
16519 manually insert a '\n'.
16520 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
16521 `grub_ofconsole_height'. Return early if these are already set.
16522
a8fcf206 165232005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
16524
16525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16526 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
16527 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
16528 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
16529 and `normal/script.c'.
16530 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16531 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16532 (test_mod_SOURCES): New variable.
16533 (test_mod_CFLAGS): Likewise.
16534 (test_mod_LDFLAGS): Likewise.
16535 (pkgdata_MODULES): Add `test.mod'.
16536 (grub_script.tab.c): New rule.
16537 (grub_script.tab.h): Likewise.
16538
b6b32745 165392005-11-07 Marco Gerards <mgerards@xs4all.nl>
16540
16541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16542 `commands/test.c', `normal/execute.c', `normal/lexer.c',
16543 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16544 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16545 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16546 (test_mod_SOURCES): New variable.
16547 (test_mod_CFLAGS): Likewise.
16548 (pkgdata_MODULES): Add `test.mod'.
16549 (grub_script.tab.c): New rule.
16550 (grub_script.tab.h): Likewise.
16551
daac212a 165522005-11-06 Marco Gerards <mgerards@xs4all.nl>
16553
16554 Add initial scripting support.
16555
16556 * commands/test.c: New file.
16557 * include/grub/script.h: Likewise.
16558 * normal/execute.c: Likewise.
16559 * normal/function.c: Likewise.
16560 * normal/lexer.c: Likewise.
16561 * normal/parser.y: Likewise.
16562 * normal/script.c: Likewise.
16563
16564 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 16565
daac212a 16566 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
16567 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
16568 `normal/function.c' and `normal/script.c'.
16569 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16570 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 16571 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
16572 variables.
daac212a 16573 (pkgdata_MODULES): Add `test.mod'.
16574 (grub_script.tab.c): New rule.
16575 (grub_script.tab.h): Likewise.
16576
16577 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
16578
16579 * include/grub/normal.h (grub_test_init): New prototype.
16580 (grub_test_fini): Likewise.
f19dbdb7 16581
daac212a 16582 * normal/command.c: Include <grub/script.h>.
16583 (grub_command_execute): Rewritten.
f19dbdb7 16584
daac212a 16585 * util/grub-emu.c (main): Call `grub_test_init' and
16586 `grub_test_fini'.
16587
77500b2b 165882005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16589
16590 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
16591 to 0.
16592 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
16593 there are no pending characters.
16594
e45deb9e 165952005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16596
16597 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
16598 `grub_strndup' to drop device arguments. Replace unnecessary
16599 `grub_strndup' with `grub_strdup'.
16600
4ce32619 166012005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16602
16603 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
16604 `debug' environment variable has been set.
16605
166062005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 16607
4ce32619 16608 * Makefile.in (install-local): Use $(DATA).
16609 (uninstall): Likewise.
16610 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
16611 (sbin_UTILITIES): ... to here.
16612 (sbin_SCRIPTS): New variable.
16613 (grub_install_SOURCES): New variable.
16614 * util/powerpc/ieee1275/grub-install.in: New file.
16615 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
16616 variable.
16617 (add_segments): Call `grub_util_get_path'.
16618
25fe6f03 166192005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16620
16621 From Timothy Baldwin:
16622 * commands/ls.c (grub_ls_list_files): Close FILE with
16623 grub_file_close.
16624 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
16625
04ccf3ec 166262005-10-24 Marco Gerards <mgerards@xs4all.nl>
16627
16628 * include/grub/parser.h: New file.
16629
16630 * kern/parser.c: Likewise.
16631
16632 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
16633 (grub_setup_SOURCES): Likewise.
16634 (grub_probefs_SOURCES): Likewise.
16635 (grub_emu_SOURCES): Likewise.
16636 (kernel_img_HEADERS): Add `parser.h'.
16637
16638 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16639 (grub_emu_SOURCES): Add `kern/parser.c'.
16640 (grubof_SOURCES): Likewise.
16641
16642 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16643 (grubof_SOURCES): Add `kern/parser.c'.
16644
16645 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
16646
16647 * kern/misc.c (grub_split_cmdline): Removed function.
16648
16649 * kern/rescue.c: Include <grub/parser.h>.
16650 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
16651 of `grub_split_cmdline'.
16652
16653 * normal/command.c: Include <grub/parser.h>.
16654 (grub_command_execute): Use `grub_parser_split_cmdline' instead
16655 of `grub_split_cmdline'.
16656
16657 * normal/completion.c: Include <grub/parser.h>.
16658 (cmdline_state): New variable.
16659 (iterate_dir): End the filename with a quote depending on the
16660 command line state.
16661 (get_state): new function.
16662 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
16663 split the arguments and determine the current argument. When the
16664 argument string is not quoted, escape all spaces.
16665
6d8f4b0e 166662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16667
16668 * normal/sparc64/setjmp.S: New file.
16669
15cf03ed 166702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16671
16672 * include/grub/sparc64/libgcc.h: New file.
16673 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
16674 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
16675 normal/sparc64/setjmp.c.
16676
03e8661a 166772005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16678
16679 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
16680 * kern/sparc64/cache.S: New file.
16681 * kern/sparc64/cache.c: Removed.
16682 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
16683 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
16684 -mtune=ultrasparc.
16685 (COMMON_LDFLAGS): Add -melf64_sparc.
16686 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
16687 (grubof_SOURCES): Use cache.S instead of cache.c.
16688 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
16689 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
16690 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
16691 commented though.
16692 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
16693 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
16694 (linux_mod_CFLAGS): Commented out.
16695 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
16696 out because module isn't built.
16697 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
16698 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
16699 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
16700 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
16701 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
16702 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16703 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16704 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
16705 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
16706 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
16707 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16708 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16709 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
16710 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
16711
34eeec8a 167122005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
16713
16714 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
16715 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
16716 longer, because HFS should not be used on PC.
16717
708367a3 167182005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16719
16720 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
16721 consistently within the loop.
16722
6fa1251a 167232005-10-15 Marco Gerards <mgerards@xs4all.nl>
16724
16725 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
16726 directory can not be read.
16727
4801580b 167282005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16729
16730 * configure.ac (AC_INIT): Increase the version number to 1.91.
16731
16732 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
16733 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
16734 term/i386/pc/serial.c.
16735
219ad426 167362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16737
16738 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
16739 file size must be permitted.
16740
16741 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
16742 between %ah and %al.
16743
688e5699 167442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16745
16746 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
16747 grub_uint64_t.
16748 Call the hook with a NUL-terminated filename.
16749 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
16750 grub_cpu_to_be32.
16751
16752 * kern/term.c (cursor_state): New variable.
16753 (grub_term_set_current): Reset the cursor state on a new
16754 terminal.
16755 (grub_setcursor): Rewritten to use CURSOR_STATE.
16756 (grub_getcursor): New function.
16757
16758 * include/grub/term.h (grub_getcursor): New prototype.
16759
16760 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
16761 integers on ARM. Reported by Timothy Baldwin
16762 <T.E.Baldwin99@members.leeds.ac.uk>.
16763
bb34586c 167642005-10-11 Marco Gerards <mgerards@xs4all.nl>
16765
16766 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
16767 allocated.
16768 (grub_sfs_dir): Likewise.
16769
9a909877 167702005-10-09 Marco Gerards <mgerards@xs4all.nl>
16771
16772 Add support for the SFS filesystem.
16773
16774 * fs/sfs.c: New file.
16775
16776 * DISTLIST: Added `fs/sfs.c'.
16777
16778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
16779 (grub_probefs_SOURCES): Likewise.
16780 (grub_emu_SOURCES): Likewise.
16781 (pkgdata_MODULES): Add `sfs.mod'.
16782 (sfs_mod_SOURCES): New variable.
16783 (sfs_mod_CFLAGS): Likewise.
16784 (sfs_mod_LDFLAGS): Likewise.
16785
16786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
16787 (pkgdata_MODULES): Add `sfs.mod'.
16788 (sfs_mod_SOURCES): New variable.
16789 (sfs_mod_CFLAGS): Likewise.
16790
16791 * util/grub-emu.c (main): Call `grub_sfs_init' and
16792 `grub_sfs_fini'.
16793
16794 * include/grub/fs.h (grub_sfs_init): New prototype.
16795 (grub_sfs_fini): Likewise.
16796
57bdbde3 167972005-10-07 Marco Gerards <mgerards@xs4all.nl>
16798
16799 Add support for the AFFS filesystem.
16800
16801 * fs/affs.c: New file.
16802
16803 * DISTLIST: Added `fs/affs.c'.
16804
16805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
16806 (grub_probefs_SOURCES): Likewise.
16807 (grub_emu_SOURCES): Likewise.
16808 (pkgdata_MODULES): Add `affs.mod'.
16809 (affs_mod_SOURCES): New variable.
16810 (affs_mod_CFLAGS): Likewise.
16811 (affs_mod_LDFLAGS): Likewise.
16812
16813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
16814 (pkgdata_MODULES): Add `affs.mod'.
16815 (affs_mod_SOURCES): New variable.
16816 (affs_mod_CFLAGS): Likewise.
16817
16818 * util/grub-emu.c (main): Call `grub_affs_init' and
16819 `grub_affs_fini'.
16820
16821 * include/grub/fs.h (grub_affs_init): New prototype.
16822 (grub_affs_fini): Likewise.
16823
047b67e0 168242005-10-01 Marco Gerards <mgerards@xs4all.nl>
16825
16826 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
16827
59b8208a 168282005-10-01 Marco Gerards <mgerards@xs4all.nl>
16829
16830 * configure.ac: Accept `x86_64' as host_cpu. In that case add
16831 `-m32' to CFLAGS.
16832
16833 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
16834 linking.
f19dbdb7 16835
59b8208a 16836 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
16837 (COMMON_LDFLAGS): New variable.
16838 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
16839 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
16840 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
16841 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
16842 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
16843 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
16844 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
16845 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
16846 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
16847 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
16848 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16849 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16850 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
16851 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
16852 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
16853 variables.
16854 (normal_mod_ASFLAGS): Add `-m32'.
16855
16856 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
16857 (grub_host_size_t, grub_host_ssize_t): New types.
16858 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 16859 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 16860 `GRUB_HOST_SIZEOF_VOID_P'.
16861
16862 * include/grub/kernel.h (struct grub_module_header): Type of
16863 member offset changed to `grub_host_off_t'. Type of member size
16864 changed to `grub_host_size_t'.
16865 (struct grub_module_info): Type of member offset changed to
16866 `grub_host_off_t'. Type of member size changed to
16867 `grub_host_size_t'.
16868
b4093103 168692005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
16870
16871 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 16872
b4093103 16873 * kern/i386/pc/startup.S (multiboot_header): New label.
16874 (multiboot_entry): Likewise.
16875 (multiboot_trampoline): Likewise.
16876
16877 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16878 Increased to 0x4A0.
16879
16880 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
16881 put parentheses after a question mark.
16882 [!GRUB_UTIL] (my_mod): New variable.
16883
16884 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
16885
b2499b29 168862005-09-28 Marco Gerards <mgerards@xs4all.nl>
16887
16888 Adds support for the XFS filesystem. Btrees are not supported
16889 yet.
16890
16891 * fs/xfs.c: New file.
16892
16893 * DISTLIST: Added `fs/xfs.c'.
16894
16895 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
16896 (grub_probefs_SOURCES): Likewise.
16897 (grub_emu_SOURCES): Likewise.
16898 (pkgdata_MODULES): Add `xfs.mod'.
16899 (xfs_mod_SOURCES): New variable.
16900 (xfs_mod_CFLAGS): Likewise.
16901
16902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
16903 (pkgdata_MODULES): Add `xfs.mod'.
16904 (xfs_mod_SOURCES): New variable.
16905 (xfs_mod_CFLAGS): Likewise.
16906
16907 * util/grub-emu.c (main): Call `grub_xfs_init' and
16908 `grub_xfs_fini'.
16909
16910 * include/grub/fs.h (grub_xfs_init): New prototype.
16911 (grub_xfs_fini): Likewise.
16912
f19dbdb7 16913
83d37a62 169142005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
16915
16916 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
16917 color modes, allow greater than 16 colors to be configured as
16918 a default palette.
16919
47d2d65e 169202005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16921
16922 * normal/completion.c (complete_arguments): Add the qualifier
16923 const into OPTIONS.
16924
16925 From Omniflux <omniflux+lists@omniflux.com>:
16926 * include/grub/terminfo.h: New file.
16927 * include/grub/tparm.h: Likewise.
16928 * include/grub/i386/pc/serial.h: Likewise.
16929 * term/terminfo.c: Likewise.
16930 * term/tparm.c: Likewise.
16931 * term/i386/pc/serial.c: Likewise.
16932 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
16933 serial.mod.
16934 (terminfo_mod_SOURCES): New variable.
16935 (terminfo_mod_CFLAGS): Likewise.
16936 (serial_mod_SOURCES): Likewise.
16937 (serial_mod_CFLAGS): Likewise.
16938
48b671ff 169392005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
16940
16941 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
16942 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
16943 and kern/powerpc/ieee1275/cmain.c, respectively.
16944
16945 * boot/powerpc/ieee1275/crt0.S: Moved to ...
16946 * kern/powerpc/ieee1275/crt0.S: ... here.
16947
16948 * boot/powerpc/ieee1275/cmain.c: Moved to ...
16949 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 16950
48b671ff 16951 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
16952 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
16953 instead of boot/powerpc/ieee1275/crt0.S and
16954 boot/powerpc/ieee1275/cmain.c, respectively.
16955
16956 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
16957 sectors. It was not used anyway.
16958
09fc77a7 169592005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16960
16961 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
16962 `unused parameter' warning.
16963
003789c7 169642005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16965
16966 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
16967 function.
16968 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
16969 getcharwidth.
16970
67f44c86 169712005-08-28 Marco Gerards <metgerards@student.han.nl>
16972
16973 * include/grub/normal.h (enum grub_completion_type): Added
16974 `GRUB_COMPLETION_TYPE_ARGUMENT'.
16975
16976 * normal/cmdline.c (print_completion): Handle
16977 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
16978 * normal/menu_entry.c (store_completion): Likewise.
16979
16980 * normal/completion.c (complete_arguments): New function.
16981 (grub_normal_do_completion): Call `complete_arguments' when the
16982 current words start with a dash.
16983
0b5abe02 169842005-08-27 Marco Gerards <metgerards@student.han.nl>
16985
16986 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
16987 `gzio.mod' instead of `io.mod').
16988
d9864ee1 169892005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
16990
16991 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
16992 (DISTDIRS): Added io and video.
16993 Rewrite the search routine to make an output consistently.
16994
16995 * DISTLIST: Added conf/sparc64-ieee1275.mk,
16996 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
16997 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
16998 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
16999 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
17000 util/powerpc/ieee1275/misc.c.
f19dbdb7 17001
d9864ee1 17002 * include/grub/gzio.h: New file.
17003 * io/gzio.c: Likewise.
f19dbdb7 17004
d9864ee1 17005 * kern/file.c (grub_file_close): Call grub_device_close only if
17006 FILE->DEVICE is not NULL.
17007
17008 * include/grub/mm.h [!NULL] (NULL): New macro.
17009
17010 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
17011
17012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
17013 (pkgdata_MODULES): Added gzio.mod.
17014 (gzio_mod_SOURCES): New variable.
17015 (gzio_mod_CFLAGS): Likewise.
17016
17017 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
17018 (pkgdata_MODULES): Added gzio.mod.
17019 (gzio_mod_SOURCES): New variable.
17020 (gzio_mod_CFLAGS): Likewise.
17021
17022 * commands/cat.c: Include grub/gzio.h.
17023 (grub_cmd_cat): Use grub_gzfile_open instead of
17024 grub_file_open.
f19dbdb7 17025
d9864ee1 17026 * commands/cmp.c: Include grub/gzio.h.
17027 (grub_cmd_cmp): Use grub_gzfile_open instead of
17028 grub_file_open.
17029
17030 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17031 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17032 grub_file_open.
17033 (grub_rescue_cmd_module): Likewise.
17034
fa46f4b5 170352005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17036
17037 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17038 kern/sparc64/ieee1275/init.c because it contains _start.
17039 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17040
e9211b5d 170412005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17042
17043 * configure.ac: Add support for sparc64 host with ieee1275
17044 firmware.
17045 * configure: Generated from configure.ac.
17046 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17047 instead of int.
17048 (grub_ofdisk_read): Likewise.
17049 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17050 pointers as (void *) to remove a warning.
17051 (grub_ofdisk_close): Likewise.
17052 (grub_ofdisk_read): Likewise.
17053 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17054 returns, so make it return void to remove a warning.
17055 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17056 Corresponding prototype change.
17057 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17058 values, and cast the pointers as (void *) to remove a warning.
17059 (grub_mm_dump): Likewise.
17060 * conf/sparc64-ieee1275.mk: New file.
17061 * conf/sparc64-ieee1275.rmk: Likewise.
17062 * include/grub/sparc64/setjmp.h: Likewise.
17063 * include/grub/sparc64/types.h: Likewise.
17064 * include/grub/sparc64/ieee1275/console.h: Likewise.
17065 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17066 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17067 * include/grub/sparc64/ieee1275/time.h: Likewise.
17068 * kern/sparc64/cache.c: Likewise.
17069 * kern/sparc64/dl.c: Likewise.
17070 * kern/sparc64/ieee1275/init.c: Likewise.
17071 * kern/sparc64/ieee1275/openfw.c: Likewise.
17072
385c6a92 170732005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17074
17075 * util/console.c (grub_ncurses_putchar): If C is greater than
17076 0x7f, set C to a question mark.
17077 (grub_ncurses_getcharwidth): New function.
17078 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17079 getcharwidth.
17080
17081 * normal/menu.c (print_entry): Made aware of Unicode. First,
17082 convert TITLE to UCS-4, and predict the cursor position by
17083 grub_getcharwidth.
17084
17085 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17086 const to SRC.
17087 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17088
16ccb8b1 170892005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17090
17091 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17092 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17093 grub_strcat.
17094
17095 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17096 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17097 grub_strcpy and grub_strlen. Take it into account that a space
17098 character is inserted as a delimiter.
17099
6a85ce79 171002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17101
17102 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 17103 invalid magic in the error.
6a85ce79 17104
17105 * commands/search.c: New file.
f19dbdb7 17106
6a85ce79 17107 * util/grub-emu.c (main): Call grub_search_init and
17108 grub_search_fini.
17109
17110 * kern/rescue.c (grub_rescue_print_disks): Removed.
17111 (grub_rescue_print_devices): New function.
17112 (grub_rescue_cmd_ls): Use grub_device_iterate with
17113 grub_rescue_print_devices instead of grub_disk_dev_iterate with
17114 grub_rescue_print_disks.
17115
17116 * kern/partition.c (grub_partition_iterate): Return the result of
17117 PARTMAP->ITERATE instead of GRUB_ERRNO.
17118
17119 * kern/device.c: Include grub/partition.h.
17120 (grub_device_iterate): New function.
17121
17122 * include/grub/partition.h (grub_partition_iterate): Return int
17123 instead of grub_err_t.
17124
17125 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
17126 prototype.
17127 [GRUB_UTIL] (grub_search_fini): Likewise.
17128
17129 * include/grub/device.h (grub_device_iterate): New prototype.
17130
17131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17132 commands/search.c.
17133 (pkgdata_MODULES): Added search.mod.
17134 (search_mod_SOURCES): New variable.
17135 (search_mod_CFLAGS): Likewise.
17136
17137 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
17138 (pkgdata_MODULES): Added search.mod.
17139 (search_mod_SOURCES): New variable.
17140 (search_mod_CFLAGS): Likewise.
17141
17142 * commands/ls.c (grub_ls_list_disks): Renamed to ...
17143 (grub_ls_list_devices): ... this, and use grub_device_iterate.
17144 All callers changed.
17145
17146 * DISTLIST: Added commands/search.c.
17147
ef095434 171482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17149
17150 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
17151 conversion.
17152 (grub_getcharwidth): New function.
17153
17154 * kern/misc.c (grub_utf8_to_ucs4): New function.
17155
17156 * include/grub/term.h (struct grub_term): Added a new member
17157 "getcharwidth".
17158 (grub_getcharwidth): New prototype.
17159
17160 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
17161
17162 * term/i386/pc/console.c (map_char): New function. Segregated from
17163 grub_console_putchar.
17164 (grub_console_putchar): Use map_char.
17165 (grub_console_getcharwidth): New function.
17166 (grub_console_term): Specified grub_console_getcharwidth as
17167 getcharwidth.
17168
17169 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
17170 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
17171
17172 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
17173 GRUB_ERRNO.
17174 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
17175 on grub_strtoul completely.
17176 (write_char): Declare local variables in the beginning of the
17177 function.
17178 (grub_vesafb_getcharwidth): New function.
17179 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
17180 getcharwidth.
17181
1f0a95e4 171822005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
17183
17184 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
17185 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
17186 commands/i386/pc/vbetest.c.
17187
17188 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
17189 call grub_vbe_get_controller_info again, because the returned
17190 information is volatile.
17191 (grub_vbe_set_video_mode): Mostly rewritten.
17192 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
17193 grub_vbe_status_t correctly.
17194 (grub_vbe_get_video_mode_info): Likewise.
17195 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
17196 several if statements.
17197
17198 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
17199 * commands/i386/pc/vbeinfo.c: ... this.
17200
17201 * commands/i386/pc/vbe_test.c: Renamed to ...
17202 * commands/i386/pc/vbetest.c: ... this.
17203
17204 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
17205 ...
17206 (grub_cmd_vbeinfo): ... this. Save video modes before
17207 iterating. Skip a video mode, if it is not available, not enough
17208 information is given or it is monochrome. Show the memory
17209 model. Leave the interpretation of MODEVAR to grub_strtoul
17210 completely.
17211 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
17212 (GRUB_MOD_FINI): Likewise.
17213
17214 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
17215 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
17216 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
17217 duplicated grub_env_get. Leave the interpretation of MODEVAR to
17218 grub_strtoul completely.
17219 (real2pm): Removed.
17220 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
17221 (GRUB_MOD_FINI): Likewise.
17222
17223 * normal/misc.c: Include grub/mm.h.
17224
17225 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
17226 vbe_list_modes with vbetest.mod and vbeinfo.mod.
17227 (vbe_list_modes_mod_SOURCES): Removed.
17228 (vbe_list_modes_mod_CFLAGS): Likewise.
17229 (vbe_test_mod_SOURCES): Likewise.
17230 (vbe_test_mod_CFLAGS): Likewise.
17231 (vbeinfo_mod_SOURCES): New variable.
17232 (vbeinfo_mod_CFLAGS): Likewise.
17233 (vbetest_mod_SOURCES): Likewise.
17234 (vbetest_mod_CFLAGS): Likewise.
17235
992ffbbe 172362005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
17237
17238 * normal/misc.c: New file.
17239
17240 * DISTLIST: Added normal/misc.c.
f19dbdb7 17241
992ffbbe 17242 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
17243 DISK to HOOK. Call HOOK with DISK.
17244 * partmap/apple.c (apple_partition_map_iterate): Likewise.
17245 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17246 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17247
17248 * normal/menu_entry.c (struct screen): Added a new member
17249 "completion_shown".
17250 (completion_buffer): New global variable.
17251 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
17252 (store_completion): New function.
17253 (complete): Likewise.
17254 (clear_completions): Likewise.
17255 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
17256 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
17257 a tab, call complete.
17258
17259 * normal/completion.c (disk_dev): Removed.
17260 (print_simple_completion): Likewise.
17261 (print_partition_completion): Likewise.
17262 (print_func): New global variable.
17263 (add_completion): Do not take the arguments WHAT or PRINT any
17264 longer. Added a new argument TYPE. Instead of printing directly,
17265 call PRINT_FUNC if not NULL.
17266 All callers changed.
17267 (complete_device): Use a local variable DEV instead of
17268 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
17269 (grub_normal_do_completion): Take a new argument HOOK. Do not
17270 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
17271 empty string, return NULL instead.
17272 All callers changed.
17273
17274 * normal/cmdline.c (print_completion): New function.
17275
17276 * kern/partition.c (grub_partition_iterate): Add an argument DISK
17277 to HOOK.
17278 All callers changed.
17279
17280 * kern/disk.c (grub_print_partinfo): Removed.
17281
17282 * include/grub/partition.h (struct grub_partition_map): Add a new
17283 argument DISK into HOOK of ITERATE.
17284 (grub_partition_iterate): Add a new argument DISK to HOOK.
17285
17286 * include/grub/normal.h (enum grub_completion_type): New enum.
17287 (grub_completion_type_t): New type.
17288 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
17289 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
17290 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
17291 (GRUB_COMPLETION_TYPE_FILE): Likewise.
17292 (grub_normal_do_completion): Added a new argument HOOK.
17293 (grub_normal_print_device_info): New prototype.
17294
17295 * include/grub/disk.h (grub_print_partinfo): Removed.
17296
17297 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
17298 (normal_mod_SOURCES): Likewise.
17299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17300 (normal_mod_SOURCES): Likewise.
17301
17302 * commands/ls.c (grub_ls_list_disks): Use
17303 grub_normal_print_device_info instead of grub_print_partinfo. Free
17304 PNAME.
17305 (grub_ls_list_files): Use grub_normal_print_device_info instead of
17306 duplicating the code.
17307
0bd41162 173082005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17309
17310 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 17311 follow GCS more precisely.
17312 * commands/i386/pc/vbe_test.c: Likewise.
17313 * include/grub/i386/pc/vbe.h: Likewise.
17314 * term/i386/pc/vesafb.c: Likewise.
17315 * video/i386/pc/vbe.c: Likewise.
0bd41162 17316
6323696a 173172005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17318
17319 * DISTLIST: Added term/i386/pc/vesafb.c
17320 DISTLIST: Added video/i386/pc/vbe.c
17321 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
17322 DISTLIST: Added commands/i386/pc/vbe_test.c.
17323 * commands/i386/pc/vbe_list_modes.c: New file.
17324 * commands/i386/pc/vbe_test.c: Likewise.
17325 * term/i386/pc/vesafb.c: Likewise.
17326 * video/i386/pc/vbe.c: Likewise.
17327 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
17328 (grub_vbe_probe) Added prototype.
17329 (grub_vbe_set_video_mode) Likewise.
17330 (grub_vbe_get_video_mode) Likewise.
17331 (grub_vbe_get_video_mode_info) Likewise.
17332 (grub_vbe_set_pixel_rgb) Likewise.
17333 (grub_vbe_set_pixel_index) Likewise.
17334 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
17335 (pkgdata_MODULES): Added vesafb.mod.
17336 (pkgdata_MODULES): Added vbe_list_modes.mod.
17337 (pkgdata_MODULES): Added vbe_test.mod.
17338 (vbe_mod_SOURCES): Added.
17339 (vbe_mod_CFLAGS): Likewise.
17340 (vesafb_mod_SOURCES): Likewise.
17341 (vesafb_mod_CFLAGS): Likewise.
17342 (vbe_list_modes_mod_SOURCES): Likewise.
17343 (vbe_list_modes_mod_CFLAGS): Likewise.
17344 (vbe_test_mod_SOURCES): Likewise.
17345 (vbe_test_mod_CFLAGS): Likewise.
17346
0a74e62f 173472005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
17348
0a74e62f 17349 * normal/command.c (grub_command_execute): If INTERACTIVE is
17350 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
17351 CMDLINE. Disable the pager if INTERACTIVE is true.
17352 All callers are changed.
17353
17354 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
17355 before reading a config file.
17356 * normal/main.c (read_config_file): Even if a command is not
17357 found, register it if it is within an entry.
17358
17359 * util/grub-emu.c: Include sys/types.h and unistd.h.
17360 (options): Added --hold.
17361 (struct arguments): Added a new member "hold".
17362 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
17363 missing.
17364 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
17365 cleared by a debugger, if it is not zero.
17366
17367 * include/grub/normal.h (grub_command_execute): Add an argument
17368 INTERACTIVE.
17369
e51f85ae 173702005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
17371
17372 * DISTLIST: Added include/grub/i386/pc/vbe.h.
17373
e9c6f39b 173742005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
17375
17376 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
17377 program with another one, because the old one didn't detect a bug
17378 in gcc-3.4. Always use regparm 2, because the new test is still
17379 not enough for gcc-4.0. Someone must investigate a simple test
17380 case which detects a bug in gcc-4.0.
17381
8de3495c 173822005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
17383
17384 * DISTLIST: Added normal/completion.c.
17385
17386 * normal/completion.c: New file.
f19dbdb7 17387
8de3495c 17388 * term/i386/pc/console.c (grub_console_getwh): New function.
17389 (grub_console_term): Assign grub_console_getwh to getwh.
17390
17391 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
17392 function is defined in normal/completion.c as
17393 grub_normal_do_completion.
17394 (grub_cmdline_get): Use grub_normal_do_completion instead of
17395 grub_tab_complete.
17396
17397 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
17398 returns non-zero, otherwise return 0.
17399 (grub_partition_iterate): First, probe the partition map. Then,
17400 call ITERATE only for this partition map.
17401
17402 * kern/misc.c (grub_strncmp): Rewritten.
17403
17404 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
17405 returns non-zero. Otherwise return 0.
17406
17407 * include/grub/partition.h (grub_partition_map_iterate): Return
17408 int instead of void.
17409
17410 * include/grub/normal.h (grub_normal_do_completion): New prototype.
17411
17412 * include/grub/misc.h (grub_strncmp): Change the type of N to
17413 grub_size_t.
17414
17415 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
17416 of void.
17417
17418 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 17419 unsigned explicitly before comparing it with I.
8de3495c 17420
17421 * kern/main.c (grub_env_write_root): Add the attribute unused into
17422 VAR.
17423
17424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17425 normal/completion.c.
17426 (normal_mod_SOURCES): Likewise.
17427 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17428 (normal_mod_SOURCES): Likewise.
17429
17430 * normal/command.c (grub_iterate_commands): If ITERATE returns
17431 non-zero, return one immediately.
17432
e85e144b 174332005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
17434
17435 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
17436 * kern/i386/pc/startup.S: Updated Global Descriptor table's
17437 descriptions.
17438 (grub_vbe_get_controller_info): New function.
17439 (grub_vbe_get_mode_info): Likewise.
17440 (grub_vbe_set_mode): Likewise.
17441 (grub_vbe_get_mode): Likewise.
17442 (grub_vbe_set_memory_window): Likewise.
17443 (grub_vbe_get_memory_window): Likewise.
17444 (grub_vbe_set_scanline_length): Likewise.
17445 (grub_vbe_get_scanline_length): Likewise.
17446 (grub_vbe_set_display_start): Likewise.
17447 (grub_vbe_get_display_start): Likewise.
17448 (grub_vbe_set_palette_data): Likewise.
17449 * include/grub/i386/pc/vbe.h: New file.
17450
c46153d2 174512005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17452
17453 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17454 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
17455 * DISTLIST: Likewise.
17456 * kern/ieee1275/of.c: Moved to ...
17457 * kern/ieee1275/ieee1275.c: ... here.
17458
0cb90c45 174592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17460
17461 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
17462 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
17463 Pass 0 as `end' parameter to grub_strtoul().
17464
a19fb360 174652005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17466
17467 * include/grub/powerpc/ieee1275/console.h: Do not include
17468 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
17469 ifdef.
17470 (grub_console_cur_color): Remove i386-specific prototype.
17471 (grub_console_real_putchar): Likewise.
17472 (grub_console_checkkey): Likewise.
17473 (grub_console_getkey): Likewise.
17474 (grub_console_getxy): Likewise.
17475 (grub_console_gotoxy): Likewise.
17476 (grub_console_cls): Likewise.
17477 (grub_console_setcursor): Likewise.
17478 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
17479 Include <grub/machine/console.h>.
17480 * term/ieee1275/ofconsole.c: Likewise.
17481
4ac9bd04 174822005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
17483
17484 * Makefile.in (LIBLZO): New variable.
17485
17486 * configure.ac: Check for LZO version 2.
17487
17488 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
17489 lzo/lzo1x.h instead of lzo1x.h.
17490
17491 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
17492 of -llzo.
17493
17494 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
17495 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
17496
17497 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
17498 copying the data from PARTITION to P.
17499
f4917dfd 175002005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17501
17502 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
17503 negative, unload the module.
17504
17505 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
17506 map is "pc_partition_map" but not "pc".
17507 (usage): Fix the description. The options are --boot-image and
17508 --core-image but not --boot-file or --core-file.
17509 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
17510 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
17511 DEFAULT_DIRECTORY.
17512
17513 * util/i386/pc/grub-install.in: Do not specify --boot-file or
17514 --core-file. Specify INSTALL_DEVICE as an argument.
17515
17516 * util/console.c: Include config.h.
17517 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
17518 [HAVE_NCURSES_H]: Include ncurses.h.
17519 [HAVE_CURSES_H]: Include curses.h.
17520 [!A_NORMAL] (A_NORMAL): Defined as zero.
17521 [!A_STANDOUT] (A_STANDOUT): Likewise.
17522
17523 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
17524 -lncurses.
17525 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
17526
17527 * configure.ac: Check for curses libraries and headers.
17528
17529 * Makefile.in (LIBCURSES): New variable.
17530
17531 * genmk.rb (Script::rule): Set the executable bits.
17532
17533 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
17534 name of the PC partition map is "pc_partition_map" but not "pc".
17535
0e143073 175362005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17537
17538 * util/i386/pc/grub-install.in (grub_probefs): New variable.
17539 (modules): Likewise.
17540 (usage): Added descriptions for --modules and --grub-probefs.
17541 Handle --modules and --grub-probefs. Save the arguments in MODULES
17542 and GRUB_PROBEFS, respectively.
17543 Auto-detect a filesystem module against GRUBDIR. If the result is
17544 empty and modules are not specified explicitly, abort the
17545 installation. Add the result to MODULES.
17546
17547 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
17548 disk/powerpc/ieee1275/ofdisk.c,
17549 include/grub/powerpc/ieee1275/init.h and
17550 term/powerpc/ieee1275/ofconsole.c.
17551 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
17552 term/ieee1275/ofconsole.c.
17553
17554 * include/grub/powerpc/ieee1275/console.h: Resurrected.
17555
17556 * COPYING: Upgraded to the latest version. Only the address of the
17557 FSF office has changed.
f19dbdb7 17558
efd6e6d5 175592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17560
17561 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17562 kern/ieee1275.c with kern/ieee1275/of.c.
17563
17564 * kern/ieee1275.c: Moved to ...
17565 * kern/ieee1275/of.c: ... here.
17566
8ceafda2 175672005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
17568
17569 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 17570 readability.
8ceafda2 17571
17572 * config.guess: Updated to the latest version from gnulib.
17573 * config.sub: Likewise.
17574 * install.sh: Likewise.
17575 * mkinstalldirs: Likewise.
17576
17577 * include/grub/console.h: Removed. This file is arch-specific. Do
17578 not put this in include/grub.
17579
17580 * include/grub/i386/pc/console.h: Resurrected.
17581
17582 * util/console.c: Include grub/machine/console.h instead of
17583 grub/console.h.
17584 * util/grub-emu.c: Likewise.
17585
267f6cd9 175862005-08-04 Marco Gerards <metgerards@student.han.nl>
17587
17588 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
17589 hardcoded value.
f19dbdb7 17590
267f6cd9 17591 From Vincent Pelletier <subdino2004@yahoo.fr>
17592 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
17593 Redefined to use grub_getwh.
17594 (grub_term): New member named getwh.
17595 (grub_getwh): New prototype.
17596 * kern/term.c (grub_getwh): New function.
17597 * term/i386/pc/console.c (grub_console_getwh): New function.
17598 (grub_console_term): New member `getwh'.
17599 * term/i386/pc/vga.c (grub_vga_getwh): New function.
17600 (grub_vga_term): New member `getwh'.
0b5abe02 17601 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 17602 grub_ssize_t.
17603 (grub_ofconsole_getw): New function.
17604 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
17605 (grub_ofconsole_term): New field named getwh and new initial
17606 value.
17607
3be7266d 176082005-08-03 Hollis Blanchard <hollis@penguinppc.org>
17609
17610 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
17611 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
17612 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
17613 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
17614 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
17615 of <grub/machine/ieee1275.h>.
17616 * commands/ieee1275/reboot.c: Likewise.
17617 * boot/powerpc/ieee1275/ieee1275.c: Move ...
17618 * kern/ieee1275.c: ... to here. All users updated. Change all
17619 parameter structs to use new type `grub_ieee1275_cell_t'.
17620 * term/powerpc/ieee1275/ofconsole.c: Move ...
17621 * term/ieee1275/ofconsole.c: ... to here. All users updated.
17622 * disk/powerpc/ieee1275/ofdisk.c: Move ...
17623 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
17624 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
17625 to return int.
17626 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
17627 Remove unused prototypes. All users updated.
17628 * include/grub/powerpc/ieee1275/console.h: Removed.
17629 * include/grub/powerpc/ieee1275/ieee1275.h: Define
17630 `grub_ieee1275_cell_t'.
17631 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
17632 Cast comparisons with -1 to the correct type.
17633 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
17634 type to match `grub_ieee1275_entry_fn'.
17635
8b5f3938 176362005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
17637
17638 * DISTLIST: Added util/i386/pc/grub-probefs.c.
17639
17640 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
17641 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
17642 partmap/sun.c.
17643 (grub_probefs_SOURCES): New variable.
17644
17645 * util/i386/pc/grub-probefs.c: New file.
17646
17647 * util/i386/pc/grub-setup.c (main): Call
17648 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
17649 grub_hfs_init and grub_jfs_init to initialize the system. Call
17650 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
17651 grub_pc_partition_map_fini to finish the system.
17652
ea409713 176532005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
17654
17655 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
17656 function.
17657 (grub_multiboot_load_elf32): Likewise.
17658 (grub_multiboot_is_elf64): Likewise.
17659 (grub_multiboot_load_elf64): Likewise.
17660 (grub_multiboot_load_elf): Likewise.
17661 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
17662 an ELF32 or ELF64 file.
17663 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
17664
17665 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
17666 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
17667 NULL before calling FS->LABEL.
17668 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
17669 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
17670 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
17671 before calling FS->LABEL.
17672
141a288b 176732005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
17674
17675 * util/i386/pc/grub-install.in (datadir): New variable.
17676 (libdir): Removed.
17677 (pkgdatadir): New variable.
17678 (pkglibdir): Removed.
17679
0d5f8a54 176802005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
17681
17682 * DISTLIST: Added util/i386/pc/grub-install.in.
17683
17684 * util/i386/pc/grub-install.in: New file.
17685
17686 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
17687 (grub_install_SOURCES): Likewise.
17688
17689 * genmk.rb: Added support for scripts.
17690 (Script): New class.
17691 (scripts): New variable.
17692
17693 * Makefile.in (install-local): Install sbin_SCRIPTS by
17694 INSTALL_SCRIPT.
17695 (uninstall): Remove sbin_SCRIPTS.
17696
17697 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
17698 device, try to get a GRUB device by
17699 grub_util_biosdisk_get_grub_dev.
17700 Free DEST_DEV.
17701
17702 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
17703 description for --device-map.
17704
5f968e1e 177052005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17706
17707 Change the semantics of variable hooks. They now return strings
17708 instead of error values.
f19dbdb7 17709
5f968e1e 17710 * util/i386/pc/grub-setup.c: Include grub/env.h.
17711 (setup): Use grub_device_set_root instead of grub_env_set.
17712
17713 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
17714 grub_env_get instead of grub_device_set_root and
17715 grub_device_get_root, respectively.
17716
17717 * kern/main.c (grub_env_write_root): New function.
17718 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
17719 grub_env_set instead of grub_device_set_root.
17720
17721 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
17722 many variables.
17723 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
17724 rather than calling ENV->WRITE_HOOK afterwards.
17725 (grub_env_get): Return the result of ENV->READ_HOOK rather than
17726 passing a pointer of a pointer.
17727 (grub_register_variable_hook): Change the types of "read_hook" and
17728 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
17729 respectively.
17730 Allocate the default empty string on the heap, because this string
17731 may be freed later.
17732
17733 * kern/device.c: Include grub/env.h.
17734 (grub_device_set_root): Removed.
17735 (grub_device_get_root): Likewise.
17736 (grub_device_open): Use grub_env_get instead of
17737 grub_device_get_root.
17738
17739 * include/grub/env.h (grub_env_read_hook_t): New type.
17740 (grub_env_write_hook_t): Likewise.
17741 (grub_env_var): Change the types of "read_hook" and "write_hook"
17742 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
17743 (grub_register_variable_hook): Likewise.
17744
17745 * include/grub/device.h (grub_device_set_root): Removed.
17746 (grub_device_set_root): Likewise.
17747
17748 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
17749 make sure that DIRNAME terminates with '/', so that
17750 grub_fat_find_dir will fail if PATH is not a directory.
17751
17752 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
17753 from DIRNAME.
17754 Use the qualifier auto for print_files and print_files_long.
17755 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
17756 as a regular file.
17757 Put a newline only if there is no error.
17758 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
17759 used.
17760
896f0afd 177612005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17762
17763 * kern/partition.c (grub_partition_probe): Initialize PART to
17764 NULL. Otherwise, when no partition map is registered, this returns
17765 a garbage.
17766
b28b81b2 177672005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
17768
17769 * partmap/apple.c (apple_partition_map_iterate): Check if POS
17770 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
17771 valid.
17772
5f3607e0 177732005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
17774
17775 * commands/ls.c (grub_ls_list_disks): Print the filesystem
17776 information on each device, if it does not have partitions. Print
17777 "Device" instead of "Disk", because this function is not specific
17778 to disk devices.
17779
17780 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
17781 static to ensure that it is put on the memory rather than a
17782 register.
17783
502c87e8 177842005-07-17 Yoshinori Okuji <okuji@enbug.org>
17785
17786 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
17787 (grub_cat_init): Likewise.
17788 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
17789 (options): Likewise.
17790 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17791 (grub_configfile_init): Likewise.
17792 * font/manager.c (GRUB_MOD_INIT): Likewise.
17793 * commands/help.c (GRUB_MOD_INIT): Likewise.
17794 (grub_help_init): Likewise.
17795 * normal/command.c (grub_command_init): Likewise.
17796 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
17797 * disk/loopback.c (grub_loop_init): Likewise.
17798 (GRUB_MOD_INIT): Likewise.
17799 * commands/ls.c (grub_ls_init): Likewise.
17800 (GRUB_MOD_INIT): Likewise.
17801 (options): Likewise.
17802 * commands/boot.c (grub_boot_init): Likewise.
17803 (GRUB_MOD_INIT): Likewise.
17804 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
17805 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
17806 (GRUB_MOD_INIT): Likewise.
17807 * commands/cmp.c (grub_cmp_init): Likewise.
17808 (GRUB_MOD_INIT): Likewise.
17809
17810 * normal/arg.c: Use <> instead of "" to include header files.
17811 (SHORT_ARG_HELP): New macro.
17812 (SHORT_ARG_USAGE): Likewise.
17813 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
17814 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
17815 descriptions.
17816 (find_short): Check if C is 'h' or 'u' explicitly.
17817 (grub_arg_show_help): Use space characters instead of tabs. Treat
17818 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
17819 are shown with --help and --usage only if they are not used for
17820 the command itself.
17821 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
17822 'h' and 'u'.
17823
17824 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
17825 const into "longarg". Change the type of "shortarg" to int.
17826
f806d18e 178272005-07-17 Yoshinori Okuji <okuji@enbug.org>
17828
17829 * boot/i386/pc/boot.S (boot_drive_check): New label.
17830
17831 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
17832 macro.
17833
17834 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
17835 which do not pass a boot drive correctly. Copied from GRUB Legacy.
17836
e293232b 178372005-07-17 Yoshinori Okuji <okuji@enbug.org>
17838
17839 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
17840 When turning off Gate A20, skip the check and return immediately,
17841 because this is not fatal usually.
17842
ebedfd00 178432005-07-17 Yoshinori Okuji <okuji@enbug.org>
17844
17845 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
17846 be 0x7C00 instead of 0x8000.
17847
17848 * boot/i386/pc/pxeboot.S: Rewritten.
17849
17850 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
17851 EXT_C.
17852 (gate_a20_check_state): Read a byte from 0x108000. Invert the
17853 result.
17854
654fc59f 178552005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
17856
17857 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
17858 robustness. This routine now supports a BIOS call and System
17859 Control Port A to modify the gate A20.
17860
17861 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17862 Increased to 0x440.
17863
09f9923f 178642005-07-12 Hollis Blanchard <hollis@penguinppc.org>
17865
17866 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
17867 device path and resulting ihandle.
17868 (grub_ofdisk_close): dprintf the ihandle being closed.
17869 (grub_ofdisk_read): dprintf function parameters.
17870 * kern/mm.c (grub_mm_init_region): Likewise.
17871 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
17872 (grub_linux_boot): dprintf the Linux entry point, initrd address and
17873 size, and boot arguments.
17874 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
17875 before loading into memory.
17876 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
17877 before loading into memory.
17878
7ef504d8 178792005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
17880
17881 * kern/mm.c: Added much documentation.
17882 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
17883 8, set to 5 instead of 8.
17884
e0f050c2 178852005-07-10 Yoshinori Okuji <okuji@enbug.org>
17886
17887 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
17888
17889 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
17890 (grub_mkdevicemap_SOURCES): New variable.
17891
17892 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
17893 lib/device.c of GRUB Legacy.
17894
7224189a 178952005-07-10 Yoshinori Okuji <okuji@enbug.org>
17896
17897 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
17898 instead of PATH is NULL.
17899
68c864eb 179002005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
17901
17902 * commands/cmp.c (BUFFER_SIZE): New macro.
17903 (grub_cmd_cmp): Close the right file at the right time. Compare
17904 only data just read. Don't report files of different size as
17905 identical. Dynamically allocate buffers. Move variable
17906 declarations at the beginning of function.
17907
e6f3e614 179082005-07-09 Yoshinori Okuji <okuji@enbug.org>
17909
17910 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
17911 reverse.
17912
f8f1559a 179132004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
17914
17915 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
17916 when backspace is pressed at beginning of line.
17917
39c9d41d 179182005-07-03 Yoshinori Okuji <okuji@enbug.org>
17919
17920 * DISTLIST: Added genfslist.sh.
17921
17922 * normal/main.c (fs_module_list): New variable.
17923 (autoload_fs_module): New function.
17924 (read_fs_list): Likewise.
17925 (grub_normal_execute): Call read_fs_list.
17926
17927 * kern/fs.c (grub_fs_autoload_hook): New variable.
17928 (grub_fs_probe): Added support for auto-loading.
17929
17930 * include/grub/normal.h (struct grub_fs_module_list): New struct.
17931 (grub_fs_module_list_t): New type.
17932
17933 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
17934 (grub_fs_autoload_hook): New prototype.
17935
17936 * genfslist.sh: New file.
f19dbdb7 17937
39c9d41d 17938 * genmk.rb: Added a rule to generate a filesystem list.
17939
121c1d83 179402005-06-30 Marco Gerards <metgerards@student.han.nl>
17941
17942 * configure.ac: Fix the test for cross-compiling.
17943
17944 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
17945 define GRUB_UTIL anymore.
17946
17947 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
17948 so this function works on other systems than just big endian.
17949 (load_modules): Likewise.
17950 (add_segments): Likewise.
17951
e75d76e1 179522005-06-23 Hollis Blanchard <hollis@penguinppc.org>
17953
17954 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
17955 contains `l' modifier, get a long from va_arg().
17956
50b5a0a7 179572005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
17958
17959 * kern/mm.c (grub_free): If the next free block which is being
17960 merged is the first free block, set the first block to the block
17961 being freed.
17962 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
17963
89371b20 179642005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17965
17966 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
17967 `grub_ieee1275_chosen'.
17968
168d6e58 179692005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17970
17971 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
17972 (grub_ieee1275_chosen): New variable.
17973 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
17974 `chosen'.
17975 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
17976 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
17977 Rename first argument to `phandle' for consistency.
17978 (grub_ieee1275_get_property_length): Likewise.
17979 (grub_ieee1275_next_property): Likewise. Change type of first argument
17980 to grub_ieee1275_phandle_t.
17981 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
17982 Move export next to declaration.
17983 (grub_ieee1275_chosen): New variable.
17984 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
17985 Correct cosmetic typo.
17986 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
17987 `grub_ieee1275_chosen'.
17988 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
17989 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
17990 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
17991 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
17992 `grub_ieee1275_chosen'.
17993
ca5baa3f 179942005-05-10 Hollis Blanchard <hollis@penguinppc.org>
17995
17996 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
17997 /chosen/bootargs.
17998 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
17999 /chosen/bootargs as "variable=value" pairs.
18000
708b345f 180012005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
18002
18003 * include/grub/misc.h (grub_dprintf): New macro.
18004 (grub_real_dprintf): New prototype.
18005 (grub_strword): Likewise.
18006 (grub_iswordseparator): Likewise.
18007 * kern/misc.c (grub_real_dprintf): New function.
18008 (grub_strword): Likewise.
18009 (grub_iswordseparator): Likewise.
18010
f4c5e67c 180112005-04-30 Hollis Blanchard <hollis@penguinppc.org>
18012
18013 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
18014 (roundup): Remove macro.
18015 (grub_ieee1275_flags): Make static.
18016 (grub_ieee1275_realmode): Remove.
18017 (grub_ieee1275_test_flag): New function.
18018 (grub_ieee1275_set_flag): Likewise.
18019 (find_options): Rename to `grub_ieee1275_find_options'; update
18020 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
18021 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
18022 (cmain): New prototype.
18023 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
18024 `grub_ieee1275_flags' directly.
18025 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18026 machine/biosdisk.h.
18027 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18028 Don't include grub/machine/init.h.
18029 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18030 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18031 Remove prototype.
18032 (grub_ieee1275_realmode): Likewise.
18033 (grub_ieee1275_flag): New enum.
18034 (grub_ieee1275_test_flag): New prototype.
18035 (grub_ieee1275_set_flag): New prototype.
18036 * include/grub/powerpc/ieee1275/init.h: Remove file.
18037 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18038 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18039 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18040 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18041 comment.
18042 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18043 `grub_ieee1275_test_flag'.
18044 (grub_ieee1275_encode_devname): Likewise.
18045
ed16607e 180462005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18047
18048 * include/grub/powerpc/ieee1275/ieee1275.h
18049 (grub_ieee1275_encode_devname): New prototype.
18050 (grub_ieee1275_get_filename): Likewise.
18051 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18052 function.
18053 (grub_set_prefix): Likewise.
18054 (grub_machine_init): Call grub_set_prefix.
18055 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18056 (grub_parse_type): New enum.
18057 (grub_ieee1275_get_devargs): New function.
18058 (grub_ieee1275_get_devname): Likewise.
18059 (grub_ieee1275_parse_args): Likewise.
18060 (grub_ieee1275_get_filename): Likewise.
18061 (grub_ieee1275_encode_devname): Likewise.
18062
be369920 180632005-03-30 Marco Gerards <metgerards@student.han.nl>
18064
18065 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18066 `grub_loader_unset'.
18067
a5ce3a4a 180682005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18069
18070 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18071 instead of grub_ieee1275_interpret.
18072 (grub_halt_init): New function.
18073 (grub_halt_fini): Likewise.
18074 (GRUB_MOD_INIT): Correct message grammar.
18075 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18076 instead of grub_ieee1275_interpret.
18077 (grub_reboot_init): New function.
18078 (grub_reboot_fini): Likewise.
18079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18080 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18081 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18082 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18083 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18084 function.
18085 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18086 Add prototype.
18087 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18088 prototype.
18089 (grub_halt): Likewise.
18090 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18091 (cmain): Remove __attribute__((unused)).
18092 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18093 (grub_heap_len): Likewise.
18094 (grub_machine_fini): New function.
18095 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18096 (grub_halt): Likewise.
18097 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
18098 function.
18099 * util/powerpc/ieee1275/misc.c: New file.
18100
0058f771 181012005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18102
18103 * DISTLIST: New file.
18104 * gendistlist.sh: Likewise.
f19dbdb7 18105
0058f771 18106 * Makefile.in (COMMON_DISTFILES): Removed.
18107 (BOOT_DISTFILES): Likewise.
18108 (CONF_DISTFILES): Likewise.
18109 (DISK_DISTFILES): Likewise.
18110 (FS_DISTFILES): Likewise.
18111 (INCLUDE_DISTFILES): Likewise.
18112 (KERN_DISTFILES): Likewise.
18113 (LOADER_DISTFILES): Likewise.
18114 (TERM_DISTFILES): Likewise.
18115 (UTIL_DISTFILES): Likewise.
18116 (DISTFILES): Likewise.
18117 (uninstall): Uninstall files in $(pkgdata_DATA).
18118 (DISTLIST): New target.
18119 (distdir): Use the contents of the file DISTLIST to get a list of
18120 distributed files.
18121
46b3b8a5 181222005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18123
18124 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
18125 descriptor. This is ported from GRUB Legacy.
18126
18127 * gencmdlist.sh: Added an extra semicolon to make it work with
18128 old sed versions. Reported by Robert Bihlmeyer
18129 <robbe@orcus.priv.at>.
18130
5822ff87 181312005-03-08 Yoshinori Okuji <okuji@enbug.org>
18132
18133 Automatic loading of commands is supported.
f19dbdb7 18134
5822ff87 18135 * normal/main.c (read_command_list): New function.
18136 (grub_normal_execute): Call read_command_list.
18137
18138 * normal/command.c (grub_register_command): Return zero or CMD.
18139 Allocate CMD->NAME from the heap.
18140 Initialize CMD->MODULE_NAME to zero.
18141 Find the same name as well. If the same command is found and it is
18142 a dummy command, overwrite members. If it is not a dummy command,
18143 return zero.
18144 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
18145 (grub_command_find): If a dummy command is found, load a module
18146 and retry to find a command only once.
18147
18148 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
18149 make sure that each command is loaded.
18150
18151 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
18152 macro.
18153 (struct grub_command): Remove const from the member `name'.
18154 Add a new member `module_name'.
18155 (grub_register_command): Return grub_command_t.
18156
18157 * commands/help.c (grub_cmd_help): Call grub_command_find to make
18158 sure that each command is loaded.
18159
18160 * genmk.rb (PModule::rule): Specify a module name without the
18161 suffix ".mod" to gencmdlist.sh.
18162
7b1f4b57 181632005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18164
18165 * gencmdlist.sh: New file.
f19dbdb7 18166
7b1f4b57 18167 * genmk.rb (PModule::rule): Generate a rule for a command list.
18168 Clean command.lst.
18169 Generate command.lst from $(COMMANDFILES).
18170
18171 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
18172 (DATA): Added $(pkgdata_DATA).
18173 (install-local): Install files in $(pkgdata_DATA).
18174
062aaf39 181752005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18176
18177 * term/i386/pc/vga.c (debug_command): Removed.
18178 (GRUB_MOD_INIT): Do not register the command "debug".
18179
18180 From Hollis Blanchard:
18181 * commands/configfile.c: New file.
18182 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18183 commands/configfile.c.
18184 (pkgdata_MODULES): Added configfile.mod.
18185 (configfile_mod_SOURCES): New variable.
18186 (configfile_mod_CFLAGS): Likewise.
18187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18188 commands/configfile.c.
18189 (pkgdata_MODULES): Added configfile.mod.
18190 (configfile_mod_SOURCES): New variable.
18191 (configfile_mod_CFLAGS): Likewise.
18192 * util/grub-emu.c (main): Call grub_configfile_init and
18193 grub_configfile_fini.
18194 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
18195 prototype.
18196 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 18197
cee01aa6 181982005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18199
18200 * normal/arg.c (grub_arg_show_help): Do not show the bug report
18201 address.
18202
18203 * commands/help.c (grub_cmd_help): Do not print newlines after
18204 the last command in print_command_help.
18205
93f3a1d8 182062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18207
18208 * commands/default.h: New file.
18209 * commands/timeout.h: Likewise.
18210 * normal/context.c: Likewise.
f19dbdb7 18211
93f3a1d8 18212 * util/misc.c: Do not include sys/times.h.
18213 Include sys/time.h and grub/machine/time.h.
18214 (grub_get_rtc): Rewritten with gettimeofday.
18215
18216 * util/grub-emu.c (main): Call grub_default_init and
18217 grub_timeout_init before grub_normal_init, and call
18218 grub_timeout_fini and grub_default_fini after grub_main.
18219
18220 * util/console.c (grub_ncurses_checkkey): Return the read
18221 character or -1.
18222
18223 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
18224 timeouts.
18225
18226 * normal/main.c (read_config_file): Push MENU. If this fails,
18227 print an error and wait for a user input.
18228 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
18229 If a menu is empty or an error occurs, pop MENU.
18230 (grub_normal_execute): Pop and free MENU after grub_menu_run
18231 returns.
18232
18233 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
18234
18235 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
18236 include time.h.
18237 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18238 without GRUB_UTIL.
18239 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
18240 time.h.
18241 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18242 without GRUB_UTIL.
18243
18244 * include/grub/normal.h (struct grub_menu_list): New struct.
18245 (grub_menu_list_t): New type.
18246 (struct grub_context): New struct.
18247 (grub_context_t): New type.
18248 (grub_register_command): Got rid of EXPORT_FUNC.
18249 (grub_unregister_command): Likewise.
18250 (grub_context_get): New prototype.
18251 (grub_context_get_current_menu): Likewise.
18252 (grub_context_push_menu): Likewise.
18253 (grub_context_pop_menu): Likewise.
18254 [GRUB_UTIL] (grub_default_init): Likewise.
18255 [GRUB_UTIL] (grub_default_fini): Likewise.
18256 [GRUB_UTIL] (grub_timeout_init): Likewise.
18257 [GRUB_UTIL] (grub_timeout_fini): Likewise.
18258
18259 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
18260 commands/timeout.c and normal/context.c.
18261 (pkgdata_MODULES): Added default.mod and timeout.mod.
18262 (normal_mod_SOURCES): Added normal/context.c.
18263 (default_mod_SOURCES): New variable.
18264 (default_mod_CFLAGS): Likewise.
18265 (timeout_mod_SOURCES): Likewise.
18266 (timeout_mod_CFLAGS): Likewise.
18267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
18268 conf/i386-pc.rmk.
18269 (pkgdata_MODULES): Added default.mod and timeout.mod.
18270 (normal_mod_SOURCES): Added normal/context.c.
18271 (default_mod_SOURCES): New variable.
18272 (default_mod_CFLAGS): Likewise.
18273 (timeout_mod_SOURCES): Likewise.
18274 (timeout_mod_CFLAGS): Likewise.
18275
18276 * Makefile.in (all-local): Added $(MKFILES).
18277
4ed2e1dd 182782005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
18279
18280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
18281 (grub_emu_SOURCES): Likewise.
18282 (pkgdata_MODULES): Add `sun.mod'.
18283 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18285 `partmap/sun.c'.
18286 (pkgdata_MODULES): Add `sun.mod'.
18287 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18288 * include/grub/partition.h (grub_sun_partition_map_init): New
18289 prototype.
18290 (grub_sun_partition_map_fini): Likewise.
18291 * partmap/sun.c: New file.
18292 * util/grub-emu.c (main): Initialize and de-initialize the sun
18293 partitionmap support.
18294
4d4e372e 182952005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
18296
18297 This implements an Emacs-like menu entry editor.
f19dbdb7 18298
4d4e372e 18299 * normal/menu_entry.c: New file.
f19dbdb7 18300
4d4e372e 18301 * util/console.c (grub_ncurses_putchar): Translate some Unicode
18302 characters to ASCII.
18303 (saved_char): New variable.
18304 (grub_ncurses_checkkey): Rewritten completely.
18305 (grub_ncurses_getkey): Likewise.
18306 (grub_ncurses_init): Call raw instead of cbreak.
18307
18308 * normal/menu.c (print_entry): Do not put a space.
18309 (init_page): Renamed to ...
18310 (grub_menu_init_page): ... this. All callers changed.
18311 (edit_menu_entry): Removed.
18312 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
18313
18314 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
18315
18316 * kern/misc.c (grub_vprintf): Call grub_refresh.
18317
18318 * normal/menu.c (DISP_LEFT): Renamed to ...
18319 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
18320 * normal/menu.c (DISP_UP): Renamed to ...
18321 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
18322 * normal/menu.c (DISP_RIGHT): Renamed to ...
18323 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
18324 * normal/menu.c (DISP_DOWN): Renamed to ...
18325 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
18326 * normal/menu.c (DISP_HLINE): Renamed to ...
18327 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
18328 * normal/menu.c (DISP_VLINE): Renamed to ...
18329 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
18330 * normal/menu.c (DISP_UL): Renamed to ...
18331 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
18332 * normal/menu.c (DISP_UR): Renamed to ...
18333 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
18334 * normal/menu.c (DISP_LL): Renamed to ...
18335 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
18336 * normal/menu.c (DISP_LR): Renamed to ...
18337 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
18338 * normal/menu.c (TERM_WIDTH): Renamed to ...
18339 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
18340 * normal/menu.c (TERM_HEIGHT): Renamed to ...
18341 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
18342 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
18343 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
18344 * normal/menu.c (TERM_MARGIN): Renamed to ...
18345 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
18346 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
18347 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
18348 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
18349 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
18350 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
18351 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
18352 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
18353 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
18354 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
18355 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
18356 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
18357 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
18358 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
18359 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
18360 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
18361 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
18362 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
18363 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
18364 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
18365 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
18366 All callers changed.
18367
18368 * include/grub/normal.h: New prototype.
18369
18370 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18371 normal/menu_entry.c.
18372 (normal_mod_SOURCES): Likewise.
18373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18374 (normal_mod_SOURCES): Likewise.
18375
e6b92c8a 183762005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
18377
18378 * include/grub/normal.h (grub_halt_init): New prototype.
18379 (grub_halt_fini): Likewise.
18380 (grub_reboot_init): Likewise.
18381 (grub_reboot_fini): Likewise.
18382
18383 * util/grub-emu.c: Include signal.h.
18384 (main_env): New global variable.
18385 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
18386 catch C-c.
18387 (grub_machine_fini): New function.
18388 (main): Call grub_halt_init and grub_reboot_init before
18389 grub_main, and grub_reboot_fini and grub_halt_fini after it.
18390 Call setjmp with MAIN_ENV to go back afterwards.
18391 Call grub_machine_fini right before return.
18392
18393 * include/grub/util/misc.h: Include setjmp.h.
18394 (main_env): New prototype.
18395
18396 * include/grub/kernel.h (grub_machine_fini): New prototype.
18397 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
18398 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
18399
18400 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
18401 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
18402 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 18403
e6b92c8a 18404 * util/i386/pc/misc.c: New file.
f19dbdb7 18405
e6b92c8a 18406 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18407 util/i386/pc/misc.c, commands/i386/pc/halt.c and
18408 commands/i386/pc/reboot.c.
18409
c642636f 184102005-02-14 Guillem Jover <guillem@hadrons.org>
18411
18412 * include/grub/dl.h (grub_dl_check_header): New prototype.
18413 (grub_arch_dl_check_header): Change return type to grub_err_t,
18414 remove size parameter and export function. Update all callers.
18415 * kern/dl.c (grub_dl_check_header): New function.
18416 (grub_dl_load_core): Use `grub_dl_check_header' instead of
18417 `grub_arch_dl_check_header'. Check ELF type. Check if sections
18418 are inside the core.
18419 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
18420 independent ELF header checks.
18421 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18422 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
18423 `grub_dl_check_header' instead of explicit checks. Check for the
18424 ELF type.
18425 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
18426 `grub_dl_check_header' instead of explicit checks. Remove arch
18427 specific ELF header checks.
18428
e6b92c8a 18429 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
18430 argument SIZE.
18431
5eabe94b 184322005-02-13 Hollis Blanchard <hollis@penguinppc.org>
18433
18434 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
18435 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
18436
1b14a681 184372005-02-12 Hollis Blanchard <hollis@penguinppc.org>
18438
18439 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 18440 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 18441 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 18442 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 18443 * partmap/amiga.c (amiga_partition_map_iterate): Return
18444 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
18445 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18446
aca108aa 184472005-02-01 Guillem Jover <guillem@hadrons.org>
18448
18449 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
18450 help info.
18451
c9f9c556 184522005-01-31 Marco Gerards <metgerards@student.han.nl>
18453
18454 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
18455 Removed prototype.
18456 (grub_rescue_cmd_linux): New prototype.
18457 (grub_rescue_cmd_initrd): Likewise.
18458 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
18459 `bi_rec'.
18460 (grub_linux_release_mem): Release the memory for the initrd.
18461 (grub_load_linux): Renamed from this...
18462 (grub_rescue_cmd_linux): ...To this. Changed all callers.
18463 Changed `entry' not to be static. Loop over memory regions to
18464 find another one when the default fails.
18465 (grub_rescue_cmd_initrd): New function.
18466 (grub_linux_init): Remove function.
18467 (grub_linux_fini): Likewise.
18468 (GRUB_MOD_INIT): Register `initrd'.
18469 (GRUB_MOD_FINI): Unregister `initrd'.
18470 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
18471 Function removed.
18472 (grub_linux_normal_fini): Likewise.
18473 (GRUB_MOD_INIT): Register `initrd'.
18474 (GRUB_MOD_FINI): Unregister `initrd'.
18475
990cf3aa 184762005-01-31 Marco Gerards <metgerards@student.han.nl>
18477
18478 * commands/help.c: New file.
18479 * normal/arg.c (show_help): Renamed to...
18480 (grub_arg_show_help): ... this.
18481 * commands/i386/pc/halt.c: New file.
18482 * commands/i386/pc/reboot.c: Likewise.
18483 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
18484 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
18485 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
18486 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
18487 variables.
18488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18489 `commands/help.c'.
18490 (pkgdata_MODULES): Add `help.mod'.
18491 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
18492 * grub/i386/pc/init.h (grub_reboot): New prototype.
18493 (grub_halt): Likewise.
18494 * include/grub/normal.h (grub_arg_show_help): New prototype.
18495 (grub_help_init): Likewise.
18496 (grub_help_fini): Likewise.
18497 * util/grub-emu.c (main): Initialize and deinitialize the help
18498 command.
18499
18500 * normal/cmdline.c (grub_cmdline_get): Doc fix.
18501
18502 * normal/command.c (grub_command_init): Fixed the description of
18503 the `set' and `unset' commands.
18504
185052005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 18506
18507 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
18508 function.
18509 * commands/ieee1275/halt.c: New file.
18510 * commands/ieee1275/reboot.c: Likewise.
18511 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
18512 `__attribute__ ((unused))'. Some GCS related fixed.
18513 (grub_suspend_init) [GRUB_UTIL]: Function removed.
18514 (grub_suspend_fini): Likewise.
18515 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
18516 and `halt.mod'.
18517 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
18518 (halt_mod_CFLAGS): New variables.
18519 * include/grub/powerpc/ieee1275/ieee1275.h
18520 (grub_ieee1275_interpret): New prototype.
18521
1ab09cc7 185222005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
18523
18524 * include/grub/misc.h (memmove): New prototype.
18525 (memcpy): Likewise.
18526
8b8cbdb2 185272005-01-22 Hollis Blanchard <hollis@penguinppc.org>
18528
18529 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
18530 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
18531
e3741a27 185322005-01-22 Marco Gerards <metgerards@student.han.nl>
18533
18534 * kern/misc.c (grub_strndup): Function rewritten.
18535
776bd780 185362005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
18537
18538 * normal/menu.c (TERM_WIDTH): Macro redefined.
18539 (TERM_TOP_BORDER_Y): Likewise.
18540 (draw_border): Replaced while-loop by a for-loop. Make the number
18541 of lines consistent with the number of lines displayed in
18542 print_entries. Added a margin below the rectangle.
18543 (print_entry): Make the entry fit in the rectangle.
18544 (print_entries): Display the scroll arrows next to the right
18545 border.
18546
78026bce 185472005-01-21 Marco Gerards <metgerards@student.han.nl>
18548
18549 * fs/minix.c (grub_minix_find_file): Reserve more space for
18550 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
18551 `grub_strncpy' to copy `path' into it.
18552
67bbaf0f 185532005-01-21 Marco Gerards <metgerards@student.han.nl>
18554
18555 Add the loopback device, a device via which files can be accessed
18556 as devices.
f19dbdb7 18557
67bbaf0f 18558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
18559 (pkgdata_MODULES): Add loopback.mod.
18560 (loopback_mod_SOURCES): New variable.
18561 (loopback_mod_CFLAGS): Likewise.
18562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18563 `disk/loopback.c'.
18564 (pkgdata_MODULES): Add loopback.mod.
18565 (loopback_mod_SOURCES): New variable.
18566 (loopback_mod_CFLAGS): Likewise.
18567 * disk/loopback.c: new file.
18568 * include/grub/normal.h (grub_loop_init): New prototype.
18569 (grub_loop_fini): New prototype.
18570 * util/grub-emu.c (main): Initialize and de-initialize loopback
18571 support.
18572 * include/grub/disk.h (grub_disk_dev_id): Add
18573 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
18574
6f1c18bd 185752005-01-20 Hollis Blanchard <hollis@penguinppc.org>
18576
18577 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
18578 function.
18579 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
18580 (suspend_mod_SOURCES): New variable.
18581 (suspend_mod_CFLAGS): Likewise.
18582 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
18583 New prototype.
18584 * commands/ieee1275/suspend.c: New file.
18585
b38551da 185862005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18587
18588 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 18589 ((unused))' to `__attribute__ ((used))'.
b38551da 18590 (GRUB_MOD_FINI): Likewise.
18591 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
18592 * genmk.rb (PModule): Assign space to common symbols when linking
18593 modules.
18594
777aff39 185952005-01-20 Marco Gerards <metgerards@student.han.nl>
18596
18597 * include/grub/mm.h (grub_mm_init_region): Change the type of the
18598 `unsigned' arguments to `grub_size_t'.
18599 (grub_malloc): Likewise.
18600 (grub_realloc): Likewise.
18601 (grub_memalign): Likewise.
18602 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
18603 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18604 * util/misc.c (grub_malloc): Likewise.
18605 (grub_realloc): Likewise.
18606 * kern/mm.c (get_header_from_pointer): Change the casts to
18607 `unsigned' into a cast to `grub_size_t'.
18608
18609 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
18610 point to `currnode' when `currnode' is changed.
18611
18612 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
18613 Schottelius <nico-linux@schottelius.org>.
18614
d0ff18e1 186152005-01-09 Hollis Blanchard <hollis@penguinppc.org>
18616
18617 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
18618 (note_path): Remove variable.
18619 (GRUB_IEEE1275_NOTE_NAME): New macro.
18620 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
18621 (grub_ieee1275_note_hdr): New structure.
18622 (grub_ieee1275_note_desc): Likewise.
18623 (grub_ieee1275_note): Likewise.
18624 (load_note): Remove `dir' argument. All callers updated. Remove
18625 `note_img' and `path'. Do not load a file from `note_path'.
18626 Initialize a struct grub_ieee1275_note and write that to `out'.
18627 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
18628
4ca7004c 186292005-01-05 Marco Gerards <metgerards@student.han.nl>
18630
18631 * util/misc.c (grub_util_read_image): Revert last change. It
18632 called `grub_util_read_at', which seeks from the beginning of the
18633 file.
18634
0b412211 186352005-01-04 Hollis Blanchard <hollis@penguinppc.org>
18636
18637 * TODO: Add note about endianness in grub-mkimage.
18638 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
18639 section.
18640 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
18641 (grub_mkimage_SOURCES): New target.
18642 * include/grub/kernel.h (grub_start_addr): Remove variable.
18643 (grub_end_addr): Likewise.
18644 (grub_total_module_size): Likewise.
18645 (grub_kernel_image_size): Likewise.
18646 (GRUB_MODULE_MAGIC): New constant.
18647 (grub_module_info): New structure.
18648 (grub_arch_modules_addr): New prototype.
18649 (grub_get_end_addr): Remove prototype.
18650 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
18651 * include/grub/powerpc/ieee1275/kernel.h: New file.
18652 * include/grub/util/misc.h (grub_util_get_fp_size): New
18653 prototype.
18654 (grub_util_read_at): Likewise.
18655 (grub_util_write_image_at): Likewise.
18656 * kern/main.c (grub_get_end_addr): Remove function.
18657 (grub_load_modules): Call grub_arch_modules_addr instead of using
18658 grub_end_addr. Look for a grub_module_info struct in memory. Use
18659 the grub_module_info fields instead of calling grub_get_end_addr
18660 as loop conditions. Move grub_add_unused_region code here.
18661 (grub_add_unused_region): Remove function.
18662 * kern/i386/pc/init.c: Include grub/cache.h.
18663 (grub_machine_init): Remove call to grub_get_end_addr. Remove
18664 one call to add_mem_region.
18665 (grub_arch_modules_addr): New function.
18666 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
18667 (grub_total_module_size): Likewise.
18668 Include grub/machine/kernel.h.
18669 (grub_arch_modules_addr): New function.
18670 * util/grub-emu.c (grub_end_addr): Remove variable.
18671 (grub_total_module_size): Likewise.
18672 (grub_arch_modules_addr): New function.
18673 * util/misc.c: Include unistd.h.
18674 (grub_util_get_fp_size): New function.
18675 (grub_util_read_at): Likewise.
18676 (grub_util_write_image_at): Likewise.
18677 (grub_util_read_image): Call grub_util_read_at.
18678 (grub_util_write_image): Call grub_util_write_image_at.
18679 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
18680 additional memory in kernel_img for a struct grub_module_info.
18681 Fill in that grub_module_info.
18682 * util/powerpc/ieee1275/grub-mkimage.c: New file.
18683
458786f8 186842005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18685
18686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
18687 New function.
18688 * include/grub/powerpc/ieee1275/ieee1275.h
18689 (grub_ieee1275_milliseconds): New prototype.
18690 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
18691 Change to 1000.
18692 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
18693 grub_ieee1275_milliseconds.
18694
ac507d1b 186952005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18696
18697 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
18698 variable.
18699 (find_options): New function.
18700 (cmain): Call find_options.
18701 * include/grub/powerpc/ieee1275/ieee1275.h
18702 (grub_ieee1275_realmode): New extern variable.
18703 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
18704 grub_map if grub_ieee1275_realmode is false.
18705
6b8fd1c4 187062004-12-29 Marco Gerards <metgerards@student.han.nl>
18707
18708 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
18709 lines are inserted and make it work like readline. Reported by
18710 Vincent Pelletier <subdino2004@yahoo.fr>.
18711
8514a1e0 187122004-12-28 Marco Gerards <metgerards@student.han.nl>
18713
18714 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
18715
18716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
18717 `kern/powerpc/cache.S'.
18718
924b6140 187192004-12-27 Marco Gerards <metgerards@student.han.nl>
18720
18721 * genmk.rb: Handle the `Program' class in the main loop. Written
18722 by Johan Rydberg <jrydberg@gnu.org>.
18723 (Program): New class.
18724 (programs): New variable.
18725 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
18726 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
18727 instead of "grub/kernel.h". Include <grub/machine/init.h>.
18728 (help_arch): Function removed.
18729 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
18730 `powerpc/libgcc.h' and `loader.h'.
18731 (pkgdata_PROGRAMS): New variable.
18732 (sbin_UTILITIES): Variable removed.
18733 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
18734 (grubof_SOURCES): Variable re-defined so it only includes the
18735 core functionality.
18736 (grubof_CFLAGS): Remove `-DGRUBOF'.
18737 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
18738 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
18739 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
18740 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
18741 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
18742 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
18743 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
18744 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
18745 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
18746 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
18747 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18748 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
18749 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
18750 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
18751 (pc_mod_CFLAGS): New variables.
18752 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
18753 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
18754 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
18755 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
18756 Moved from here...
18757 * include/grub/i386/pc/init.h (grub_os_area_addr)
18758 (rub_os_area_size): ... to here.
18759 * include/grub/powerpc/ieee1275/ieee1275.h
18760 (grub_ieee1275_entry_fn): Export symbol.
18761 * include/grub/powerpc/ieee1275/init.h: New file.
18762 * include/grub/powerpc/libgcc.h: Likewise.
18763 * include/grub/cache.h: Likewise.
18764 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
18765 <hollis@penguinppc.org>.
18766 * kern/dl.c: Include <grub/cache.h>.
18767 (grub_dl_flush_cache): New function.
18768 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
18769 for this module.
18770 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
18771 (grub_console_init): Removed prototypes.
18772 (grub_machine_init): Don't initialize the modules anymore.
18773 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
18774 static.
18775 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
18776 Macro undef removed.
18777 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
18778 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
18779 relocation `R_PPC_REL32'. Return an error when the relocation is
18780 unknown.
18781 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
18782 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
18783 * util/misc.c (grub_arch_sync_caches): Likewise.
18784
e4b47e0c 187852004-12-19 Marco Gerards <metgerards@student.han.nl>
18786
18787 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
18788 `symlist.c', add `grubof_symlist.c'.
18789 (symlist.c): Variable removed.
18790 (grubof_HEADERS): Variable added.
18791 (grubof_symlist.c): New target.
18792 (kernel_syms.lst): Use `grubof_HEADERS' instead of
18793 `kernel_img_HEADERS'.
18794 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
18795 * kern/powerpc/dl.c: New file.
18796 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
18797 Function removed.
18798 (grub_arch_dl_relocate_symbols): Likewise.
18799 (grub_register_exported_symbols): Likewise.
18800
4ceb3636 188012004-12-13 Marco Gerards <metgerards@student.han.nl>
18802
18803 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
18804 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
18805 to fail instead. Reported by Vincent Pelletier
18806 <subdino2004@yahoo.fr>.
18807
18808 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
18809 it is not allocated. Reported by Vincent Pelletier
18810 <subdino2004@yahoo.fr>.
18811
18812 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
18813 output so the output looks better.
f19dbdb7 18814
3f1578fe 188152004-12-04 Marco Gerards <metgerards@student.han.nl>
18816
18817 Modulize the partition map support and add support for the amiga
18818 partition map.
f19dbdb7 18819
3f1578fe 18820 * commands/ls.c: Include <grub/partition.h> instead of
18821 <grub/machine/partition.h>.
18822 * kern/disk.c: Likewise.
18823 * kern/rescue.c: Likewise.
18824 * loader/i386/pc/chainloader.c: Likewise.
18825 * normal/cmdline.c: Likewise.
18826 * kern/powerpc/ieee1275/init.c: Likewise.
18827 (grub_machine_init): Call `grub_pc_partition_map_init',
18828 `grub_amiga_partition_map_init' and
18829 `grub_apple_partition_map_init'.
18830 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
18831 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
18832 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
18833 `partition.h' and `pc_partition.h'.
18834 (grub_setup_SOURCES): Remove
18835 `disk/i386/pc/partition.c'. Add `kern/partition.c',
18836 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18837 (grub_emu_SOURCES): Likewise.
18838 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
18839 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
18840 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
18841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18842 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
18843 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18844 (grubof_SOURCES): Likewise.
18845 * disk/i386/pc/partition.c: File removed.
18846 * disk/powerpc/ieee1275/partition.c: Likewise.
18847 * include/grub/powerpc/ieee1275/partition.h: Likewise.
18848 * include/grub/i386/pc/partition.h: Likewise.
18849 * kern/partition.c: New file.
18850 * partmap/amiga.c: Likewise.
18851 * partmap/apple.c: Likewise.
18852 * partmap/pc.c: Likewise.
18853 * include/grub/partition.h: Likewise..
18854 * include/grub/pc_partition.h: Likewise.
18855 * util/grub-emu.c: Include <grub/partition.h> instead of
18856 <grub/machine/partition.h>.
18857 (main): Call `grub_pc_partition_map_init',
18858 `grub_amiga_partition_map_init' and
18859 `grub_apple_partition_map_init' and deinitialize afterwards.
18860 * util/i386/pc/biosdisk.c: Include `#include
18861 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18862 `<grub/machine/partition.h>'.
18863 * util/i386/pc/grub-setup.c: Likewise.
18864 * util/i386/pc/biosdisk.c: Likewise.
18865 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
18866 partition information in case of a PC partition.
18867 * util/i386/pc/grub-setup.c: Include `#include
18868 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18869 `<grub/machine/partition.h>'.
18870 (setup): Only access the PC specific partition information in case
18871 of a PC partition.
18872
0ef4ced9 188732004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 18874
0ef4ced9 18875 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
18876 (grub_longjmp): Likewise.
18877 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
18878 20.
18879 * normal/powerpc/setjmp.S: New file.
18880 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
18881 `normal/powerpc/setjmp.S'.
18882 (grubof_CFLAGS): Add `-DGRUBOF'.
18883 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
18884 [GRUB_UTIL && !GRUBOF].
f19dbdb7 18885
19950e29 188862004-11-16 Marco Gerards <metgerards@student.han.nl>
18887
18888 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
18889 property named `name'. Correctly handle the error returned by
18890 `grub_ieee1275_finddevice' if a device can not be opened.
18891
a2fea427 188922004-11-02 Hollis Blanchard <hollis@penguinppc.org>
18893
18894 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
18895 `actual' for negativity.
18896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18897 kern/fshelp.c.
18898
41ea0ea3 188992004-11-01 Marco Gerards <metgerards@student.han.nl>
18900
18901 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
18902 (PAGE_OFFSET): New macro.
18903 (CRTC_ADDR_PORT): Likewise.
18904 (CRTC_DATA_PORT): Likewise.
18905 (START_ADDR_HIGH_REGISTER): Likewise.
18906 (START_ADDR_LOW_REGISTER): Likewise.
18907 (GRAPHICS_ADDR_PORT): Likewise.
18908 (GRAPHICS_DATA_PORT): Likewise.
18909 (READ_MAP_REGISTER): Likewise.
18910 (INPUT_STATUS1_REGISTER): Likewise.
18911 (INPUT_STATUS1_VERTR_BIT): Likewise.
18912 (page): New variable.
18913 (wait_vretrace): New function.
18914 (set_read_map): Likewise.
18915 (set_start_address): Likewise.
18916 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
18917 the right page.
18918 (check_vga_mem): Take the page into account.
18919 (write_char): Likewise.
18920 (write_cursor): Likewise.
18921 (scroll_up): Likewise. Copy the page to the page that is not
18922 shown and switch between both pages.
18923 (grub_vga_putchar): Fix off by one error.
18924 (grub_vga_cls): Wait for the vertical retrace. Take the page into
18925 account.
18926
ad0bd20b 189272004-11-01 Marco Gerards <metgerards@student.han.nl>
18928
18929 Add support for iso9660 (including rockridge).
f19dbdb7 18930
ad0bd20b 18931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18932 (iso9660_mod_SOURCES): New variable.
18933 (iso9660_mod_CFLAGS): Likewise.
18934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18935 * include/grub/fs.h (grub_iso9660_init): New prototype.
18936 * util/grub-emu.c (main): Call `grub_iso9660_init'.
18937 * fs/iso9660.c: New file.
18938
18939 * include/grub/misc.h (grub_strncat): New prototype.
18940 * kern/misc.c (grub_strncat): New function.
f19dbdb7 18941
ad0bd20b 18942 * fs/hfs.c (grub_hfs_mount): Translate the error
18943 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
18944 * fs/jfs.c (grub_jfs_mount): Likewise.
18945 * fs/ufs.c (grub_ufs_mount): Likewise.
18946
a5477a59 189472004-10-28 Hollis Blanchard <hollis@penguinppc.org>
18948
18949 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
18950 which initialized BAT registers.
18951 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
18952 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18953 Move from here...
18954 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
18955 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18956 ... to here.
18957 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
18958 (grub_mapclaim): Likewise.
18959 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
18960 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
18961 hand.
18962
9304c1f8 189632004-10-19 Hollis Blanchard <hollis@penguinppc.org>
18964
18965 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
18966 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
18967 -ffreestanding and -msoft-float.
18968
86f4ae25 189692004-10-15 Hollis Blanchard <hollis@penguinppc.org>
18970
18971 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
18972 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
18973 set in grub_ieee1275_flags.
18974
38912228 189752004-10-14 Hollis Blanchard <hollis@penguinppc.org>
18976
18977 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
18978 prototype.
18979 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
18980 grub_console_init first.
18981 Change the memory range used for grub_ieee1275_claim and
18982 grub_mm_init_region.
18983 Print an error message if the claim fails.
18984 Include <grub/misc.h>.
18985
d1923dc8 189862004-10-13 Hollis Blanchard <hollis@penguinppc.org>
18987
18988 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
18989 Call grub_children_iterate for device nodes of type `scsi',
18990 `ide', or `ata'.
18991 (grub_ofdisk_open): Remove manual device alias resolution.
18992 Fix memory leak when device cannot be opened.
f19dbdb7 18993 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 18994 (grub_children_iterate): New prototype.
18995 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
18996 New function.
18997 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18998 Return -1 if args.size was -1.
18999
4512e4f3 190002004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19001
19002 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
19003 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
19004 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
19005 Open Firmware's memory for it; claim memory from _start to _end.
19006 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
19007 (_end): New extern.
19008 (_start): Zero BSS from __bss_start to _end.
19009 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19010 New extern.
19011 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
19012
4d61feb0 190132004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19014
ad0bd20b 19015 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
19016 -1 if args.base was -1.
4d61feb0 19017
026fa2f9 190182004-10-08 Hollis Blanchard <hollis@penguinppc.org>
19019
19020 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
19021 escape sequence instead of a literal ^L. Also call
19022 grub_ofconsole_gotoxy.
19023
9f2220ef 190242004-10-03 Hollis Blanchard <hollis@penguinppc.org>
19025
19026 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19027 void * arguments to grub_addr_t. All callers updated. Also make
19028 the `result' argument optional.
19029 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19030 All callers updated.
19031
8a572cd7 190322004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19033
19034 * commands/ls.c (grub_ls_list_files): Use the string following the
19035 initial ')', if present, as the filesystem path.
19036 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19037
19038 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19039
18aa81f2 190402004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19041
19042 Make the source code of the menu interface more readable.
f19dbdb7 19043
18aa81f2 19044 * normal/menu.c: Include grub/mm.h.
19045 (TERM_WIDTH): New macro.
19046 (TERM_HEIGHT): Likewise.
19047 (TERM_INFO_HEIGHT): Likewise.
19048 (TERM_MARGIN): Likewise.
19049 (TERM_SCROLL_WIDTH): Likewise.
19050 (TERM_TOP_BORDER_Y): Likewise.
19051 (TERM_LEFT_BORDER_X): Likewise.
19052 (TERM_BORDER_WIDTH): Likewise.
19053 (TERM_MESSAGE_HEIGHT): Likewise.
19054 (TERM_BORDER_HEIGHT): Likewise.
19055 (TERM_NUM_ENTRIES): Likewise.
19056 (TERM_FIRST_ENTRY_Y): Likewise.
19057 (TERM_ENTRY_WIDTH): Likewise.
19058 (TERM_CURSOR_X): Likewise.
19059 (draw_border): Use macros instead of magic numbers.
19060 (print_entry): Likewise.
19061 (print_entries): Likewise.
19062 (run_menu): Likewise. Also, handle the key 'e'.
19063 (run_menu_entry): Ignore empty command lines.
19064 (print_message): Added a new argument EDIT. If EDIT is true,
19065 print a different message.
19066 (init_page): Likewise.
19067 (edit_menu_entry): New function. Not implemented yet.
19068
b47efe30 190692004-09-17 Marco Gerards <metgerards@student.han.nl>
19070
19071 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19072 can be loaded from normal mode.
f19dbdb7 19073
b47efe30 19074 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19075 `multiboot.mod'.
19076 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19077 (multiboot_mod_CFLAGS): New variables.
19078 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 19079 * loader/i386/pc/multiboot_normal.c: Likewise.
19080
b47efe30 19081 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19082 attribute `unused'.
f19dbdb7 19083
b47efe30 19084 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19085 `fdiro' to read the mode information from instead of `diro'.
19086
19087 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19088 looking up a symlink.
19089
19090 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19091 macro.
19092 * normal/command.c (grub_command_execute): Don't parse the
19093 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19094 flags of the command.
19095
19096 * normal/menu.c (grub_menu_run): Fix typo.
19097
da75ac71 190982004-09-14 Hollis Blanchard <hollis@penguinppc.org>
19099
19100 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
19101
19102 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
19103 `y + 1' instead of `y - 1'.
19104
19105 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 19106
062b24c2 191072004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
19108
19109 From Hollis Blanchard <hollis@penguinppc.org>:
19110 * kern/misc.c (memmove): New alias for grub_memmove.
19111 (memcmp): New alias for grub_memcmp.
19112 (memset): New alias for grub_memset.
f19dbdb7 19113 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 19114 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 19115 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 19116 (grub_ieee1275_get_property): Likewise.
f19dbdb7 19117
8ddad845 191182004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
19119
19120 Added normal mode command `chainloader' as module chain.mod, which
19121 depends on normal.mod and _chain.mod.
f19dbdb7 19122
8ddad845 19123 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
19124 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
19125 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
19126 Deleted prototype.
19127 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
19128 but arguments parsing moved to ...
19129 (grub_chainloader_cmd): ... here. New function.
19130 * include/grub/i386/pc/chainloader.h: New file.
19131 * loader/i386/pc/chainloader_normal.c: Likewise.
19132
2c1f4ce3 191332004-09-11 Marco Gerards <metgerards@student.han.nl>
19134
19135 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
19136 (grub_mkimage_LDFLAGS): Likewise.
19137 (grub_emu_SOURCES): Likewise.
19138 (kernel_img_HEADERS): Added fshelp.h.
19139 * fs/ext2.c: Include <grub/fshelp.h>.
19140 (FILETYPE_REG): New macro.
19141 (FILETYPE_INO_REG): Likewise.
19142 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
19143 Changed all users.
19144 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
19145 all users.
19146 (grub_fshelp_node): New struct.
19147 (grub_ext2_data): Added member `diropen'. Changed member `inode'
19148 to a pointer.
19149 (grub_ext2_get_file_block): Removed function.
19150 (grub_ext2_read_block): New function.
19151 (grub_ext2_read_file): Replaced parameter `data' by `node'.
19152 This function was written.
19153 (grub_ext2_mount): Read the root inode. Create a diropen struct.
19154 (grub_ext2_find_file): Removed function.
19155 (grub_ext2_read_symlink): New function.
19156 (grub_ext2_iterate_dir): Likewise.
19157 (grub_ext2_open): Rewritten.
19158 (grub_ext2_dir): Rewritten.
19159 * include/grub/fshelp.h: New file.
19160 * fs/fshelp.c: Likewise.
19161
3c52136a 191622004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
19163
19164 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
19165 (print_message): Add a missing newline.
19166 (run_menu): Added timeout support.
19167 (run_menu_entry): New local function.
19168 (grub_menu_run): Added support for booting.
19169
19170 * kern/loader.c (grub_loader_is_loaded): New function.
19171
19172 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
19173 (grub_get_rtc): Exported.
19174
19175 * include/grub/i386/pc/time.h: Include grub/symbol.h.
19176 (grub_get_rtc): Exported.
19177
19178 * include/grub/normal.h (struct grub_command_list): Remove
19179 constant from the member `command'.
19180
19181 * include/grub/loader.h (grub_loader_is_loaded): Declared.
19182
19183 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
19184
19185 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
19186
aa033560 191872004-08-28 Marco Gerards <metgerards@student.han.nl>
19188
19189 Add support for the JFS filesystem.
19190
19191 * fs/jfs.c: New file.
19192 * include/grub/fs.h (grub_jfs_init): New prototype.
19193 (grub_jfs_fini): New prototype.
19194 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
19195 (grub_emu_SOURCES): Likewise.
19196 (pkgdata_MODULES): Add jfs.mod.
19197 (jfs_mod_SOURCES): New variable.
19198 (jfs_mod_CFLAGS): Likewise.
19199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
19200 (grubof_SOURCES): Likewise.
19201 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
19202
19203 * fs/fat.c (grub_fat_find_dir): Convert the filename little
19204 endian to the host endian.
19205 (grub_fat_utf16_to_utf8): Move function from there...
19206 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 19207 the endianness of the source string anymore.
aa033560 19208 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
19209
94bc45af 192102004-08-24 Marco Gerards <metgerards@student.han.nl>
19211
19212 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
19213 (grub_boot_fini) [GRUB_UTIL]: Likewise.
19214 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
19215 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 19216
94bc45af 19217 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
19218 (grub_hfs_iterate_dir): Make the function static. Add prototypes
19219 for `node_found' and `it_dir'.
19220 (grub_hfs_dir): Add prototype for `dir_hook'.
19221
19222 * fs/minix.c (grub_minix_get_file_block): Add prototype for
19223 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
19224 and `indir32' to silence a gcc warning.
19225
19226 * include/grub/fs.h (grub_hfs_init): New prototype.
19227 (grub_hfs_fini): Likewise.
f19dbdb7 19228
19229
97543f08 192302004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19231
19232 Each disk device has its own id now. This is useful to make use
19233 of multiple disk devices.
f19dbdb7 19234
97543f08 19235 * include/grub/disk.h (grub_disk_dev_id): New enum.
19236 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
19237 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
19238
19239 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
19240 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19241
19242 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
19243 GRUB_DISK_DEVICE_OFDISK_ID as an id.
19244
19245 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
19246 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19247
19248 * include/grub/disk.h (struct grub_disk_dev): Added a new member
19249 "id" which is used by the cache manager.
19250
19251 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
19252 of just "GRUB".
19253
64372eb4 192542004-08-18 Marco Gerards <metgerards@student.han.nl>
19255
19256 * fs/hfs.c: New file.
19257 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
19258 (grub_emu_SOURCES): Likewise.
19259 (pkgdata_MODULES): Add hfs.mod.
19260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
19261 (grubof_SOURCES): Likewise.
19262 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
19263
19264 * include/grub/misc.h (grub_strncasecmp): Add prototype.
19265 * kern/misc.c (grub_strncasecmp): Add function.
19266
cc61b58f 192672004-08-14 Marco Gerards <metgerards@student.han.nl>
19268
19269 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
19270 with parentheses.
19271
19272 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
19273 (grub_ext2_dir): In case the directory entry type is unknown, read
19274 it from the inode.
19275
0ef123f6 192762004-08-02 Peter Bruin <pjbruin@dds.nl>
19277
19278 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
19279 grub_load_linux instead of grub_rescue_cmd_linux as second
19280 argument of grub_rescue_register_command.
19281
19282 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
19283
a447c5df 192842004-07-27 Marco Gerards <metgerards@student.han.nl>
19285
19286 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
19287 function.
19288 * commands/boot.c: Remove the check for `GRUB_UTIL'.
19289 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19290 `loader/powerpc/ieee1275/linux.c',
19291 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
19292 * include/grub/powerpc/ieee1275/ieee1275.h
19293 (grub_ieee1275_release): New prototype.
19294 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
19295 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
19296 normal, boot, linux and linux_normal.
19297 * loader/powerpc/ieee1275/linux.c: New file.
19298 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19299
5a9e3546 193002004-07-12 Marco Gerards <metgerards@student.han.nl>
19301
19302 * normal/arg.c (grub_arg_parse): Correct error handling after
19303 reallocating the argumentlist (check if `argl' is not null instead
19304 of checking if `args' is not null).
19305 * kern/mm.c (grub_realloc): Return the same pointer when using the
19306 same region, instead of returning the header address.
19307
e15199cb 193082004-07-11 Marco Gerards <metgerards@student.han.nl>
19309
19310 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
19311 one block instead of two when looking for the initial partition.
19312 (grub_partition_probe): Initialize the local variable `p' with 0.
19313 Use base 10 for the grub_strtoul call.
19314 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
19315 need for one local variable.
19316 (grub_strtoul): Don't add the new value to `num', instead of that
19317 just assign it.
19318
020616c2 193192004-07-11 Marco Gerards <metgerards@student.han.nl>
19320
19321 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
19322 (pxeboot_img_SOURCES): New variable.
19323 (pxeboot_img_ASFLAGS): Likewise.
19324 (pxeboot_img_LDFLAGS): Likewise.
19325 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
19326 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
19327 <lode_leroy@hotmail.com>.
19328
6c51eb64 193292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19330
19331 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
19332 there was no input.
19333
cfb12aff 193342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19335
19336 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
19337 the history buffer logic.
19338
6eabba74 193392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19340
19341 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
19342 (FILETYPE_INO_SYMLINK): New macros.
19343 (grub_ext2_find_file): Check if the node is a directory using the
19344 inode stat information instead of using the filetype in the
19345 dirent. Exclude the first character of an absolute symlink.
19346 (grub_ext2_dir): Mask out the filetype part of the mode member of
19347 the inode.
19348
66e19ef8 193492004-05-24 Marco Gerards <metgerards@student.han.nl>
19350
19351 Add support for UFS version 1 and 2. Add support for the minix
19352 filesystem version 1 and 2, both the variants with 14 and 30 long
19353 filenames.
f19dbdb7 19354
66e19ef8 19355 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
19356 fs/minix.c.
19357 (grub_emu_SOURCES): Likewise.
19358 (pkgdata_MODULES): Add ufs.mod and minix.mod.
19359 (ufs_mod_SOURCES): New variable.
19360 (ufs_mod_CFLAGS): Likewise.
19361 (minix_mod_SOURCES): Likewise.
19362 (minix_mod_CFLAGS): Likewise.
19363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
19364 fs/minix.c.
19365 (grubof_SOURCES): Likewise.
19366 * fs/ufs.c: New file.
19367 * fs/minix.c: New file.
19368 * include/grub/fs.h (grub_ufs_init): New prototype.
19369 (grub_ufs_fini): Likewise.
19370 (grub_minix_init): Likewise.
19371 (grub_minix_fini): Likewise.
19372 * util/grub-emu.c (main): Initialize and deinitialize UFS and
19373 minix fs.
19374
cc2e748a 193752004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
19376
19377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
19378 commands/ls.c, commands/terminal.c, commands/boot.c,
19379 commands/cmp.c and commands/cat.c.
19380 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
19381
19382 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
19383 "env.h"
19384
4b13b216 193852004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19386
19387 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
19388 and grub_, respectively. Because the conversion is trivial and
19389 mechanical, I omit the details here. Please refer to the CVS
19390 if you need more information.
19391
6a142551 193922004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19393
19394 * include/pupa: Renamed to ...
19395 * include/grub: ... this.
19396 * util/i386/pc/pupa-mkimage.c: Renamed to ...
19397 * util/i386/pc/grub-mkimage.c: ... this.
19398 * util/i386/pc/pupa-setup.c: Renamed to ...
19399 * util/i386/pc/grub-setup.c: ... this.
19400 * util/pupa-emu.c: Renamed to ...
19401 * util/grub-emu.c: ... this.
19402
e56cdf21 194032004-03-29 Marco Gerards <metgerards@student.han.nl>
19404
19405 Add support for the newworld apple macintosh (PPC). This has been
19406 tested on the powerbook 2000 only. It only adds support for
19407 generic ieee1275 functions, console and disk support. This should
19408 be easy to port to other architectures with support for Open
19409 Firmware.
f19dbdb7 19410
e56cdf21 19411 * configure.ac: Accept the powerpc as host_cpu. In the case of
19412 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
19413 specific tests are only executed while building for the i386.
19414 Inverse test for crosscompile.
19415 * genmk.rb (Utility): Allow assembler files.
19416 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
19417 * conf/powerpc-ieee1275.rmk: New file.
19418 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
19419 * disk/powerpc/ieee1275/partition.c: Likewise.
19420 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
19421 * include/pupa/powerpc/ieee1275/console.h: Likewise.
19422 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
19423 * include/pupa/powerpc/ieee1275/time.h: Likewise.
19424 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
19425 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
19426 * include/pupa/powerpc/ieee1275/loader.h
19427 * include/pupa/powerpc/setjmp.h: Likewise.
19428 * include/pupa/powerpc/types.h: Likewise.
19429 * kern/powerpc/ieee1275/init.c: Likewise.
19430 * kern/powerpc/ieee1275/openfw.c: Likewise.
19431 * term/powerpc/ieee1275/ofconsole.c: Likewise.
19432
19433 These files were written by Johan Rydberg
19434 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 19435
e56cdf21 19436 * boot/powerpc/ieee1275/cmain.c: New file.
19437 * boot/powerpc/ieee1275/crt0.S: Likewise.
19438 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
19439 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
19440
8c8cc205 194412004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
19442
19443 * Makefile.in: Update copyright.
19444 * genmodsrc.sh: Likewise.
19445 * gensymlist.sh: Likewise.
19446 * term/i386/pc/vga.c: Indent correctly.
19447
19448 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
19449 bugreporting address.
19450 * util/i386/pc/pupa-setup.c (usage): Likewise,
19451 (main): Call pupa_ext2_init and pupa_ext2_fini.
19452
f19dbdb7 19453 * fs/fat.c (log2): Renamed to ...
8c8cc205 19454 (fat_log2): ... this.
19455 All callers changed.
19456 * kern/misc.c (memcpy): Alias to pupa_memmove.
19457 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
19458 lvalue cast.
19459 * util/console.c (pupa_ncurses_fini): Return 0.
19460
19461 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
19462 Move fail label here.
19463 [__GNU__]: Don't warn when using stat.
19464 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
19465 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
19466 long int. Use strtol instead of strtoul.
f19dbdb7 19467
db1771cf 194682004-03-14 Marco Gerards <metgerards@student.han.nl>
19469
19470 * commands/boot.c: New file.
19471 * commands/cat.c: Likewise.
19472 * commands/cmp.c: Likewise.
19473 * commands/ls.c: Likewise.
19474 * commands/terminal.c: Likewise.
19475 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
19476 (pupa_register_command): Changed interface to match the new
19477 argument parser.
19478 (pupa_command_execute): Changed (almost rewritten) so it uses
19479 pupa_split_command. Added support for setting variables using the
19480 syntax `foo=bar'.
19481 (rescue_command): Changed to work with the new argument parser.
19482 (terminal_command): Moved from here to commands/terminal.c.
19483 (set_command): New function.
19484 (unset_command): New function.
19485 (insmod_command): New function.
19486 (rmmod_command): New function.
19487 (lsmod_command): New function.
19488 (pupa_command_init): Don't initialize the command terminal
19489 anymore. Initialize the commands set, unset, insmod, rmmod and
19490 lsmod.
19491 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
19492 (kernel_img_HEADERS): Add arg.h and env.h.
19493 (pupa_mkimage_LDFLAGS): Add kern/env.c.
19494 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
19495 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
19496 normal/arg.c.
19497 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
19498 terminal.mod.
19499 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
19500 (boot_mod_SOURCES): New variable.
19501 (terminal_mod_SOURCES): Likewise.
19502 (ls_mod_SOURCES): Likewise.
19503 (cmp_mod_SOURCES): Likewise.
19504 (cat_mod_SOURCES): Likewise.
19505
19506 * normal/arg.c: New file.
19507 * kern/env.c: Likewise.
19508 * include/pupa/arg.h: Likewise.
19509 * include/pupa/env.h: Likewise.
19510 * font/manager.c (font_command): Changed to match argument parsing
19511 interface changes.
19512 (PUPA_MOD_INIT): Likewise.
19513 * hello/hello.c (pupa_cmd_hello): Likewise.
19514 (PUPA_MOD_INIT): Likewise.
19515 * include/pupa/disk.h: Include <pupa/device.h>.
19516 (pupa_print_partinfo): New prototype.
19517 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
19518 (pupa_dl_get_prefix): Likewise.
19519 * include/pupa/misc.h: Include <pupa/err.h>.
19520 (pupa_isgraph): New prototype.
19521 (pupa_isdigit): Likewise.
19522 (pupa_split_cmdline): Likewise.
19523 * include/pupa/normal.h: Include <pupa/arg.h>.
19524 (pupa_command): Changed the prototype of the member `func' to
19525 match the argument parsing interface. Added member `options'.
19526 (pupa_register_command): Updated to match function.
19527 (pupa_arg_parse): New prototype.
19528 (pupa_hello_init) [PUPA_UTIL]: New prototype.
19529 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
19530 (pupa_ls_init) [PUPA_UTIL]: Likewise.
19531 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
19532 (pupa_cat_init) [PUPA_UTIL]: Likewise.
19533 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
19534 (pupa_boot_init) [PUPA_UTIL]: Likewise.
19535 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
19536 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
19537 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
19538 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
19539 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
19540 * kern/disk.c: Include <pupa/file.h>.
19541 (pupa_print_partinfo): New function.
19542 * kern/dl.c: Include <pupa/env.h>.
19543 (pupa_dl_dir): Variable removed.
19544 (pupa_dl_load): Use the environment variable `prefix' instead of
19545 the variable pupa_dl_dir.
19546 (pupa_dl_set_prefix): Function removed.
19547 (pupa_dl_get_prefix): Likewise.
19548 * kern/i386/pc/init.c: Include <pupa/env.h>.
19549 (pupa_machine_init): Use the environment variable `prefix' instead of
19550 using pupa_dl_set_prefix to set the prefix.
19551 * kern/main.c: Include <pupa/env.h>.
19552 (pupa_set_root_dev): Use the environment variable `prefix' instead of
19553 using pupa_dl_get_prefix to get the prefix.
19554 * kern/misc.c: Include <pupa/env.h>.
19555 (pupa_isdigit): New function.
19556 (pupa_isgraph): Likewise.
19557 (pupa_ftoa): Likewise.
19558 (pupa_vsprintf): Added support for printing values of the type
19559 `double'. Make it possible to format variable output when using
19560 formatting like `%1.2%f'.
19561 (pupa_split_cmdline): New function.
19562 * kern/rescue.c: Include <pupa/env.h>.
19563 (next_word): Removed function.
19564 (pupa_rescue_cmd_prefix): Likewise.
19565 (pupa_rescue_cmd_set): New function.
19566 (pupa_rescue_cmd_unset): New function.
19567 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
19568 split the command line instead of splitting it here. Added
19569 support for setting variables using the syntax `foo=bar'. Don't
19570 initialize the prefix command anymore. Initialized the set and
19571 unset commands.
19572 * normal/cmdline.c: Include <pupa/env.h>.
19573 (pupa_tab_complete): Added prototypes for print_simple_completion,
19574 print_partition_completion, add_completion, iterate_commands,
19575 iterate_dev, iterate_part and iterate_dir. Moved code to print
19576 partition information from here to kern/disk.c.
fe6b695a 19577 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 19578 * normal/main.c: Include <pupa/env.h>.
19579 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
19580 instead of using pupa_dl_get_prefix to get the prefix.
19581 * term/i386/pc/vga.c: Include <pupa/arg.h>.
19582 (check_vga_mem): Cast pointers to `void *' to silence a gcc
19583 warning.
19584 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
19585 (pupa_vga_setcolor): Declare unused variables with `__attribute__
19586 ((unused))' to silence a gcc warning.
19587 (pupa_vga_setcolor): Likewise.
19588 (debug_command): Changed to match argument parsing
19589 interface changes.
19590 * util/pupa-emu.c: Include <pupa/env.h>.
19591 (options): Added 0's for unused fields to silence a gcc warning.
19592 (argp): Likewise.
19593 (main): Use the environment variable `prefix' instead of using
19594 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
19595 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
19596 and terminal.
19597
19598 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
19599 * util/misc.c: Include <malloc.h>.
19600 (pupa_malloc): Rewritten so errors are correctly reported.
19601 (pupa_realloc): Likewise.
19602 (pupa_memalign): Likewise.
19603 (pupa_mm_init_region): Declare unused variables with
19604 `__attribute__ ((unused))' to silence a gcc warning.
19605 * normal/i386/setjmp.S: Remove tab at the end of the file to
19606 silence a gcc warning.
19607 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
19608 variables with `__attribute__ ((unused))' to silence a gcc
19609 warning.
19610 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
19611 local variable i unsigned to silence a gcc warning.
19612
19613 * kern/term.c: Include <pupa/misc.h>.
19614 (pupa_more_lines): New variable.
19615 (pupa_more): Likewise.
19616 (pupa_putcode): When the pager is active pause at the end of every
19617 screen.
19618 (pupa_set_more): New function.
19619 * include/pupa/term.h (pupa_set_more): New prototype.
19620
19621
3b1139cb 196222004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
19623
19624 Now this project is GRUB 2 rather than PUPA. The location of
19625 the CVS repository was moved to GRUB's.
f19dbdb7 19626
3b1139cb 19627 * configure.ac: Use bug-grub as the reporting address.
19628 Use GRUB instead of PUPA.
19629 Change the version number to 1.90.
19630
8367695c 196312004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
19632
19633 * genkernsyms.sh: Updated copyright information.
19634 * genmk.rb: Likewise.
19635 * genmodsrc.sh: Likewise.
19636 * gensymlist.sh: Likewise.
19637 * boot/i386/pc/boot.S: Likewise.
19638 * boot/i386/pc/diskboot.S: Likewise.
19639 * disk/i386/pc/biosdisk.c: Likewise.
19640 * disk/i386/pc/partition.c: Likewise.
19641 * font/manager.c: Likewise.
19642 * fs/ext2.c: Likewise.
19643 * fs/fat.c: Likewise.
19644 * include/pupa/boot.h: Likewise.
19645 * include/pupa/device.h: Likewise.
19646 * include/pupa/disk.h: Likewise.
19647 * include/pupa/dl.h: Likewise.
19648 * include/pupa/elf.h: Likewise.
19649 * include/pupa/err.h: Likewise.
19650 * include/pupa/file.h: Likewise.
19651 * include/pupa/font.h: Likewise.
19652 * include/pupa/fs.h: Likewise.
19653 * include/pupa/kernel.h: Likewise.
19654 * include/pupa/loader.h: Likewise.
19655 * include/pupa/misc.h: Likewise.
19656 * include/pupa/mm.h: Likewise.
19657 * include/pupa/net.h: Likewise.
19658 * include/pupa/normal.h: Likewise.
19659 * include/pupa/rescue.h: Likewise.
19660 * include/pupa/setjmp.h: Likewise.
19661 * include/pupa/symbol.h: Likewise.
19662 * include/pupa/term.h: Likewise.
19663 * include/pupa/types.h: Likewise.
19664 * include/pupa/i386/setjmp.h: Likewise.
19665 * include/pupa/i386/types.h: Likewise.
19666 * include/pupa/i386/pc/biosdisk.h: Likewise.
19667 * include/pupa/i386/pc/boot.h: Likewise.
19668 * include/pupa/i386/pc/console.h: Likewise.
19669 * include/pupa/i386/pc/init.h: Likewise.
19670 * include/pupa/i386/pc/kernel.h: Likewise.
19671 * include/pupa/i386/pc/linux.h: Likewise.
19672 * include/pupa/i386/pc/loader.h: Likewise.
19673 * include/pupa/i386/pc/memory.h: Likewise.
19674 * include/pupa/i386/pc/multiboot.h: Likewise.
19675 * include/pupa/i386/pc/partition.h: Likewise.
19676 * include/pupa/i386/pc/time.h: Likewise.
19677 * include/pupa/i386/pc/vga.h: Likewise.
19678 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
19679 * include/pupa/util/getroot.h: Likewise.
19680 * include/pupa/util/misc.h: Likewise.
19681 * include/pupa/util/resolve.h: Likewise.
19682 * kern/device.c: Likewise.
19683 * kern/disk.c: Likewise.
19684 * kern/dl.c: Likewise.
19685 * kern/err.c: Likewise.
19686 * kern/file.c: Likewise.
19687 * kern/fs.c: Likewise.
19688 * kern/loader.c: Likewise.
19689 * kern/main.c: Likewise.
19690 * kern/misc.c: Likewise.
19691 * kern/mm.c: Likewise.
19692 * kern/rescue.c: Likewise.
19693 * kern/term.c: Likewise.
19694 * kern/i386/dl.c: Likewise.
19695 * kern/i386/pc/init.c: Likewise.
19696 * kern/i386/pc/lzo1x.S: Likewise.
19697 * kern/i386/pc/startup.S: Likewise.
19698 * loader/i386/pc/chainloader.c: Likewise.
19699 * loader/i386/pc/linux.c: Likewise.
19700 * loader/i386/pc/multiboot.c: Likewise.
19701 * normal/cmdline.c: Likewise.
19702 * normal/command.c: Likewise.
19703 * normal/main.c: Likewise.
19704 * normal/menu.c: Likewise.
19705 * normal/i386/setjmp.S: Likewise.
19706 * term/i386/pc/console.c: Likewise.
19707 * term/i386/pc/vga.c: Likewise.
19708 * util/console.c: Likewise.
19709 * util/genmoddep.c: Likewise.
19710 * util/misc.c: Likewise.
19711 * util/pupa-emu.c: Likewise.
19712 * util/resolve.c: Likewise.
19713 * util/unifont2pff.rb: Likewise.
19714 * util/i386/pc/biosdisk.c: Likewise.
19715 * util/i386/pc/getroot.c: Likewise.
19716 * util/i386/pc/pupa-mkimage.c: Likewise.
19717 * util/i386/pc/pupa-setup.c: Likewise.
19718
e6eced71 197192004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
19720
19721 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
19722 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
19723 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
19724 reading and reset it after reading.
19725 (pupa_ext2_close): Return PUPA_ERR_NONE.
19726
19727 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
19728 Correct value.
19729 (struct linux_kernel_header): Add kernel_version and
19730 initrd_addr_max.
19731 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
19732 pupa_file_read succeeds.
19733 (pupa_rescue_cmd_initrd): Implement.
19734
5aded270 197352003-12-03 Marco Gerards <metgerards@student.han.nl>
19736
19737 * fs/ext2.c (pupa_ext2_label): New function.
19738 (pupa_ext2_fs): Added label.
19739 * fs/fat.c (pupa_fat_label): New function.
19740 (pupa_fat_fs): Added label.
19741 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
19742
19743 * kern/misc.c (pupa_strndup): New function.
19744 * include/pupa/misc.h (pupa_strndup): New prototype.
19745
19746 * include/pupa/normal.h: Include <pupa/err.h>.
19747 (pupa_set_history): New prototype.
19748 (pupa_iterate_commands): New prototype.
19749 * normal/cmdline.c: Include <pupa/machine/partition.h>,
19750 <pupa/disk.h>, <pupa/file.h>.
19751 (hist_size): New variable.
19752 (hist_lines): Likewise.
19753 (hist_end): Likewise.
19754 (hist_used): Likewise.
19755 (pupa_set_history): New function.
19756 (pupa_history_get): Likewise.
19757 (pupa_history_add): Likewise.
19758 (pupa_history_replace): Likewise.
19759 (pupa_tab_complete): Likewise.
19760 (pupa_cmdline_run): Added tab completion and history buffer. Tab
19761 completion shows partitionnames while completing partitions, this
19762 feature was suggested by Jeff Bailey.
19763 * normal/command.c (pupa_iterate_commands): New function.
19764 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
19765 (pupa_normal_init): Initialize history buffer.
19766 (PUPA_MOD_INIT): Likewise.
19767 (pupa_normal_fini): Free the history buffer.
19768 (PUPA_MOD_FINI): Likewise.
19769
19770 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
19771 key.
19772
19773 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
19774 * configure.ac [i386]: Check for regparam bug.
19775 (NESTED_FUNC_ATTR) [! i386]: Defined.
19776
1f7315a3 197772003-11-17 Marco Gerards <metgerards@student.han.nl>
19778
19779 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
19780 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
19781 (pupa_emu_SOURCES): New variable.
19782 (pupa_emu_LDFLAGS): Likewise.
19783 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
19784 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
19785 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
19786 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19787 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
19788 (pupa_jmp_buf): New typedef.
19789 (pupa_setjmp) [PUPA_UTIL]: New macro.
19790 (pupa_longjmp) [PUPA_UTIL]: Likewise.
19791 * include/pupa/term.h (struct pupa_term): New member `refresh'.
19792 (pupa_refresh): New prototype.
19793 * include/pupa/util/getroot.h: New file.
19794 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
19795 it.
19796 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
19797 (pupa_rescue_cmd_cat): Likewise.
19798 (pupa_rescue_cmd_ls): Likewise.
19799 (pupa_rescue_cmd_testload): Likewise.
19800 (pupa_rescue_cmd_lsmod): Likewise.
19801 * normal/cmdline.c (pupa_cmdline_get): Likewise.
19802 * normal/menu.c (run_menu): Likewise.
19803 * kern/term.c (pupa_cls): Likewise.
19804 (pupa_refresh): New function.
19805 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
19806 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19807 * util/console.c: New file.
f19dbdb7 19808
1f7315a3 19809 * util/i386/pc/getroot.c: New file.
19810 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
19811 (pupa_putchar): New function.
19812 (pupa_refresh): Likewise.
19813 (xgetcwd): Function moved to ...
19814 (strip_extra_slashes): Likewise.
19815 (get_prefix): Likewise.
f19dbdb7 19816 * util/i386/pc/getroot.c: ... here.
1f7315a3 19817 (find_root_device): Function moved and renamed to...
19818 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
19819 Changed all callers.
19820 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
19821 and renamed to...
19822 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
19823 Changed all callers.
19824 * util/misc.c (pupa_memalign): New function.
19825 (pupa_mm_init_region): Likewise.
19826 (pupa_register_exported_symbols): Likewise.
19827 (pupa_putchar): Function removed.
19828 * util/pupa-emu.c: New file.
19829
9a5c1ade 198302003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
19831
19832 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
19833 (_multiboot_mod_SOURCES): New variable.
19834 (_multiboot_mod_CFLAGS): Likewise.
19835 * loader/i386/pc/multiboot.c: New file.
19836 * include/pupa/i386/pc/multiboot.h: Likewise.
19837 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
19838 (pupa_multiboot_real_boot): New function.
19839 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
19840 (pupa_multiboot_real_boot): New prototype.
19841 (pupa_rescue_cmd_multiboot): Likewise
19842 (pupa_rescue_cmd_module): Likewise.
19843
19844 * kern/loader.c (pupa_loader_set): Continue when
19845 pupa_loader_unload_func() fails.
19846 (pupa_loader_unset): New function.
19847 * include/pupa/loader.h (pupa_loader_unset): New prototype.
19848
19849 * kern/misc.c (pupa_stpcpy): New function.
19850 * include/pupa/misc.h (pupa_stpcpy): New prototype.
19851
8e72a9c0 198522003-11-12 Marco Gerards <metgerards@student.han.nl>
19853
19854 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
19855 for available extensions.
19856
19857 * include/pupa/i386/pc/time.h: New file.
19858 * kern/disk.c: Include <pupa/machine/time.h>.
19859 (PUPA_CACHE_TIMEOUT): New macro.
19860 (pupa_last_time): New variable.
19861 (pupa_disk_open): Flush the cache when there was a timeout.
19862 (pupa_disk_close): Reset the timer.
19863 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
19864 pupa_currticks.
19865 * util/misc.c: Include <sys/times.h>
19866 (pupa_get_rtc): New function.
19867
c4adbd32 198682003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19869
19870 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
19871 as blocks.
19872 (pupa_ext2_get_file_block): Use blocks member.
19873
19874 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
19875 first block. Return -1 instead of pupa_errno on error.
19876
bfd30f06 198772003-10-27 Marco Gerards <metgerards@student.han.nl>
19878
19879 * README: In the pupa-mkimage example use _chain instead of chain
19880 and ext2 instead of fat.
19881 * TODO: Replace ext2fs with jfs as an example. Add an item for
19882 adding journal playback for ext2fs.
19883 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
19884 (pkgdata_MODULES): Added ext2.mod.
19885 (ext2_mod_SOURCES): New variable.
19886 (ext2_mod_CFLAGS): Likewise.
19887 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
19888 * include/pupa/misc.h (pupa_strncpy): New prototype.
19889 (pupa_strcat): Likewise.
19890 (pupa_strncmp): Likewise.
19891 * kern/misc.c (pupa_strcat): Enable function.
19892 (pupa_strncpy): New function.
19893 (pupa_strncmp): Likewise.
19894 * fs/ext2.c: New file.
f19dbdb7 19895
bfd30f06 19896 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
19897 when the read failed before retrying.
19898 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
19899 (_FILE_OFFSET_BITS): Likewise.
19900 * configure.ac: Added AC_SYS_LARGEFILE.
19901
98d15063 199022003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19903
19904 * genmk.rb (PModule#rule): Make sure to get only symbol names
19905 from the output of nm.
19906 Reported by Robert Millan <zeratul2@wanadoo.es>.
19907
18d9c7cd 199082003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19909
19910 I forgot to check in these changes for a long time. This adds
19911 incomplete support for VGA console, and this is still very
19912 buggy. Also, a lot of consideration is required for I18N,
19913 UNICODE, and VGA font issues. Therefore, assume that this is
19914 such that "better than nothing".
f19dbdb7 19915
18d9c7cd 19916 * font/manager.c: New file.
19917 * include/pupa/font.h: Likewise.
19918 * include/pupa/i386/pc/vga.h: Likewise.
19919 * term/i386/pc/vga.c: Likewise.
19920 * util/unifont2pff.rb: Likewise.
19921
19922 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
19923 (pkgdata_MODULES): Added vga.mod and font.mod.
19924 (vga_mod_SOURCES): New variables.
19925 (vga_mod_CFLAGS): Likewise.
19926 (font_mod_SOURCES): Likewise.
19927 (font_mod_CFLAGS): Likewise.
19928
19929 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
19930
19931 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 19932 (struct pupa_term): Added init and fini.
18d9c7cd 19933 Changed the argument of putchar to pupa_uint32_t.
19934
19935 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
19936 (pupa_console_real_putchar): New prototype.
19937 (pupa_console_putchar): Removed.
19938 (pupa_console_checkkey): Exported.
19939 (pupa_console_getkey): Likewise.
19940
19941 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
19942 characters.
19943
19944 * kern/term.c (pupa_term_set_current): Rewritten.
19945 (pupa_putchar): Likewise.
19946 (pupa_putcode): New function.
19947
19948 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
19949 (pupa_console_real_putchar): ... this.
19950 (pupa_vga_set_mode): New function.
19951 (pupa_vga_get_font): Likewise.
19952
19953 * normal/command.c: Include pupa/term.h.
19954 (terminal_command): New function.
19955 (pupa_command_init): Register the command "terminal".
19956
19957 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
19958 (DISP_UP): Likewise.
19959 (DISP_RIGHT): Likewise.
19960 (DISP_DOWN): Likewise.
19961 (DISP_HLINE): Likewise.
19962 (DISP_VLINE): Likewise.
19963 (DISP_UL): Likewise.
19964 (DISP_UR): Likewise.
19965 (DISP_LL): Likewise.
19966 (DISP_LR): Likewise.
19967
19968 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 19969
977329f5 199702003-02-08 NIIBE Yutaka <gniibe@m17n.org>
19971
19972 * util/resolve.c (pupa_util_resolve_dependencies): BUG
19973 FIX. Reverse the path_list.
19974
19975 * include/pupa/normal.h: Export pupa_register_command and
19976 pupa_unregister_command.
19977
19978 * hello/hello.c (pupa_cmd_hello): New module.
19979 * conf/i386-pc.rmk: Added hello.mod.
19980
1f5ab428 199812003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
19982
19983 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 19984
1f5ab428 19985 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
19986 (compress_kernel): New variable.
19987 (generate_image): Heavily modified to support compressing a
19988 large part of the core image.
19989
19990 * util/misc.c (pupa_util_read_image): Fix a file descriptor
19991 leak.
19992 (pupa_util_load_image): New function.
19993
19994 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
19995 (pupa_compressed_size): New variable.
19996 (codestart): Enable Gate A20 here.
19997 Decompress the compressed part of the core image.
19998 Rearrange the code to put functions and variables which are
19999 required for initialization in the non-compressed part.
20000 Include lzo1x.S.
20001
20002 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
20003 here.
20004
20005 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
20006
f19dbdb7 20007 * include/pupa/i386/pc/kernel.h
1f5ab428 20008 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
20009 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
20010 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20011 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20012 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
20013
20014 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
20015
20016 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
20017 (Utility#rule): Likewise.
20018
20019 * configure.ac: Check if LZO is available.
20020
ce5bf700 200212003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
20022
20023 * include/pupa/normal.h: New file.
20024 * include/pupa/setjmp.h: Likewise.
20025 * include/pupa/i386/setjmp.h: Likewise.
20026 * normal/cmdline.c: Likewise.
20027 * normal/command.c: Likewise.
20028 * normal/main.c: Likewise.
20029 * normal/menu.c: Likewise.
20030 * normal/i386/setjmp.S: Likewise.
f19dbdb7 20031
ce5bf700 20032 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20033 (pupa_rescue_cmd_initrd): Likewise.
20034
20035 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20036 Likewise.
20037
20038 * kern/i386/pc/startup.S (translation_table): New variable.
20039 (translate_keycode): New function.
20040 (pupa_console_getkey): Call translate_keycode.
20041
20042 * kern/rescue.c (attempt_normal_mode): New function.
20043 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20044 it failed, print a message.
20045
20046 * kern/mm.c (pupa_real_malloc): Print more information when a
20047 free magic is broken.
20048 (pupa_free): If the first free header is not free actually, set
20049 it to P.
20050
20051 * kern/main.c (pupa_load_normal_mode): Just load the module
20052 "normal".
20053 (pupa_main): Don't print the message
20054 "Entering into rescue mode..." here.
20055
20056 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20057 Declared.
20058 (pupa_rescue_cmd_initrd): Likewise.
20059 (pupa_rescue_cmd_initrd): Likewise.
20060
20061 * include/pupa/symbol.h (FUNCTION): Specify the type.
20062 (VARIABLE): Likewise.
20063
20064 * include/pupa/err.h (pupa_err_t): Added
20065 PUPA_ERR_UNKNOWN_COMMAND.
20066
20067 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20068 (pupa_dl_get_prefix): Likewise.
20069
20070 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20071 Added _chain.mod and _linux.mod instead of chain.mod and
20072 linux.mod.
20073 (chain_mod_SOURCES): Renamed to ...
20074 (_chain_mod_SOURCES): ... this.
20075 (chain_mod_CFLAGS): Renamed to ...
20076 (_chain_mod_CFLAGS): ... this.
20077 (linux_mod_SOURCES): Renamed to ...
20078 (_linux_mod_SOURCES): ... this.
20079 (linux_mod_CFLAGS): Renamed to ...
20080 (_linux_mod_CFLAGS): ... this.
20081 (normal_mod_SOURCES): New variable.
20082 (normal_mod_CFLAGS): Likewise.
20083 (normal_mod_ASFLAGS): Likewise.
20084
200852003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20086
20087 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20088 possible.
20089
fe6b695a 20090 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 20091 recursively.
20092 (pupa_dl_unref): Unrefer depending modules recursively.
20093 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20094 a module is unloaded before one depending on that module is
20095 unloaded.
20096 (pupa_dl_unload): Unload depending modules explicitly,
20097 if possible.
20098
c04da074 200992003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
20100
20101 * include/pupa/i386/pc/linux.h: New file.
20102 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 20103
c04da074 20104 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
20105 Removed.
20106 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
20107 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
20108 of PUPA_CHAINLOADER_BOOT_SECTOR.
20109
20110 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
20111 (pupa_linux_prot_size): New variable.
20112 (pupa_linux_tmp_addr): Likewise.
20113 (pupa_linux_real_addr): Likewise.
20114 (pupa_linux_boot_zimage): New function.
20115 (pupa_linux_boot_bzimage): Likewise.
20116
20117 * kern/i386/pc/init.c (struct mem_region): New structure.
20118 (MAX_REGIONS): New macro.
20119 (mem_regions): New variable.
20120 (num_regions): Likewise.
20121 (pupa_os_area_addr): Likewise.
20122 (pupa_os_area_size): Likewise.
20123 (pupa_lower_mem): Likewise.
20124 (pupa_upper_mem): Likewise.
20125 (add_mem_region): New function.
20126 (compact_mem_regions): Likewise.
20127 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
20128 the size of the conventional memory and that of so-called upper
20129 memory (before the first memory hole).
20130 Instead of adding each found region to free memory, use
20131 add_mem_region and add them after removing overlaps.
20132 Also, add only 1/4 of the upper memory to free memory. The rest
20133 is used for loading OS images. Maybe this is ad hoc, but this
20134 makes it much easier to relocate OS images when booting.
20135
20136 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
20137 (pupa_enter_rescue_mode): Don't register initrd and module.
20138
20139 * kern/mm.c: Include pupa/dl.h.
20140
20141 * kern/main.c: Include pupa/file.h and pupa/device.h.
20142
20143 * kern/loader.c (pupa_loader_load_module_func): Removed.
20144 (pupa_loader_load_module): Likewise.
20145
20146 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
20147 ``.o''.
20148
20149 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
20150 (pupa_linux_tmp_addr): Likewise.
20151 (pupa_linux_real_addr): Likewise.
20152 (pupa_linux_boot_zimage): Likewise.
20153 (pupa_linux_boot_bzimage): Likewise.
20154
20155 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
20156 (pupa_upper_mem): Likewise.
20157 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
20158 module is too dangerous.
20159
20160 * include/pupa/loader.h (pupa_os_area_addr): Declared.
20161 (pupa_os_area_size): Likewise.
20162 (pupa_loader_set): Remove the first argument. Loader doesn't
20163 manage modules or initrd any longer.
20164 (pupa_loader_load_module): Removed.
20165
20166 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
20167 (linux_mod_SOURCES): New variable.
20168 (linux_mod_CFLAGS): Likewise.
20169
a13f9237 201702003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
20171
20172 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
20173 the length of a blocklist correctly.
20174
20175 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
20176 Use ioctl only if the OS file is a block device.
20177 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
20178 not very useful for normal files.
20179
20180 * kern/main.c (pupa_set_root_dev): New function.
20181 (pupa_load_normal_mode): Likewise.
20182 (pupa_main): Call those above.
20183
20184 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
20185 pupa_uint16_t.
20186
20187 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
20188
a5ffe966 201892003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20190
20191 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
20192 (setup): Configure the installed partition information and the
20193 dl prefix.
20194
20195 * loader/i386/pc/chainloader.c (my_mod): New variable.
20196 (pupa_chainloader_unload): New function.
20197 (pupa_rescue_cmd_chainloader): Refer itself.
20198 (PUPA_MOD_INIT): Save its own module in MY_MOD.
20199
20200 * kern/i386/pc/startup.S (install_partition): Removed.
20201 (version_string): Likewise.
20202 (config_file): Likewise.
20203 (pupa_install_dos_part): New variable.
20204 (pupa_install_bsd_part): Likewise.
20205 (pupa_prefix): Likewise.
20206 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
20207
20208 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
20209 and pupa/misc.h.
20210 (make_install_device): New function.
20211 (pupa_machine_init): Set the dl prefix.
20212
20213 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
20214 (buf): Renamed to ...
20215 (linebuf): ... this.
20216 (pupa_rescue_cmd_prefix): New function.
20217 (pupa_rescue_cmd_insmod): Likewise.
20218 (pupa_rescue_cmd_rmmod): Likewise.
20219 (pupa_rescue_cmd_lsmod): Likewise.
20220 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
20221 rmmod and lsmod.
20222
20223 * kern/mm.c (pupa_memalign): If failed even after invalidating
20224 disk caches, unload unneeded modules and retry.
20225
20226 * kern/misc.c (pupa_memmove): New function.
20227 (pupa_memcpy): Removed.
20228 (pupa_strcpy): New function.
20229 (pupa_itoa): Made static.
20230
20231 * kern/dl.c (pupa_dl_iterate): New function.
20232 (pupa_dl_ref): Likewise.
20233 (pupa_dl_unref): Likewise.
20234 (pupa_dl_unload): Return if succeeded or not.
20235 (pupa_dl_unload_unneeded): New function.
20236 (pupa_dl_unload_all): Likewise.
20237 (pupa_dl_init): Renamed to ...
20238 (pupa_dl_set_prefix): ... this.
20239 (pupa_dl_get_prefix): New function.
20240
20241 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
20242 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
20243 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20244 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20245 (pupa_install_dos_part): Declared.
20246 (pupa_install_bsd_part): Likewise.
20247 (pupa_prefix): Likewise.
20248 (pupa_boot_drive): Likewise.
20249
20250 * include/pupa/types.h: Fix a typo.
20251
20252 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
20253 pupa_memmove.
20254 (pupa_memmove): Declared.
20255 (pupa_strcpy): Likewise.
20256
20257 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
20258 pupa_mod_init takes one argument, its own module.
20259 (pupa_dl_unload_unneeded): Declared.
20260 (pupa_dl_unload_all): Likewise.
20261 (pupa_dl_ref): Likewise.
20262 (pupa_dl_unref): Likewise.
20263 (pupa_dl_iterate): Likewise.
20264 (pupa_dl_init): Renamed to ...
20265 (pupa_dl_set_prefix): ... this.
20266 (pupa_dl_get_prefix): Declared.
20267
20268 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 20269 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 20270 unloaded.
20271 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
20272 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
20273
20274 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
20275 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
20276
012d7999 202772003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20278
20279 * util/i386/pc/pupa-setup.c (setup): Define the internal
20280 function find_first_partition_start at the top level, because GCC
20281 3.0.x cannot compile internal functions in deeper scopes
20282 correctly.
20283 (find_root_device): Use lstat instead of stat.
20284 Don't follow symbolic links.
20285 Fix the path-constructing code.
20286
20287 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
20288 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
20289 by a BLKGETSIZE ioctl first, because block devices don't fill
20290 the member st_mode of the structure stat on Linux.
20291 [__linux__] (linux_find_partition): Use a temporary buffer
20292 REAL_DEV for the working space. Copy it to DEV before returning.
20293 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
20294 buffer cache consistent.
20295 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
20296 strncmp. The previous value was merely wrong.
20297 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
20298
20299 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
20300 FAT size is 12. The previous value was merely wrong.
20301
20302 * kern/main.c (pupa_main): Don't split the starting message from
20303 newlines.
20304
20305 * kern/term.c (pupa_putchar): Put CR after LF instead of before
20306 LF, because BIOS goes crazy about character attributes in this
20307 case.
20308
1cc73a62 203092003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20310
20311 * include/i386/pc/util/biosdisk.h: New file.
20312 * util/i386/pc/biosdisk.c: Likewise.
20313 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 20314
1cc73a62 20315 * Makefile.in (INCLUDE_DISTFILES): Added
20316 include/pupa/i386/pc/util/biosdisk.h.
20317 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
20318 directory util/i386/pc.
20319 (install-local): Added a rule for sbin_UTILITIES.
20320 (uninstall): Likewise.
20321
20322 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
20323
20324 * util/misc.c (xrealloc): New function.
20325 (pupa_malloc): Likewise.
20326 (pupa_free): Likewise.
20327 (pupa_realloc): Likewise.
20328 (pupa_stop): Likewise.
20329 (pupa_putchar): Likewise.
20330
20331 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
20332
20333 * include/pupa/util/misc.h (xrealloc): Declared.
20334
20335 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
20336 macro.
20337 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
20338 (PUPA_BOOT_MACHINE_BPB_END): ... this.
20339
20340 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
20341 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20342
20343 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
20344 way should be implemented.
20345 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20346
20347 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
20348 the size of NAME for safety.
20349 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
20350 0x88.
20351
20352 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
20353 (pupa_setup_SOURCES): Likewise.
20354
20355 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
20356
08b70fe8 203572002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20358
20359 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
20360 bunch of pushl's from pusha, because this destroys the return
20361 value.
20362
62ddcc8f 203632002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20364
20365 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
20366 This means that any missing prototypes could be fatal. Also, you
20367 must take care when writing assembly code. See the comments at
20368 the beginning of startup.S, for more details.
f19dbdb7 20369
62ddcc8f 20370 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
20371 compilation mechanism.
20372 (pupa_chainloader_real_boot): Likewise.
20373 (pupa_biosdisk_rw_int13_extensions): Likewise.
20374 (pupa_biosdisk_rw_standard): Likewise.
20375 (pupa_biosdisk_check_int13_extensions): Likewise.
20376 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
20377 (pupa_biosdisk_get_diskinfo_standard): Likewise.
20378 (pupa_get_memsize): Likewise.
20379 (pupa_get_mmap_entry): Likewise.
20380 (pupa_console_putchar): Likewise.
20381 (pupa_console_setcursor): Likewise.
20382 (pupa_getrtsecs): Use pushl instead of push.
20383
20384 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
20385 memory instead of the stack for a mmap entry, because some
20386 BIOSes may ignore the maximum size and overflow.
20387
20388 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
20389
20390 * genmk.rb (PModule#rule): Compile automatically generated
20391 sources with module-specific CFLAGS as well as other sources.
20392
9962ed99 203932002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20394
20395 * configure.ac: Check ld.
20396 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
20397 respectively, before checking endianness and sizes.
20398
20399 * Makefile.in (LD): New variable.
f19dbdb7 20400
abdfc3c5 204012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20402
20403 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
20404
6a161fa9 204052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20406
20407 * Changelog: New file.
20408