]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / ChangeLog
CommitLineData
246cd78f 12009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4 OSes.
5
4f9dfb37 62009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7
8 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9
b82bd5e1 102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
11
12 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13 giving it to GNU Mach.
14
ff1a9bca 152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16
17 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18 GNU partition number to get internal GRUB partition number.
19
61697d9c 202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21
22 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24
a50569e1 252009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26
27 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29 case.
30
5b153867 312009-11-01 Felix Zielcke <fzielcke@z-51.de>
32
33 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34
d9e2cd70 352009-10-30 Robert Millan <rmh.grub@aybabtu.com>
36
37 Fix build problem.
38
39 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
40 `-isystem=$(srcdir)/include'.
41
805111a4 422009-10-30 Robert Millan <rmh.grub@aybabtu.com>
43
44 * util/i386/pc/grub-install.in: Remove hint that device.map should be
45 checked (grub-install doesn't currently rely on it).
46
fa6e945f 472009-10-29 Robert Millan <rmh.grub@aybabtu.com>
48
49 Revert SVN r2660.
50
51 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
52 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
53 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
54 * conf/i386-ieee1275.rmk: Likewise.
55 * conf/i386-pc.rmk: Likewise.
56 * conf/powerpc-ieee1275.rmk: Likewise.
57 * conf/sparc64-ieee1275.rmk: Likewise.
58 * conf/x86_64-efi.rmk: Likewise.
59
cee15086 602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
61
62 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
63
95b9239e 642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
65
66 * include/grub/misc.h: Stop checking for APPLE_CC.
67
2ed19dfd 682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
69
70 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
71 doesn't cause an infinite call loop.
72
fdcdde19 732009-10-28 Felix Zielcke <fzielcke@z-51.de>
74
75 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
76 strings.
77
cefabfe1 782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
79
80 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
81 variable.
82 * Makefile.in: Likewise.
83
ed96ab6d 842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
85
86 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
87
0579b753 882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
89
90 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
91
478df409 922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
93
94 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
95
083d1679 962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
97
98 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
99 from here ...
100 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
101
5947ae32 1022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
103
104 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
105 in $(MAKEINFO) invocation. This makes it clear in output that
106 errors are being ignored.
107
94180ff6 1082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
109
110 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
111 from here ...
112 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
113 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
114 * conf/i386-ieee1275.rmk: Likewise.
115 * conf/i386-pc.rmk: Likewise.
116 * conf/powerpc-ieee1275.rmk: Likewise.
117 * conf/sparc64-ieee1275.rmk: Likewise.
118 * conf/x86_64-efi.rmk: Likewise.
119
9031b03a 1202009-10-26 Colin Watson <cjwatson@ubuntu.com>
121
122 * util/grub-editenv.c (main): If only a command is given, use
123 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
124 (usage): FILENAME is now optional and has a default.
125
e4f6809b 1262009-10-26 Colin Watson <cjwatson@ubuntu.com>
127
128 Improve grub-mkconfig performance when there are several menu
129 entries on a single filesystem.
130
131 * util/grub.d/10_linux.in (linux_entry): Cache the output of
132 prepare_grub_to_access_device.
133 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
134 * util/grub.d/30_os-prober.in: Likewise.
135
67937d4d 1362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
137
138 * util/grub.d/10_freebsd.in: Remove.
139 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
140 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
141
ee3756cc 1422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
143
5c35048e 144 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 145
4dea1c6f 1462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
147
148 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
149 grub_util_error() call.
150
042484d7 1512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
152
153 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
154 `reserved_first_sector' member.
155 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
156 `reserved_first_sector' to 1.
157 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
158 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
159 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
160 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
161 filesystems which begin at first sector.
162 (options): New option --skip-fs-probe.
163 (main): Handle --skip-fs-probe and pass it to setup().
164
d64448a7 1652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
166
167 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
168 (memset): Fix function prototype.
169
508d42ec 1702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1712009-10-25 Vasily Averin <vvs@parallels.com>
172
173 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
174 `dirent.direntlen == 0'.
175
b240e30c 1762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
177
178 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
179 `cpio'.
180 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
181
346e7fbe 1822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
183
184 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
185 `__trampoline_setup' and `__ucmpdi2'.
186 * include/grub/powerpc/libgcc.h: Only export symbols for functions
187 that libgcc provides.
188
cdb308b0 1892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
190
191 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
192 * include/grub/sparc64/libgcc.h (memset): Likewise.
193 * include/grub/misc.h (memset, memcmp): New function prototypes.
194
fb26abc2 1952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
196
197 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
198 `cpio'.
199 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
200
f6693890 2012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
202
203 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
204 * docs/grub.cfg: Compensate for recent change in multiboot
205 loader (since 2009-08-14 it won't pass filename to payload).
206 * util/grub.d/10_hurd.in: Likewise.
207
0933cdc0 2082009-10-21 Felix Zielcke <fzielcke@z-51.de>
209
210 * config.guess: Update to latest version from config git
211 repository.
212 * config.sub: Likewise.
213
3b2fe8c2 2142009-10-20 Robert Millan <rmh.grub@aybabtu.com>
215
216 Fix build on sparc64.
217
218 * configure.ac: Perform checks for libgcc symbols before
219 adding `-nostdlib' to LDFLAGS.
220
46695a62 2212009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Let user specify OpenBSD root device.
224
225 * loader/i386/bsd.c (openbsd_root): New variable.
226 (openbsd_opts): New option 'root'.
227 (OPENBSD_ROOT_ARG): New macro.
228 (grub_openbsd_boot): Use 'openbsd_root'.
229 (grub_cmd_openbsd): Fill 'openbsd_root'.
230
d2b6b7fc 2312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
232
233 * NEWS: Misc adjustments.
234
421bd7ac 2352009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
238
f1d29d87 2392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
240
241 * configure.ac: Bump version to 1.97.
242
6f3cd880 2432009-10-16 Colin Watson <cjwatson@ubuntu.com>
244
245 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
246 -mno-3dnow on x86 architectures. Some toolchains enable these
247 features by default, but they rely on registers that aren't enabled
248 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
249
035f7122 2502009-10-15 Robert Millan <rmh.grub@aybabtu.com>
251
252 Make entry text a bit more readable.
253
254 * util/grub.d/10_linux.in: Add `with' before `Linux'.
255
44998e58 2562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
259
cd2851b3 2602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
263 operations.
264
c6f3b249 2652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * configure.ac: Add missing dollar.
268
6b5886ba 2692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
270
271 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
272
273 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
274 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
275 exports.
276 * include/grub/sparc64/libgcc.h: Likewise. Use
277 preprocessor conditionals.
278
e9d66f6d 2792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
280
281 * conf/common.rmk (grub-dumpbios): Remove rule.
282 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
283 * util/grub-dumpbios.in: Remove file.
284
9155bc17 2852009-10-14 Robert Millan <rmh.grub@aybabtu.com>
286
287 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
288 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
289
290 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
291 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
292 users.
293
294 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
295 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
296 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
297 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
298 users.
299
bf7f7a18 3002009-10-12 Robert Millan <rmh.grub@aybabtu.com>
301
302 * term/tparm.c: Switch to GPLv3.
303
86564c26 3042009-10-09 Robert Millan <rmh.grub@aybabtu.com>
305
306 * include/grub/i386/cpuid.h: Add header protection.
307
5c936493 3082009-10-09 Robert Millan <rmh.grub@aybabtu.com>
309
310 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
311
312 * include/grub/i386/cpuid.h: New file.
313 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
314 (has_longmode): Rename to ...
315 (grub_cpuid_has_longmode): ... this. Update all users. Remove
316 `static' attribute.
317 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
318 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
319 on a CPU that doesn't implement AMD64 instruction set.
320
186e7cf2 3212009-10-06 Colin Watson <cjwatson@ubuntu.com>
322
323 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
324 that version.texi is rebuilt on version number changes.
325
83b65c4a 3262009-10-06 Colin Watson <cjwatson@ubuntu.com>
327
328 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
329 Fixes bug #27602.
330
d244281c 3312009-10-06 Colin Watson <cjwatson@ubuntu.com>
332
333 * util/i386/pc/grub-install.in: Source
334 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
335 that the --grub-probe option will work.
336 * util/sparc64/ieee1275/grub-install.in: Likewise.
337
da25306d 3382009-10-05 Robert Millan <rmh.grub@aybabtu.com>
339
340 * configure.ac: Bump version to 1.97~beta4.
341
e8ee83c0 3422009-10-03 Robert Millan <rmh.grub@aybabtu.com>
343
344 Resync grub-mkdevicemap in x86_64-efi.
345
346 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
347 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
348 `util/devicemap.c'.
349
50dcabcf 3502009-10-01 Colin Watson <cjwatson@ubuntu.com>
351
352 * util/grub-editenv.c (create_envblk_file): Write new block with a
353 .new suffix and then rename it into place, to ensure atomic
354 creation.
355
0e51c3a7 3562009-09-28 Robert Millan <rmh.grub@aybabtu.com>
357
358 Do not automatically install headers.
359
360 * Makefile.in (include_DATA): Remove. Update all users.
361
31299a95 3622009-09-26 Robert Millan <rmh.grub@aybabtu.com>
363
364 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
365 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
366
367 * util/osdetect.lua: Remove.
368 * script/lua/lauxlib.c: Likewise.
369 * script/lua/ldebug.c: Likewise.
370 * script/lua/grub_main.c: Likewise.
371 * script/lua/lauxlib.h: Likewise.
372 * script/lua/ldebug.h: Likewise.
373 * script/lua/ltablib.c: Likewise.
374 * script/lua/liolib.c: Likewise.
375 * script/lua/lstrlib.c: Likewise.
376 * script/lua/lualib.h: Likewise.
377 * script/lua/ldo.c: Likewise.
378 * script/lua/ldump.c: Likewise.
379 * script/lua/ldo.h: Likewise.
380 * script/lua/loslib.c: Likewise.
381 * script/lua/lundump.c: Likewise.
382 * script/lua/grub_lib.c: Likewise.
383 * script/lua/ldblib.c: Likewise.
384 * script/lua/lundump.h: Likewise.
385 * script/lua/lmem.c: Likewise.
386 * script/lua/grub_lib.h: Likewise.
387 * script/lua/lmathlib.c: Likewise.
388 * script/lua/lstate.c: Likewise.
389 * script/lua/ltm.c: Likewise.
390 * script/lua/lvm.c: Likewise.
391 * script/lua/lmem.h: Likewise.
392 * script/lua/lstate.h: Likewise.
393 * script/lua/ltm.h: Likewise.
394 * script/lua/ltable.c: Likewise.
395 * script/lua/lvm.h: Likewise.
396 * script/lua/llex.c: Likewise.
397 * script/lua/lgc.c: Likewise.
398 * script/lua/grub_lua.h: Likewise.
399 * script/lua/loadlib.c: Likewise.
400 * script/lua/lfunc.c: Likewise.
401 * script/lua/lopcodes.c: Likewise.
402 * script/lua/lparser.c: Likewise.
403 * script/lua/ltable.h: Likewise.
404 * script/lua/llex.h: Likewise.
405 * script/lua/lgc.h: Likewise.
406 * script/lua/lfunc.h: Likewise.
407 * script/lua/lbaselib.c: Likewise.
408 * script/lua/lopcodes.h: Likewise.
409 * script/lua/lparser.h: Likewise.
410 * script/lua/lzio.c: Likewise.
411 * script/lua/linit.c: Likewise.
412 * script/lua/lobject.c: Likewise.
413 * script/lua/llimits.h: Likewise.
414 * script/lua/lstring.c: Likewise.
415 * script/lua/lzio.h: Likewise.
416 * script/lua/lapi.c: Likewise.
417 * script/lua/lcode.c: Likewise.
418 * script/lua/lua.h: Likewise.
419 * script/lua/lobject.h: Likewise.
420 * script/lua/lstring.h: Likewise.
421 * script/lua/lapi.h: Likewise.
422 * script/lua/lcode.h: Likewise.
423 * script/lua/luaconf.h: Likewise.
424
cb8a2c38 4252009-09-26 Colin Watson <cjwatson@ubuntu.com>
426
427 * docs/grub.texi (Command-line and menu entry commands): Document
428 date and echo commands.
429
6b9b6276 4302009-09-24 Pavel Roskin <proski@gnu.org>
431
432 * include/grub/kernel.h (struct grub_module_header): Remove
433 `grub_module_header_types'. Make `type' unsigned. Make `size'
434 32-bit on all platforms.
435 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
436 8-bit field. Use grub_host_to_target32() for `size'.
437 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
438 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
439 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
440
4e5a02a7 4412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
442
443 Fix "lost keypress" bug in at_keyboard.
444
445 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
446 Checks for readyness of input buffer (without flushing it).
447 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
448 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
449
c6dcedf6 4502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
451
452 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
453 size check within GRUB_MACHINE_PCBIOS section.
454
74c958b1 4552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
456
457 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
458 return value.
459 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
460 KEYBOARD_ISREADY check.
461 (grub_at_keyboard_checkkey): Rename to ...
462 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
463 Remove gratuitous cast.
464
ff420223 4652009-09-23 Colin Watson <cjwatson@ubuntu.com>
466
467 * configure.ac: Call AC_PROG_MKDIR_P.
468 * Makefile.in (docs/stamp-vti): Create docs directory. Create
469 version.texi in $(builddir) rather than $(srcdir).
470 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
471 to makeinfo's @include search path.
472
d96875df 4732009-09-23 Felix Zielcke <fzielcke@z-51.de>
474
475 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
476
9b3f8365 4772009-09-23 Felix Zielcke <fzielcke@z-51.de>
478
479 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
480 for `*.dpkg-new'.
481
c44c90db 4822009-09-21 Colin Watson <cjwatson@ubuntu.com>
483
484 Build info documentation. Some code borrowed from Automake.
485
486 * configure.ac: Check for makeinfo.
487 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
488 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
489 docs/version.texi.
490 (MOSTLYCLEANFILES): Add vti.tmp.
491 (docs/version.texi, docs/stamp-vti): Update automatically.
492 (docs/grub.info): Build info documentation. Use --force and ignore
493 errors for now.
494 (all-local): Add $(INFOS).
495 (install-local): Install info files.
496 (uninstall): Uninstall info files.
497 * docs/version.texi: Remove from revision control. This file is
498 automatically generated on build now.
499 * gendistlist.sh: Add `*.info'.
500
e0b37bb5 5012009-09-21 Felix Zielcke <fzielcke@z-51.de>
502
503 * kern/term.c: Fix indentation.
504
5a78865b 5052009-09-21 Felix Zielcke <fzielcke@z-51.de>
506
507 * util/hostdisk.c: Fix a comment.
508
dace7e8a 5092009-09-20 Robert Millan <rmh.grub@aybabtu.com>
510
511 Fix regression introduced in r2539.
512
513 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
514 to 0xA1.
515
a83d079b 5162009-09-19 Colin Watson <cjwatson@ubuntu.com>
517
518 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 519 os-prober. Under normal operation, it does not print anything to
520 stderr; if it does, we need to debug it, and throwing away stderr
521 makes that excessively difficult.
a83d079b 522
be94a509 5232009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
526
63f745e8 5272009-09-16 Robert Millan <rmh.grub@aybabtu.com>
528
529 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
530 AC_LANG_PROGRAM from autoconf.
531 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
532 prototypes (fixes warning).
533
534 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
535 `--disable-werror' was used.
536
bbb2a70f 5372009-09-16 Robert Millan <rmh.grub@aybabtu.com>
538
539 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
540 uninitialized `lastaddr'.
541
77c24f1d 5422009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
543
0f0b8c87 544 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 545
07197f23 5462009-09-14 Colin Watson <cjwatson@ubuntu.com>
547
548 * commands/test.c (get_fileinfo): Return immediately if
549 grub_fs_probe fails.
550
dabf1798 5512009-09-14 José Martínez <xosemp@gmail.com>
552
553 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
554
d52109a7 5552009-09-14 Colin Watson <cjwatson@ubuntu.com>
556
557 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
558 output.
559
56532179 5602009-09-13 Robert Millan <rmh.grub@aybabtu.com>
561
562 * configure.ac: Remove --enable-grub-pe2elf. Only build
563 grub-pe2elf when needed by the build system itself.
564 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
565
8ef070f5 5662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
567
568 * configure.ac: Bump version to 1.97~beta3.
569 * docs/version.texi: Likewise.
570
61229557 5712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
572
573 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
574 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
575 from here ...
576 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
577 (grub_linux_setup_video): ... to here (with some adjustments).
578
5c9f8d84 5792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
580
581 Fix memory corruption issue (spotted by Colin Watson).
582
583 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
584 causing returned size to be stored in an incorrect memory location.
585 Fix use of uninitialized value when storing the returned size.
586
e8f5d6e9 5872009-09-12 Yves Blusseau <blusseau@zetam.org>
588
589 Change clean rules to properly remove files
590
591 * genmk.rb: add new clean rules
592 * Makefile.in (clean): add the new targets
593 (mostlyclean): likewise
594
cda2a409 5952009-09-11 Colin Watson <cjwatson@ubuntu.com>
596
597 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
598 to grub_uint64_t.
599 * fs/ntfs.c (init_file): Understand 64-bit sizes for
600 non-resident files.
601
86695375 6022009-09-11 Colin Watson <cjwatson@ubuntu.com>
603
604 * configure.ac: Don't look for help2man when cross-compiling. Fixes
605 part of bug #27349.
606
8aa1541a 6072009-09-10 Felix Zielcke <fzielcke@z-51.de>
608
609 * util/grub-mkconfig.in: Make the created config mode 400 and
610 print a warning if it fails.
611
48d9bb0a 6122009-09-10 Robert Millan <rmh.grub@aybabtu.com>
613
614 * util/grub.d/40_custom.in: Ask user to type custom entries below
615 comment, rather than below 'exec tail' line.
616
3b0521be 6172009-09-10 Colin Watson <cjwatson@ubuntu.com>
618
619 * util/grub.d/40_custom.in: Make sure that the explanatory text is
620 visible in grub.cfg.
621
50051d55 6222009-09-10 Colin Watson <cjwatson@ubuntu.com>
623
624 * util/grub.d/40_custom.in: Make it a little clearer how to use this
625 file.
626
c0d34387 6272009-09-10 Felix Zielcke <fzielcke@z-51.de>
628
629 * docs/grub.cfg: Add an example menu entry for memtest86+.
630
80a608f3 6312009-09-09 Felix Zielcke <fzielcke@z-51.de>
632
a2094832 633 * config.guess: Update to latest version from config git.
80a608f3 634 * config.sub: Likewise.
635
99423078 6362009-09-08 Colin Watson <cjwatson@ubuntu.com>
637
638 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
639 unknown-command case. Fixes bug #27320.
640
44454e4c 6412009-09-08 Felix Zielcke <fzielcke@z-51.de>
642
643 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
644 `help' if the command exists.
645
e30d87ad 6462009-09-06 Robert Millan <rmh.grub@aybabtu.com>
647
648 * INSTALL: Require GCC 4.1.3 or later.
649
9a86f1ec 6502009-09-06 Yves Blusseau <blusseau@zetam.org>
651
652 * Makefile.in (RMKFILES): add i386-qemu.rmk
653 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
654 $(srcdir)/stamp-h.in
655
7f26d466 6562009-09-05 Robert Millan <rmh.grub@aybabtu.com>
657
658 * util/grub-probe.c (probe): Comment out buggy codepath, which
659 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
660 should be re-enabled after 1.97.
661
3a613259 6622009-09-05 Felix Zielcke <fzielcke@z-51.de>
663
664 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
665 find searches for.
666
197f76c7 6672009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
670 unnecessary calls to grub_error.
671
70ba68ce 6722009-09-04 Colin Watson <cjwatson@ubuntu.com>
673
674 * NEWS: Mention `keystatus' and Unicode fonts.
675
4ff0d7a4 6762009-09-04 Robert Millan <rmh.grub@aybabtu.com>
677
678 * configure.ac: Bump version to 1.97~beta2.
679 * docs/version.texi: Likewise.
680
77c55a87 6812009-09-03 Colin Watson <cjwatson@ubuntu.com>
682
683 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
684 containing unwind information in some cases where it previously did
685 not. Use -fno-dwarf2-cfi-asm if available to restore the old
686 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
687 discussion.
688
f79572cd 6892009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
690
691 Embedding loadenv module into grub-emu
692
693 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
694 commands/loadenv.c
695 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
701
93a81088 7022009-09-03 Magnus Granberg <zorry@ume.nu>
703
704 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
705 include -fPIE in the default specs.
706 * configure.ac: Check if pie_possible is yes and add -fno-PIE
707 to TARGET_CFLAGS.
708
160034b2 7092009-09-03 Felix Zielcke <fzielcke@z-51.de>
710
711 * INSTALL: Note that GNU Bison 2.3 or later is required.
712
087c07c4 7132009-09-03 Colin Watson <cjwatson@ubuntu.com>
714
715 * kern/i386/pc/startup.S: Fix typo.
716
cbf978c0 7172009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
720 according to GCS.
721
7222009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 723
724 * docs/grub.texi (Naming convention): Describe one-based partition
725 numbering.
726 (Device syntax): Likewise.
727 (File name syntax): Likewise.
728 (Block list syntax): Likewise.
729 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
730 menu.lst.
731 (File name syntax): Likewise.
732 (Command-line and menu entry commands): Document acpi, blocklist,
733 crc, export, insmod, keystatus, ls, set, and unset commands.
734
f3e8cdfd 7352009-09-02 Colin Watson <cjwatson@ubuntu.com>
736
737 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
738 to avoid implying that only one of --shift, --ctrl, or --alt may be
739 used.
740
c0bc232b 7412009-09-02 Colin Watson <cjwatson@ubuntu.com>
742
743 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
744 rather than comparing against S_IFREG, which will almost never work.
745
aa0f752d 7462009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
749 (write_blocklists): Likewise.
750
ecb3166a 7512009-09-01 Colin Watson <cjwatson@ubuntu.com>
752
753 * script/lua/grub_lua.h (fputs): Supply a format string as the first
754 argument to grub_printf.
755
c403a125 7562009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 757
758 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 759 non GNU test.
31aba781 760
b5e7312c 7612009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * kern/file.c (grub_file_read): Spelling fix
764
fe00f472 7652009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
768 loading of headers in some cases.
769
cc55302e 7702009-08-30 Robert Millan <rmh.grub@aybabtu.com>
771
772 * configure.ac: Bump version to 1.97~beta1.
773 * docs/version.texi: Likewise.
774
5c90cdd2 7752009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 776
777 * include/grub/i386/xnu.h: Add license header.
778 include grub/err.h explicitly.
779
c90edae4 7802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
781
782 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
783 to `ufs' in the vfs.root.mountfrom kernel parameter.
784
d8888b5c 7852009-08-29 Robert Millan <rmh.grub@aybabtu.com>
786
787 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
788
789 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
790 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
791
792 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
793 `ARRAY_SIZE' macro.
794
6f07b921 7952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * kern/file.c (grub_file_read): Check offset.
798 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
799 * fs/jfs.c (grub_jfs_read_file): Likewise.
800 * fs/ntfs.c (grub_ntfs_read): Likewise.
801 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
802 * fs/minix.c (grub_minix_read_file): Correct offset check.
803 * fs/ufs.c (grub_ufs_read_file): Likewise.
804
b4f34077 8052009-08-28 Colin Watson <cjwatson@ubuntu.com>
806
807 * term/i386/pc/console.c (bios_data_area): Cast
808 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
809
e7c69859 8102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
811
812 1-bit optimised blitters.
813
814 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
815 prototype.
816 (grub_video_fbblit_replace_24bit_1bit): Likewise.
817 (grub_video_fbblit_replace_16bit_1bit): Likewise.
818 (grub_video_fbblit_replace_8bit_1bit): Likewise.
819 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
820 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
821 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
822 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
823 function.
824 (grub_video_fbblit_replace_24bit_1bit): Likewise.
825 (grub_video_fbblit_replace_16bit_1bit): Likewise.
826 (grub_video_fbblit_replace_8bit_1bit): Likewise.
827 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
828 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
829 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
830 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
831 when possible.
832 * video/video.c (grub_video_get_blit_format): Return
833 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
834
a57da43f 8352009-08-28 Colin Watson <cjwatson@ubuntu.com>
836
837 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
838 the first argument to grub_printf.
839
4cbe67e5 8402009-08-28 Colin Watson <cjwatson@ubuntu.com>
8412009-08-28 Robert Millan <rmh.grub@aybabtu.com>
842
843 Add `getkeystatus' terminal method. Add a new `keystatus' command
844 to query it.
845
846 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
847 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
848 modifier key bitmasks.
849 (struct grub_term_input): Add `getkeystatus' member.
850 (grub_getkeystatus): Add prototype.
851 * kern/term.c (grub_getkeystatus): New function.
852
853 * include/grub/i386/pc/memory.h
854 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
855 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
856 Data Area layout.
857 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
858 (grub_console_term_input): Set `getkeystatus' member.
859 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
860 constants.
861 (grub_usb_keyboard_getreport): Likewise.
862 (grub_usb_keyboard_checkkey): Likewise.
863 (grub_usb_keyboard_getkeystatus): New function.
864 (grub_usb_keyboard_term): Set `getkeystatus' member.
865
866 * commands/keystatus.c: New file.
867 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
868 (keystatus_mod_SOURCES): New variable.
869 (keystatus_mod_CFLAGS): Likewise.
870 (keystatus_mod_LDFLAGS): Likewise.
871 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
872 commands/keystatus.c.
873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
875 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
878 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 879
6e2a9085 8802009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Split befs.mod and afs.mod into *_be.mod and *.mod
883
884 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
885 (grub_fstest_SOURCES): Likewise.
886 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
887 (afs_be_mod_SOURCES): New variable.
888 (afs_be_mod_CFLAGS): Likewise.
889 (afs_be_mod_LDFLAGS): Likewise.
890 (befs_be_mod_SOURCES): Likewise.
891 (befs_be_mod_CFLAGS): Likewise.
892 (befs_be_mod_LDFLAGS): Likewise.
893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.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_setup_SOURCES): Likewise.
897 (grub_emu_SOURCES): Likewise.
898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
900 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
901 * fs/afs_be.c: New file.
902 * fs/befs_be.c: New file.
903 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
904 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
905 (U16): Replaced with ...
906 (grub_afs_to_cpu16): ...this. All users updated.
907 (U32): Replaced with ...
908 (grub_afs_to_cpu32): ...this. All users updated.
909 (U64): Replaced with ...
910 (grub_afs_to_cpu64): ...this. All users updated.
911 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
912 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 913 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 914 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
915 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
916 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
917 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
918 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
919 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
920 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
921 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
922
32a71655 9232009-08-26 Bean <bean123ch@gmail.com>
924
925 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
926 64-bit number.
927 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
928 (grub_xfs_inode_block): Change return type to grub_uint64_t.
929 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
930
552bf6c5 9312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
932
933 NetBSD memory map support.
934
935 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
936 (grub_netbsd_btinfo_mmap_header): New structure.
937 (grub_netbsd_btinfo_mmap_entry): Likewise.
938 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
939
1ae2078c 9402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Enable bsd.mod on coreboot.
943
944 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
945 (bsd_mod_SOURCES): New variable.
946 (bsd_mod_CFLAGS): Likewise.
947 (bsd_mod_LDFLAGS): Likewise.
948 (bsd_mod_ASFLAGS): Likewise.
949 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
950 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
951
beefc598 9522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Cleanup NetBSD root support.
955
956 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
957 grub_bsd_get_device.
958 Fix typo.
959
3b76e68b 9602009-08-25 Felix Zielcke <fzielcke@z-51.de>
961
962 * util/grub.d/00_header.in: Move check for the video backend of
963 gfxterm from here ...
964 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
965 a suitable video backend.
966
aea664ea 9672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Fix breakage in grub-setup.
970
971 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
972 "msdos_partition_map".
973
ff747d50 9742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Fix breakage in normal/auth.c.
977
978 * normal/auth.c (grub_iswordseparator): New function.
979
e7e1f93f 9802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Authentication support.
983
984 * commands/password.c: New file.
985 * conf/common.rmk (pkglib_MODULES): Add password.mod.
986 (password_mod_SOURCES): New variable.
987 (password_mod_CFLAGS): Likewise.
988 (password_mod_LDFLAGS): Likewise.
989 (normal_mod_SOURCES): Add normal/auth.c.
990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
991 normal/auth.c.
992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
994 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
996 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
997 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
998 * include/grub/auth.h: New file.
999 * include/grub/err.h (grub_err_t): New enum value
1000 GRUB_ERR_ACCESS_DENIED.
1001 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
1002 'users'.
1003 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
1004 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1005 users updated.
1006 * normal/auth.c: New file.
1007 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1008 (grub_cmdline_run): Don't allow to go to command line without
1009 authentication.
1010 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1011 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1012 menuentry without superuser rights.
1013 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1014 user isn't a superuser.
1015
70f1161d 10162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Save space by inlining misc.c functions.
1019
1020 * kern/misc.c (grub_iswordseparator): Made static.
1021 * kern/misc.c (grub_strcat): Moved from here ...
1022 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1023 * kern/misc.c (grub_strncat): Moved from here ...
1024 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1025 * kern/misc.c (grub_strcasecmp): Moved from here ...
1026 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1027 * kern/misc.c (grub_strncasecmp): Moved from here ...
1028 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1029 * kern/misc.c (grub_isalpha): Moved from here ...
1030 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1031 * kern/misc.c (grub_isdigit): Moved from here ...
1032 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1033 * kern/misc.c (grub_isgraph): Moved from here ...
1034 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1035 * kern/misc.c (grub_tolower): Moved from here ...
1036 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1037
48e40bff 10382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * script/sh/function.c (grub_script_function_find): Cut error message
1041 not to flood terminal.
1042 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1043 limit.
1044 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1045
c385bfc3 10462009-08-24 Colin Watson <cjwatson@ubuntu.com>
1047
1048 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1049 `report' grub_uint8_t *.
1050 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1051 Use a 50-millisecond timeout rather than just repeating
1052 grub_usb_keyboard_getreport 50 times.
1053 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1054
2d21e3e8 10552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 Rename *_partition_map to part_*
1058
1059 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1060 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1061 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1062 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1063 All users updated.
1064 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1065 All users updated.
1066 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1067 * util/grub-probe.c (probe_partmap): Don't transform partition name
1068 to get module name.
1069
dd103c4e 10702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 Fix OpenBSD and NetBSD support.
1073
1074 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1075 memory address conflict.
1076 (OPENBSD_MMAP_ACPI): New definition.
1077 (OPENBSD_MMAP_NVS): Likewise.
1078 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
1079 and OPENBSD_MMAP_NVS.
1080 Add memory map terminator
1081 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 1082 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 1083
16c84d74 10842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Let user specify NetBSD root device.
1087
1088 * loader/i386/bsd.c (netbsd_root): New variable.
1089 (netbsd_opts): New option 'root'.
1090 (NETBSD_ROOT_ARG): New macro.
1091 (grub_netbsd_boot): Use 'netbsd_root'.
1092 (grub_bsd_unload): Free 'netbsd_root'.
1093 (grub_cmd_netbsd): Fill 'netbsd_root'.
1094
adb29902 10952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Support for 64-bit NetBSD.
1098
1099 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
1100 point when booting non-FreeBSD.
1101
f5ae9f74 11022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 Support --no-smp and --no-acpi for NetBSD.
1105
1106 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
1107 (NETBSD_AB_NOACPI): Likewise.
1108 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
1109 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
1110
de74f136 11112009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
1114 errors.
1115 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
1116 errors. Call grub_error when needed.
1117
e9a925da 11182009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * commands/search.c (search_fs): Try searching without autoload first.
1121 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1122 filesystem module explicitly for faster booting.
1123
5174302b 11242009-08-23 Colin Watson <cjwatson@ubuntu.com>
1125
1126 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
1127
c8c80635 11282009-08-23 Colin Watson <cjwatson@ubuntu.com>
1129
1130 * util/grub.d/30_os-prober.in: Disable os-prober if
1131 `GRUB_DISABLE_OS_PROBER' was set to true.
1132
71acf5e5 11332009-08-23 Robert Millan <rmh.grub@aybabtu.com>
1134
1135 * partmap/pc.c: Rename to ...
1136 * partmap/msdos.c: ... this. Update all users.
1137 (grub_pc_partition_map): Rename to ...
1138 (grub_msdos_partition_map): ... this. Update all users.
1139
1140 * parttool/pcpart.c: Rename to ...
1141 * parttool/msdospart.c: ... this. Update all users.
1142
1143 * include/grub/pc_partition.h: Rename to ...
1144 * include/grub/msdos_partition.h: ... this. Update all users.
1145 (grub_pc_partition_bsd_entry): Rename to ...
1146 (grub_msdos_partition_bsd_entry): ... this. Update all users.
1147 (grub_pc_partition_disk_label): Rename to ...
1148 (grub_msdos_partition_disk_label): ... this. Update all users.
1149 (grub_pc_partition_entry): Rename to ...
1150 (grub_msdos_partition_entry): ... this. Update all users.
1151 (grub_pc_partition_mbr): Rename to ...
1152 (grub_msdos_partition_mbr): ... this. Update all users.
1153 (grub_pc_partition): Rename to ...
1154 (grub_msdos_partition): ... this. Update all users.
1155 (grub_pc_partition_is_empty): Rename to ...
1156 (grub_msdos_partition_is_empty): ... this. Update all users.
1157 (grub_pc_partition_is_extended): Rename to ...
1158 (grub_msdos_partition_is_extended): ... this. Update all users.
1159 (grub_pc_partition_is_bsd): Rename to ...
1160 (grub_msdos_partition_is_bsd): ... this. Update all users.
1161
1162 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
1163 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
1164 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
1165 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
1166 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
1167 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
1168 (gpt_mod_LDFLAGS): Rename to ...
1169 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
1170 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
1171 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
1172 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
1173 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
1174 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
1175 (part_gpt_mod_LDFLAGS): ... this.
1176 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
1177 `pcpart.mod' to `msdospart.mod'.
1178 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
1179 to ...
1180 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
1181 (msdospart_mod_LDFLAGS): ... this.
1182
c11fded5 11832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
1186 (openbsd_opts): Likewise.
1187 (netbsd_opts): Likewise.
1188 (freebsd_flags): Added 0 terminator.
1189 (openbsd_flags): Likewise.
1190 (netbsd_flags): Likewise.
1191 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
1192 (grub_cmd_freebsd): Transformed into extended command.
1193 (grub_cmd_openbsd): Likewise.
1194 (grub_cmd_netbsd): Likewise.
1195 (cmd_freebsd): Changed type to grub_extcmd_t.
1196 (cmd_openbsd): Likewise.
1197 (cmd_netbsd): Likewise.
1198 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
1199 grub_cmd_openbsd as extended commands.
1200 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
1201 cmd_netbsd and cmd_openbsd
1202
11d1c769 12032009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
1206
7a9094e5 12072009-08-21 Pavel Roskin <proski@gnu.org>
1208
5496c37e 1209 * Makefile.in (install-local): When checking if a file is in the
1210 build directory, use "test -e" to detect symlinks.
1211
7a9094e5 1212 * Makefile.in (install-local): Remove all files in
1213 $(DESTDIR)$(pkglibdir) before installing new files there.
1214
e53cea11 12152009-08-18 Felix Zielcke <fzielcke@z-51.de>
1216
1217 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
1218 grub-mkelfimage.
1219
9aced544 12202009-08-18 Felix Zielcke <fzielcke@z-51.de>
1221
1222 * util/grub-mkconfig.in: Don't use gfxterm by default if not
1223 explicitly specified by the user.
1224
b7da6bab 12252009-08-18 Pavel Roskin <proski@gnu.org>
1226
1227 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
1228 grub_uint8_t pointer for data.
1229 * include/grub/fbutil.h (struct grub_video_fbblit_info):
1230 Likewise.
1231 * video/fb/fbutil.c: Remove unnecessary casts.
1232
19f1b335 12332009-08-17 Michal Suchanek <hramrach@centrum.cz>
1234
1235 VBE cleanup.
1236
1237 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
1238 (grub_vbe_set_video_mode): Save active mode info
1239 only after setting the mode.
1240 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
1241 second argument.
1242
2f467aa9 12432009-08-17 Michal Suchanek <hramrach@centrum.cz>
1244
1245 Rename variables for clarity.
1246
1247 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
1248 (active_vbe_mode_info): ... this. All users updated.
1249 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
1250 All users updated.
1251 (initial_mode): Rename to ...
1252 (initial_vbe_mode): ... this. All users updated.
1253 (mode_in_use): Rename to ..
1254 (vbe_mode_in_use): ... this. All users updated.
1255 (mode_list): Rename to ..
1256 (vbe_mode_list): ... this. All users updated.
1257 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
1258 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
1259 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
1260 'mode_list_size' to 'vbe_mode_list_size'.
1261 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
1262 'best_mode_info' to 'best_vbe_mode_info' and
1263 'best_mode' to 'best_vbe_mode'
1264
6025fcd7 12652009-08-17 Michal Suchanek <hramrach@centrum.cz>
1266
1267 Remove duplicate grub_video_fb_get_video_ptr.
1268
1269 * include/grub/fbutil.h (get_data_ptr): Rename to ...
1270 (grub_video_fb_get_video_ptr): ... this.
1271 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
1272 * video/fb/fbutil.c: Add comment about addressing.
1273 (get_data_ptr): Rename to ...
1274 (grub_video_fb_get_video_ptr): ... this. All users updated.
1275 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
1276
cc8c6faf 12772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1278
1279 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
1280 grub_dprintf() that was just added.
1281
08aa61f0 12822009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1283
1284 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
1285 (DEFAULT_VIDEO_MODE): Remove macros.
1286 (grub_linux_boot): Remove assumption that Linux has FB support,
1287 and use "text" as default video mode.
1288
7cef4f75 12892009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
1292 grub_dprintf.
1293 * fs/fat.c (grub_fat_read_data): Likewise.
1294
e1f39873 12952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
1298 payload.
1299 (grub_module): Likewise.
1300
c166d79e 13012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
1304 mbi->cmdline but free playground.
1305
c60cee8e 13062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Handle group offset on UFS1.
1309
1310 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
1311 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
1312
c0d8b5d4 13132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 Split ufs.mod into ufs1.mod and ufs2.mod.
1316
1317 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
1318 (grub_fstest_SOURCES): Likewise.
1319 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
1320 (ufs_mod_SOURCES): Remove.
1321 (ufs_mod_CFLAGS): Likewise.
1322 (ufs_mod_LDFLAGS): Likewise.
1323 (ufs1_mod_SOURCES): New variable.
1324 (ufs1_mod_CFLAGS): Likewise.
1325 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 1326 (ufs2_mod_SOURCES): New variable.
1327 (ufs2_mod_CFLAGS): Likewise.
1328 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 1329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
1330 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1331 Likewise.
1332 (grub_emu_SOURCES): Likewise.
1333 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1334 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1335 (grub_setup_SOURCES): Likewise.
1336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1337 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
1338 (grub_setup_SOURCES): Likewise.
1339 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1340 Likewise.
1341 * fs/ufs2.c: New file.
1342 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
1343
d3539132 13442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Framebuffer split.
1347
1348 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
1349 subsystem at the end.
1350 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
1351 (video_fb_mod_SOURCES): New variable.
1352 (video_fb_mod_CFLAGS): Likewise.
1353 (video_fb_mod_LDFLAGS): Likewise.
1354 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
1355 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
1356 * video/i386/pc/vbeblit.c: Moved from here ...
1357 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
1358 * video/i386/pc/vbefill.c: Moved from here ...
1359 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
1360 * video/i386/pc/vbeutil.c: Moved from here ...
1361 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
1362 * include/grub/i386/pc/vbeblit.h: Moved from here ...
1363 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
1364 * include/grub/i386/pc/vbefill.h: Moved from here ...
1365 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
1366 * include/grub/i386/pc/vbeutil.h: Moved from here ...
1367 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
1368 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
1369 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
1370 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
1371 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
1372 (grub_video_adapter): Added 'get_info_and_fini'.
1373 (grub_video_get_info_and_fini): New prototype.
1374 (grub_video_set_mode): make modestring const char *.
1375 * loader/i386/linux.c (grub_linux_setup_video): Use
1376 grub_video_get_info_and_fini.
1377 (grub_linux_boot): Move modesetting just before booting.
1378 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
1379 grub_video_get_info_and_fini.
1380 * video/i386/pc/vbe.c: Moved framebuffer part ...
1381 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
1382 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
1383 grub_video_fbstd_colors and grub_video_fb_set_palette.
1384 (grub_video_vbe_init): Clear 'framebuffer' variable and use
1385 grub_video_fb_init.
1386 (grub_video_vbe_fini): Use grub_video_fb_fini.
1387 (grub_video_vbe_setup): Use framebuffer.render_target instead of
1388 render_target and use grub_video_fb_set_active_render_target and
1389 grub_video_fb_set_palette.
1390 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
1391 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
1392 (grub_video_vbe_adapter): Use framebuffer.
1393 * video/video.c (grub_video_get_info_and_fini): New function.
1394 (grub_video_set_mode): Make modestring const char *.
1395 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
1396 values are already initialised.
1397
d404ee56 13982009-08-14 Pavel Roskin <proski@gnu.org>
1399
1400 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
1401 ABS and APPLE_CC.
1402 * boot/i386/pc/diskboot.S: Likewise.
1403 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
1404 sectors allow compilation on MacOSX.
1405 * conf/i386-pc.rmk: Enable unconditional compilation of
1406 lnxboot.img.
1407
9a10df16 14082009-08-13 Colin Watson <cjwatson@ubuntu.com>
1409
1410 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
1411 * util/grub.d/00_header.in: Enter interruptible sleep if
1412 GRUB_HIDDEN_TIMEOUT is set.
1413
be3c9ca7 14142009-08-13 Yves Blusseau <blusseau@zetam.org>
1415
1416 * include/grub/symbol.h: Add the LOCAL macro.
1417 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
1418 starting with "L_".
1419
1f9e557e 14202009-08-13 Pavel Roskin <proski@gnu.org>
1421
9ca62843 1422 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
1423 any modern compilers we support.
1424
1f9e557e 1425 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
1426 Use local labels starting with "L_" so that Apple assembler
1427 knows they are local.
1428
81623db6 14292009-08-10 Robert Millan <rmh.grub@aybabtu.com>
1430
1431 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
1432 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
1433 (bsd_kernel_types): ... this enum.
1434
1435 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
1436 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
1437 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
1438
1439 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
1440 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
1441 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
1442 messages.
1443
f5d35e7a 14442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1445
1446 * util/grub-dumpdevtree: Moved from here ...
1447 * util/i386/efi/grub-dumpdevtree: ... to here.
1448 (hexify): New function. Converts a string to its hex version.
1449 Generate hex versions of "efi" and "device-properties" by calling
1450 hexify() on the ASCII strings rather than by hardcoding numbers.
1451
d1e1d527 14522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1453
1454 * fs/jfs.c: Update copyright year.
1455
1ebbe064 14562009-08-08 Felix Zielcke <fzielcke@z-51.de>
1457
1458 * util/grub.d/00_header.in: Fix a comment.
1459 * util/grub.d/10_linux.in: Likewise.
1460 * util/grub.d/10_windows.in: Likewise.
1461 * util/grub.d/10_hurd.in: Likewise.
1462
a78c8d24 14632009-08-08 Felix Zielcke <fzielcke@z-51.de>
1464
1465 * util/grub-mkconfig.in: Allow the user to specify the used font
1466 with GRUB_FONT.
1467
29a6b9e8 14682009-08-08 Pavel Roskin <proski@gnu.org>
1469
b5f16cc4 1470 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
1471 available, xfs.mod needs it now.
1472
2f5cb827 1473 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
1474 the "g" modifier in sed when the intention is to strip something
1475 once. This fixes comparison of kernels with multiple dashes.
1476
29a6b9e8 1477 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
1478 on it. Add missing space before closing bracket. Fix
1479 misleading formatting.
1480
892a3d98 14812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1482
1483 * docs/grub.texi: Major overhaul. Remove all sections that are
1484 specific to GRUB Legacy, or mostly composed of Legacy-specific
1485 information.
1486
ed94253f 14872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1488
1489 * docs/version.texi: New file. Provides version information for
1490 grub.texi.
1491
126d6628 14922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1493
1494 * docs/grub.texi: Update CVS information to SVN.
1495 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
1496
998b5aa9 14972009-08-07 Felix Zielcke <fzielcke@z-51.de>
1498
1499 * util/grub-mkconfig.in: Remove a wrong `fi'.
1500
818e094a 15012009-08-07 Felix Zielcke <fzielcke@z-51.de>
1502
1503 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
1504 (grub_jfs_uuid): New function.
1505 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
1506
b969c52f 15072009-08-07 Felix Zielcke <fzielcke@z-51.de>
1508
1509 * util/grub-mkconfig_lib.in (font_path): Move the functionality
1510 of it to ...
1511 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
1512 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
1513
7a4894cc 15142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1515
1516 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
1517 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
1518 Update all users.
1519
1520 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
1521 not just "vmlinu[zx]".
1522 Moved from here ...
1523 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
1524 all users.
1525
1526 * util/grub.d/10_linux.in (find_latest): Moved from here ...
1527 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
1528 all users.
1529
4e2171f8 15302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1531
1532 * util/grub.d/10_freebsd.in: Use an absolute device path for
1533 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
1534
6dcfcb32 15352009-08-06 Felix Zielcke <fzielcke@z-51.de>
1536
1537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1538 handling of multiple abstraction modules.
1539
f56a8756 15402009-08-04 Robert Millan <rmh.grub@aybabtu.com>
1541
1542 Fix a bug resulting in black screen when loading Linux using a
1543 packed video mode.
1544
1545 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
1546 function.
1547
1548 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
1549 (grub_vbe_bios_getset_dac_palette_width): New function.
1550 (grub_vbe_bios_get_dac_palette_width)
1551 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
1552 grub_vbe_bios_getset_dac_palette_width()).
1553
1554 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
1555 check for return status.
1556 (grub_vbe_get_video_mode_info): When getting information for a packed
1557 mode (<= 8 bpp), obtain DAC palette width using
1558 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
1559 {red,green,blue}_mark_size.
1560
222671b2 15612009-08-04 Felix Zielcke <fzielcke@z-51.de>
1562
ecb1a6d9 1563 * commands/search.c (options): Fix help output to match actual code.
222671b2 1564
f84114f5 15652009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
1568 of homegrown code.
1569
bd288a20 15702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 1571
1572 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
1573 on XFS or ReiserFS.
1574
8aab5e25 15752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 Support Apple partition map with sector size different from 512 bytes.
1578
1579 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
1580 (apple_partition_map_iterate): Respect 'aheader.blocksize'
1581 and 'apart.partmap_size'.
1582
6ad6258a 15832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15842009-08-01 Robert Millan <rmh.grub@aybabtu.com>
1585
1586 Fix cpuid command.
1587
1588 * commands/i386/cpuid.c (options): New variable.
1589 (grub_cmd_cpuid): Return real error.
1590 (GRUB_MOD_INIT(cpuid)): Declare options.
1591
67459bc6 15922009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
1595 valid.
1596
fbc6ab54 15972009-07-31 Bean <bean123ch@gmail.com>
1598
1599 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
1600 log2_inode.
1601 (grub_fshelp_node): Move inode field to the end.
1602 (grub_xfs_data): Remove inode field.
1603 (grub_xfs_inode_block): Calculate inode size using sblock.
1604 (grub_xfs_inode_offset): Likewise.
1605 (grub_xfs_read_inode): Calculate inode size using sblock.
1606 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
1607 (grub_xfs_iterate_dir): Calculate inode size using sblock.
1608 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
1609 to match inode size.
1610 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
1611 not accessible when data is null.
1612 (grub_xfs_open): Likewise.
1613
f45d6cfc 16142009-07-31 Bean <bean123ch@gmail.com>
1615
1616 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
1617 Don't change pv->disk if it's already set.
1618
1619 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
1620 (grub_raid_register): ... here.
1621 (grub_raid_rescan): Removed.
1622
1623 * include/grub/raid.h (grub_raid_rescan): Removed.
1624
1625 * util/grub-fstest.c: Remove include file <grub/raid.h>.
1626 (fstest): Replace grub_raid_rescan with module fini function followed
1627 by init function.
1628
1629 * util/grub-probe.c: Add include file <grub/raid.h>.
1630 (probe_raid_level): New function.
1631 (probe): Detect abstraction by walking the disk device, support two
1632 level of abstraction (LVM on RAID) when detecting partition map.
1633
24443b5a 16342009-07-31 Pavel Roskin <proski@gnu.org>
1635
1636 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
1637 to grub_zalloc(), it was erroneous.
1638 Reported by Bean <bean123ch@gmail.com>
1639
a275d9e7 16402009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 1643 embedding zone, not only the first one.
a275d9e7 1644
56c5a47f 16452009-07-29 Joe Auricchio <jauricchio@gmail.com>
1646
1647 * term/gfxterm.c (clear_char): New function.
1648 (grub_virtual_screen_setup): Use clear_char.
1649 (scroll_up): Likewise.
1650 (grub_virtual_screen_cls): Likewise.
1651
67bb323a 16522009-07-29 Felix Zielcke <fzielcke@z-51.de>
1653
1654 * util/deviceiter.c (get_acceleraid_disk_name): New static
1655 function.
1656 (grub_util_iterate_devices): Handle Accelraid devices.
1657 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
1658
388a7c75 16592009-07-28 Robert Millan <rmh.grub@aybabtu.com>
1660
1661 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
1662 separator for the suggested gfxpayload string (';' collides with the
1663 parser and needs escaping).
1664
3bb7abcf 16652009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
1668 Clear direction flag before jumping to OS.
1669 (grub_multiboot2_real_boot): Likewise.
1670
2ddd36d7 16712009-07-28 Felix Zielcke <fzielcke@z-51.de>
1672
1673 * util/i386/pc/grub-install: Fix parsing of --disk-module
1674 option.
1675
c521b62b 16762009-07-28 Felix Zielcke <fzielcke@z-51.de>
1677
1678 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
1679 when embedding.
1680
880e0a0c 16812009-07-26 Felix Zielcke <fzielcke@z-51.de>
1682
1683 * util/grub-mkconfig.in (package_version): New variable.
1684 Use it do display the version.
1685
2366e356 16862009-07-25 Felix Zielcke <fzielcke@z-51.de>
1687
1688 * kern/file.c (grub_file_open): Revert to previous check with
1689 grub_errno.
1690
7ad8c80e 16912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
1694 from help line. It's out of sync with code.
1695
72b9658b 16962009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
1699 entries on failed boot.
1700
77435277 17012009-07-25 Felix Zielcke <fzielcke@z-51.de>
1702
1703 * kern/file.c (grub_file_open): Fix an error check.
1704
fcaa8b21 17052009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
1706
35d16c74 1707 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
1708 partition map couldn't be identified.
fcaa8b21 1709
48904cd1 17102009-07-23 Pavel Roskin <proski@gnu.org>
1711
ef3c317f 1712 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
1713 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
1714 case of little endian words becomes just an optimization.
1715 Respect const modifier.
ad8ea1f4 1716 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 1717
48904cd1 1718 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
1719 to avoid loss of upper bits if align is unsigned and shorter
1720 than addr.
1721
260c9a89 17222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 UUID support for UFS
1725
1726 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
1727 (grub_ufs_uuid): New function.
1728 (grub_ufs_fs): add .uuid
1729
f76ce889 17302009-07-21 Pavel Roskin <proski@gnu.org>
1731
1732 * kern/dl.c (grub_dl_check_header): Make static.
1733
6a6cbcaf 17342009-07-21 Felix Zielcke <fzielcke@z-51.de>
1735
1736 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
1737 add drivemap for Vista. It breaks Windows 7.
1738
cffcddb2 17392009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
1742 128 bytes
1743
1ef44b80 17442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 Add BFS support
1747
1748 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
1749 (grub_fstest_SOURCES): Likewise.
1750 (pkglib_MODULES): Add befs.mod.
1751 (befs_mod_SOURCES): New variable.
1752 (befs_mod_CFLAGS): Likewise.
1753 (befs_mod_LDFLAGS): Likewise.
1754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
1755 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1757 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1758 (grub_setup_SOURCES): Likewise.
1759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1761 (grub_setup_SOURCES): Likewise.
1762 * fs/befs.c: New file.
1763 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
1764 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
1765 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
1766 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
1767 (B_KEY_INDEX_ALIGN): New declaration.
1768 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
1769 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
1770 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
1771 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
1772 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
1773 (grub_afs_mount) [MODE_BFS]: Likewise.
1774 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
1775 (grub_afs_fs): Use GRUB_AFS_FSNAME
1776 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
1777 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
1778 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
1779 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
1780
4f253044 17812009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
1782
1783 * util/getroot.c (find_root_device): Add support for MacOSX.
1784 * util/hostdisk.c: Likewise.
1785
57a55913 17862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * font/font.c (find_glyph): Check whether a font is present to avoid
1789 segmentation fault.
75421ca9 1790
17912009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 1792
1793 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
1794
e98cd0c2 17952009-07-20 Pavel Roskin <proski@gnu.org>
1796
1797 * configure.ac: Trim excessively wordy excuses.
1798
1d2d169a 17992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Add symlink, mtime and label support to AtheFS.
1802
1803 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
1804 (grub_afs_iterate_dir): Handle symlinks.
1805 (grub_afs_open): Use grub_afs_read_symlink.
1806 (grub_afs_dir): Likewise.
1807 Pass mtime.
1808 (grub_afs_label): New function.
1809 (grub_afs_fs): Add grub_afs_label.
1810 (grub_afs_read_symlink): New function.
1811
186f3189 18122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Fix AtheFS support.
1815
1816 * fs/afs.c: Fix comments style.
1817 (grub_afs_blockrun): Declare as packed.
1818 (grub_afs_datastream): Likewise.
1819 (grub_afs_bnode): Likewise.
1820 (grub_afs_btree): Likewise.
1821 (grub_afs_sblock): Likewise.
1822 Declare `name' as char.
1823 (grub_afs_inode): Declare as packed.
1824 Change void *vnode to grub_uint32_t unused.
1825 (grub_afs_iterate_dir): Check that key_size is positive.
1826 (grub_afs_mount): Don't read superblock twice.
75421ca9 1827 (grub_afs_dir): Don't free node in case of error,
186f3189 1828 grub_fshelp_find_file already handles this.
1829 (grub_afs_open): Likewise.
1830
5680109e 18312009-07-19 Pavel Roskin <proski@gnu.org>
1832
1833 * Makefile.in: Remove LIBLZO and enable_lzo.
1834 * conf/i386-pc.rmk: Remove lzo support.
1835 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
1836 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
1837 support.
1838 * kern/i386/pc/lzo1x.S: Remove.
1839 * kern/i386/pc/startup.S: Remove lzo support.
1840 * util/i386/pc/grub-mkimage.c: Likewise.
1841
ac70fa32 18422009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
1845 * fs/xfs.c (grub_xfs_dir): Likewise.
1846 * fs/afs.c (grub_afs_dir): Likewise.
1847 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1848 (grub_iso9660_open): Likewise.
1849 * fs/jfs.c (grub_jfs_open): Likewise.
1850 * fs/ext2.c (grub_ext2_dir): Likewise.
1851 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
1852 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 1853
eab58da2 18542009-07-16 Pavel Roskin <proski@gnu.org>
1855
d2838156 1856 * configure.ac: Never add "-c" to CFLAGS.
1857
55c70904 1858 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
1859
43e6200c 1860 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
1861 grub_cv_cc_efiemu should be used.
1862
ce7a733d 1863 * configure.ac: Typo fixes.
1864
eab58da2 1865 * kern/mm.c (grub_zalloc): New function.
1866 (grub_debug_zalloc): Likewise.
1867 * include/grub/mm.h: Declare grub_zalloc() and
1868 grub_debug_zalloc().
1869 * util/misc.c (grub_zalloc): New function.
1870 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
1871 instead of grub_malloc(), remove unneeded initializations.
1872 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
1873 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
1874 * commands/parttool.c (grub_cmd_parttool): Likewise.
1875 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1876 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
1877 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
1878 * disk/usbms.c (grub_usbms_finddevs): Likewise.
1879 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
1880 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
1881 (grub_cmd_efiemu_pnvram): Likewise.
1882 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
1883 * fs/iso9660.c (grub_iso9660_mount): Likewise.
1884 (grub_iso9660_iterate_dir): Likewise.
1885 * fs/jfs.c (grub_jfs_opendir): Likewise.
1886 * fs/ntfs.c (list_file): Likewise.
1887 (grub_ntfs_mount): Likewise.
1888 * kern/disk.c (grub_disk_open): Likewise.
1889 * kern/dl.c (grub_dl_load_core): Likewise.
1890 * kern/elf.c (grub_elf_file): Likewise.
1891 * kern/env.c (grub_env_context_open): Likewise.
1892 (grub_env_set): Likewise.
1893 (grub_env_set_data_slot): Likewise.
1894 * kern/file.c (grub_file_open): Likewise.
1895 * kern/fs.c (grub_fs_blocklist_open): Likewise.
1896 * loader/i386/multiboot.c (grub_module): Likewise.
1897 * loader/xnu.c (grub_xnu_create_key): Likewise.
1898 (grub_xnu_create_value): Likewise.
1899 * normal/main.c (grub_normal_add_menu_entry): Likewise.
1900 (read_config_file): Likewise.
1901 * normal/menu_entry.c (make_screen): Likewise.
1902 * partmap/sun.c (sun_partition_map_iterate): Likewise.
1903 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
1904 * script/sh/script.c (grub_script_parse): Likewise.
1905 * video/bitmap.c (grub_video_bitmap_create): Likewise.
1906 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1907 * video/readers/png.c (grub_png_output_byte): Likewise.
1908 (grub_video_reader_png): Likewise.
1909
830afef7 19102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 1911
1912 Enable all targets that can be built by default
1913
830afef7 1914 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 1915 grub-mkfont and grub-fstest if they can be built
1916
ee293aee 19172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 Fix hang and segmentation fault in grub-emu-usb
1920
1921 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
1922 * util/usb.c (grub_libusb_devices): likewise
1923 (grub_libusb_init): rename to ...
1924 (GRUB_MOD_INIT (libusb)):...this
1925 (grub_libusb_fini): rename to ..
1926 (GRUB_MOD_FINI (libusb)):...this
1927 * disk/usbms.c (grub_usbms_transfer): fix retry logic
1928 * include/grub/disk.h (grub_raid_init): removed, it's useless
1929 (grub_raid_fini): likewise
1930 (grub_lvm_init): likewise
1931 (grub_lvm_fini): likewise
1932 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
1933 by grub_init_all
1934
94414221 19352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Fix libusb
1938
1939 * Makefile.in (LIBUSB): new macro
1940 * genmk.rb (Utility/print_tail): new method
1941 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
1942 (top level): call util.print_tail at the end.
1943
59ade63d 19442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Make FreeBSD accept zpool.cache
1947
1948 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
1949 type is /boot/zfs/zpool.cache
1950
a58da8c7 19512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 Fix 64-bit efiemu
1954
1955 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
1956 correct wrong typedef
1957 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
1958
20591577 19592009-07-15 Pavel Roskin <proski@gnu.org>
1960
560ca572 1961 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
1962 * kern/disk.c (struct grub_disk_cache): Likewise.
1963
e8e8e4fd 1964 * commands/probe.c (options): Typo fix.
1965
fde24e10 1966 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
1967 Increase to 0x5a to accommodate FAT32. Adjust other offsets
1968 accordingly.
1969 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
1970
379c54c1 1971 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
1972 the end of "Error" to make the message more readable.
1973
7bd8f5bf 1974 * boot/i386/pc/boot.S (kernel_segment): Remove.
1975 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
1976 for destination.
1977
40b132c5 1978 * boot/i386/pc/boot.S (boot_version): Remove.
1979 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1980 Remove.
1981
20591577 1982 * include/grub/i386/pc/boot.h: Sort all offsets.
1983 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
1984 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
1985 * boot/i386/pc/boot.S: Assert location of every offset listed in
1986 include/grub/i386/pc/boot.h.
1987
2df32b2c 19882009-07-13 Pavel Roskin <proski@gnu.org>
1989
44b5d879 1990 * include/grub/i386/coreboot/machine.h: Rename
1991 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
1992 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
1993 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
1994
17dc3751 1995 * kern/dl.c: Force native word size to suppress warnings when
1996 compiling grub-emu.
1997
2df32b2c 1998 * kern/device.c (grub_device_iterate): Change struct part_ent to
1999 hold the name, not a pointer to it. Use one grub_malloc() per
2000 partition, not two. Free partition_name if grub_malloc() fails.
2001 Set ents to NULL only before grub_partition_iterate() is called.
2002
75c59f59 20032009-07-11 Bean <bean123ch@gmail.com>
2004
2005 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2006 childname.
2007
0ae1bf88 20082009-07-10 Bean <bean123ch@gmail.com>
20092009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2010
2011 * kern/ieee1275/openfw.c (grub_children_iterate)
2012 (grub_devalias_iterate): Fix size evaluation for property or path
2013 strings, which was broken since r2132.
2014
8279cade 20152009-07-07 Pavel Roskin <proski@gnu.org>
2016
7d8a52d3 2017 * commands/search.c (search_file): Merge into ...
2018 (search_fs): ... this. Accept search type as argument.
2019 (grub_cmd_search): Pass search type to search_fs().
2020
25f9a05a 2021 * include/grub/util/console.h: New file.
2022 * util/console.c: Use it instead of grub/machine/console.h.
2023 * util/grub-emu.c: Likewise.
2024
8279cade 2025 * lib/arg.c (find_long_option): Remove.
2026 (find_long): Add `len' argument, make `s' const char *.
2027 (grub_arg_parse): Parse long options in place, not in a
2028 temporary buffer.
2029
4a11b60f 20302009-07-06 Pavel Roskin <proski@gnu.org>
2031
99f68041 2032 * commands/search.c (search_fs): Fix potential NULL pointer
2033 dereference.
2034
4a11b60f 2035 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2036 function pointer.
2037
e110f4de 20382009-07-06 Daniel Mierswa <impulze@impulze.org>
2039
2040 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2041 comparison.
2042
46eeb6a2 20432009-07-05 Pavel Roskin <proski@gnu.org>
2044
bab74958 2045 * include/grub/i386/linux.h (struct linux_kernel_params):
2046 Restore padding3, it's still needed.
2047
46eeb6a2 2048 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2049 FreeBSD.
2050 * util/osdetect.lua: Likewise.
2051
b4a1dc79 20522009-07-05 Bean <bean123ch@gmail.com>
2053
2054 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2055
2056 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2057 (grub_lua_getenv): Likewise.
2058 (grub_lua_setenv): Likewise.
2059 (save_errno): New function.
2060 (push_result): Likewise.
2061 (grub_lua_enum_device): Likewise.
2062 (grub_lua_enum_file): Likewise.
2063 (grub_lua_file_open): Likewise.
2064 (grub_lua_file_close): Likewise.
2065 (grub_lua_file_seek): Likewise.
2066 (grub_lua_file_read): Likewise.
2067 (grub_lua_file_getline): Likewise.
2068 (grub_lua_file_getsize): Likewise.
2069 (grub_lua_file_getpos): Likewise.
2070 (grub_lua_file_eof): Likewise.
2071 (grub_lua_file_exist): Likewise.
2072 (grub_lua_add_menu): Likewise.
2073
2074 * script/lua/grub_lua.h (isupper): New inline function.
2075 (islower): Likewise.
2076 (ispunct): Likewise.
2077 (isxdigit): Likewise.
2078 (strcspn): Change to normal function.
2079 (strpbkr): New function declaration.
2080 (memchr): Likewise.
2081
2082 * script/lua/grub_main.c (scan_str): New function.
2083 (strcspn): Likewise.
2084 (strpbrk): Likewise.
2085 (memchr): Likewise.
2086
2087 * script/lua/linit.c (lualibs): Enable the string library.
2088
2089 * util/osdetect.lua: New file.
2090
2da92295 20912009-07-04 Robert Millan <rmh.grub@aybabtu.com>
2092
2093 * include/grub/i386/linux.h (struct linux_kernel_params): Add
2094 `capabilities' member.
2095
b2582ec9 20962009-07-02 Pavel Roskin <proski@gnu.org>
2097
2098 * genparttoollist.sh: Add missing newline at the end.
2099
32622956 21002009-07-01 Pavel Roskin <proski@gnu.org>
2101
87a7339e 2102 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2103
d23af54e 2104 * util/hostdisk.c (open_device): Remove `const' from
2105 `sysctl_size', as sysctlbyname() can change it (in this case it
2106 doesn't actually happen).
2107
c94b18a9 2108 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
2109 using signed long int constants.
2110
c6cd3ef0 2111 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
2112 constant to avoid a warning on FreeBSD.
2113
0df63420 2114 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
2115 where it's needed.
2116
999577f1 2117 * Makefile.in: Install include/grub/machine symlink.
2118
6f41557f 2119 * Makefile.in: When installing symlinks, use "cp -fR", which
2120 works on FreeBSD and MacOSX.
2121 From Yves Blusseau <cl7m42e02@sneakemail.com>
2122
c8d22988 2123 * kern/dl.c (grub_dl_resolve_symbol): Make static.
2124 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
2125
1b96e952 2126 * util/misc.c: Move grub_reboot() and grub_halt() ...
2127 * util/grub-emu.c: ... here. Make main_env static.
2128 * include/grub/util/misc.h: Remove main_env.
2129
2ef0084d 2130 * kern/mm.c: Use correct format to print size_t.
2131
32622956 2132 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
2133 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
2134 * kern/powerpc/dl.c: Likewise.
2135 * kern/sparc64/dl.c: Likewise.
2136 * kern/x86_64/dl.c: Likewise.
2137
3f7f0cd0 21382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2139
2140 Fix grub-emu build on sparc64-ieee1275.
2141
75421ca9 2142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 2143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2144
211d06b5 21452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2146
2147 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
2148 (grub_reboot, grub_halt): New functions.
2149
2150 * util/i386/pc/misc.c: Delete. Update all users.
2151 * util/sparc64/ieee1275/misc.c: Likewise.
2152 * util/powerpc/ieee1275/misc.c: Likewise.
2153
aaf53e3c 21542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2155
2156 * conf/i386.rmk (setjmp_mod_SOURCES)
2157 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
2158 * conf/common.rmk (setjmp_mod_SOURCES)
2159 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
2160 to use $(target_cpu).
2161 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
2162 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
2163 * conf/powerpc-ieee1275.rmk: Likewise.
2164 * conf/sparc64-ieee1275.rmk: Likewise.
2165
2166 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
2167 $(target_cpu) for kern/$(target_cpu)/dl.c.
2168 * conf/i386-efi.rmk: Likewise.
2169 * conf/i386-ieee1275.rmk: Likewise.
2170 * conf/x86_64-efi.rmk: Likewise.
2171 * conf/i386-coreboot.rmk: Likewise.
2172 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
2173 $(target_cpu) for kern/$(target_cpu)/dl.c and for
2174 kern/$(target_cpu)/cache.S.
2175 * conf/sparc64-ieee1275.rmk: Likewise.
2176
a337130b 21772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2178
2179 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
2180 type to `grub_uint8_t', and adjust `padding9' accordingly.
2181
c6fe4d53 21822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2183
b09db61d 2184 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
2185
c6fe4d53 2186 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
2187 assembly in final jump, using register constraints.
2188
b09db61d 2189 (grub_linux_boot): For text mode, initialize `have_vga' using
2190 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
2191
2192 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
2193 right before the final jump.
2194
2195 Set `video_mode' to 0x3.
2196
2197 Document initialization of `video_page', `video_mode' and
2198 `video_ega_bx'.
2199
28333ad0 22002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2201
2202 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
2203 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 2204 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 2205
02164e1b 22062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2207
2208 Fix build on Debian / sparc.
2209
2210 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2211
18b6c557 22122009-06-28 Pavel Roskin <proski@gnu.org>
2213
85f2aab6 2214 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
2215 fix a warning.
2216
18b6c557 2217 * util/grub.d/10_linux.in: Match SUSE style initrd names.
2218
ad760f81 22192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2220
2221 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
2222 `err'.
2223
87a4623b 22242009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2225
2226 Revert r2338.
2227
2228 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
2229 file can't be opened. grub_file_open() is already supposed to set
75421ca9 2230 grub_errno / grub_errmsg appropriately.
87a4623b 2231 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2232
8231fb77 22332009-06-27 Pavel Roskin <proski@gnu.org>
22342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2235
2236 * include/grub/dl.h: Include grub/elf.h.
2237 (struct grub_dl): Add symtab field.
2238 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
2239 GRUB_MODULES_MACHINE_READONLY.
2240 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
2241 of the header for read-only modules.
2242 (grub_dl_unload): Free mod->symtab for read-only modules.
2243 * kern/i386/dl.c: Use mod->symtab.
2244 * kern/powerpc/dl.c: Likewise.
2245 * kern/sparc64/dl.c: Likewise.
2246 * kern/x86_64/dl.c: Likewise.
2247
2248 * conf/i386-qemu.rmk: New file.
2249 * kern/i386/qemu/startup.S: Likewise.
2250 * kern/i386/qemu/mmap.c: Likewise.
2251 * boot/i386/qemu/boot.S: Likewise.
2252 * include/grub/i386/qemu/time.h: Likewise.
2253 * include/grub/i386/qemu/serial.h: Likewise.
2254 * include/grub/i386/qemu/kernel.h: Likewise.
2255 * include/grub/i386/qemu/console.h: Likewise.
2256 * include/grub/i386/qemu/boot.h: Likewise.
2257 * include/grub/i386/qemu/init.h: Likewise.
2258 * include/grub/i386/qemu/machine.h: Likewise.
2259 * include/grub/i386/qemu/loader.h: Likewise.
2260 * include/grub/i386/qemu/memory.h: Likewise.
2261
2262 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
2263 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
2264 [qemu] (pkglib_IMAGES): Add `boot.img'.
2265 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
2266 [qemu] (boot_img_FORMAT): New variables.
2267 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
2268 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
2269 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
2270 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2271 [qemu] (kernel_img_FORMAT): New variables.
2272
2273 * configure.ac: Recognise `i386-qemu'.
2274
2275 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
2276 (for no compression).
2277 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
2278 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
2279 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
2280 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
2281 ifdefs).
2282
97fe384e 22832009-06-27 Pavel Roskin <proski@gnu.org>
2284
2285 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
2286 read.
2287 * efiemu/prepare32.c: Likewise.
2288 * efiemu/prepare64.c: Likewise.
2289
c402ab17 22902009-06-26 Pavel Roskin <proski@gnu.org>
2291
2292 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
2293 * include/grub/elf.h: Define symbols without "32" or "64" based
2294 on GRUB_TARGET_WORDSIZE.
2295 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
2296 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
2297 ELF definitions.
2298 * efiemu/loadcore64.c: Likewise.
2299 * loader/i386/bsd32.c: Likewise.
2300 * loader/i386/bsd64.c: Likewise.
2301 * kern/dl.c: Remove own ELF definitions.
2302 * util/i386/efi/grub-mkimage.c: Likewise.
2303
9bbdfd4d 23042009-06-23 Robert Millan <rmh.grub@aybabtu.com>
2305
2306 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
2307 segment 0x0 unconditionally, because the reference generated by
2308 GAS is an absolute address.
2309
a42ce6e9 23102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2311
2312 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
2313 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2314
c952cf92 23152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2316
2317 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
2318 indexes. Check for -f explicitly.
cc3752ad 2319 (search_file): Improve error message.
2320 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 2321
132a0a59 23222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2323
2324 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
2325 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
2326
387a140c 23272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2328
2329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
2330 * conf/i386-ieee1275.rmk: Likewise.
2331 * conf/i386-coreboot.rmk: Likewise.
2332
2333 * kern/i386/pc/startup.S (grub_stop): Remove function.
2334 * kern/i386/ieee1275/startup.S: Likewise.
2335 * kern/i386/coreboot/startup.S: Likewise.
2336 * kern/i386/misc.S (grub_stop): New function.
2337
41da9665 23382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2339
2340 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
2341 * kern/i386/realmode.S (real_to_prot): ... to here.
2342
bf337234 23432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2344
2345 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
2346 with `kernel.img'.
2347 (kernel_elf_SOURCES): Rename to ...
2348 (kernel_img_SOURCES): ... this.
2349 (kernel_elf_HEADERS): Rename to ...
2350 (kernel_img_HEADERS): ... this. Update all users.
2351 (kernel_elf_ASFLAGS): Rename to ...
2352 (kernel_img_ASFLAGS): ... this.
2353 (kernel_elf_CFLAGS): Rename to ...
2354 (kernel_img_CFLAGS): ... this.
2355 (kernel_elf_LDFLAGS): Rename to ...
2356 (kernel_img_LDFLAGS): ... this.
2357 * conf/i386-coreboot.rmk: Likewise.
2358 * conf/powerpc-ieee1275.rmk: Likewise.
2359
2360 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
2361 with "kernel.img".
2362
f52196ff 23632009-06-21 Pavel Roskin <proski@gnu.org>
2364
c3cee413 2365 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
2366 to match nested functions.
2367 * loader/sparc64/ieee1275/linux.c: Likewise.
2368
f52196ff 2369 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
2370
58750afc 23712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2372
2373 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
2374 all i386 platforms.
2375
15355c7d 23762009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2377
2378 Fix asm file handling on ELF, and remove workarounds.
2379
2380 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 2381 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 2382 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
2383 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
2384
3f3ec72b 23852009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Load BSD ELF modules
2388
2389 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
2390 and loader/i386/bsd64.c
2391 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
2392 (FREEBSD_MODTYPE_ELF_MODULE): New definition
2393 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
2394 (grub_freebsd_load_elfmodule32): New declaration
2395 (grub_freebsd_load_elfmoduleobj64): Likewise
2396 (grub_freebsd_load_elf_meta32): Likewise
2397 (grub_freebsd_load_elf_meta64): Likewise
2398 (grub_freebsd_add_meta): Likewise
2399 (grub_freebsd_add_meta_module): Likewise
2400 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
2401 (grub_freebsd_add_meta_module): Likewise and move module-specific
2402 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
2403 (grub_cmd_freebsd): Add elf-kernel specific parts
2404 based on grub_freebsd_add_meta_module
2405 (grub_cmd_freebsd_module): Add type parsing moved from
2406 grub_freebsd_add_meta_module
2407 (grub_cmd_freebsd_module_elf): New function
2408 (cmd_freebsd_module_elf): New variable
2409 (GRUB_MOD_INIT): Register freebsd_module_elf
2410 * loader/i386/bsd32.c: New file
2411 * loader/i386/bsd64.c: Likewise
2412 * loader/i386/bsdXX.c: Likewise
2413 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
2414 (grub_elf64_load): Likewise
2415 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
2416 All users updated
2417 (grub_elf64_load_hook_t): Likewise
2418
0db15301 24192009-06-21 Colin Watson <cjwatson@ubuntu.com>
2420
2421 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
2422 variable.
2423 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
2424 don't write a menu entry for recovery mode.
2425
546796c1 24262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2427
2428 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
2429 after it's no longer needed.
2430
cd7310d5 24312009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2432
2433 * include/grub/i386/loader.h (grub_linux_prot_size)
2434 (grub_linux_tmp_addr, grub_linux_real_addr)
2435 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
2436 GRUB_MACHINE_PCBIOS.
2437 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
2438 common grub_util_info() call to ...
2439 (generate_image): ... here.
2440 Fix use of uninitialized memory, comparison of signed with
2441 unsigned integers and memory leak.
2442 Remove bogus module address message.
2443
ab32d3b5 24442009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
2447 grub_raid_register
2448 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2449
024ef597 24502009-06-19 Pavel Roskin <proski@gnu.org>
2451
2452 * configure.ac: Remove stray AC_MSG_CHECKING.
2453
3ac72b51 24542009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 2457
e14cd814 24582009-06-18 Pavel Roskin <proski@gnu.org>
2459
2460 * conf/common.rmk: Add fs_file.mod.
2461 * disk/fs_file.c: New file.
2462 * include/grub/disk.h (enum grub_disk_dev_id): Add
2463 GRUB_DISK_DEVICE_FILE_ID.
2464
26586d98 24652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Fix build with Apple's toolchain. Part 2
2468
2469 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
2470 a fake start
2471
26de2bcd 24722009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 Fix build with Apple's toolchain. Part 1
2475
2476 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
2477 for long calls
2478 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 2479 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 2480 Apple's toolchain
2481
09b3490b 24822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Fix warnings
2485
2486 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
2487 (decomp_block): initialize ch
2488 use grub_memcpy instead of memcpy
2489
c22a006a 24902009-06-17 Pavel Roskin <proski@gnu.org>
2491
d3638678 2492 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
2493 version, use declarations needed to use vga_text as the startup
2494 console.
2495
c22a006a 2496 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
2497 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
2498 the kernel.
2499 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
2500 and grub_at_keyboard_fini(), it's done on module load and
2501 unload.
2502
05b129e0 25032009-06-17 Felix Zielcke <fzielcke@z-51.de>
2504
2505 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
2506 file can't be found.
2507 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2508
cf24ed9e 25092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Fix newline handling
2512
2513 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 2514 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 2515 (grub_script_yylex): don't segfault on unterminated script
2516 newline terminates command and variable
2517
74aa8e4b 25182009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 avoid double grub_adjust_range call. Bug reported by David Simner
2521
2522 * kern/disk.c (grub_disk_write): change to raw disk access before
2523 calling disk_read
2524
1bd265f3 25252009-06-17 Colin Watson <cjwatson@ubuntu.com>
2526
2527 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
2528 spaces, for the benefit of help2man.
2529 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2530
a2d08c06 25312009-06-16 Pavel Roskin <proski@gnu.org>
2532
2533 * kern/i386/halt.c: Include grub/machine/init.h.
2534 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
2535
b97bcb19 25362009-06-16 Felix Zielcke <fzielcke@z-51.de>
2537
2538 * util/grub.d/30_os-prober.in: Use ${root} in the generated
2539 drivemap menuentry.
2540
0644f96c 25412009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
2542
2543 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
2544 `echo' command.
2545
3ef17a2e 25462009-06-16 Pavel Roskin <proski@gnu.org>
2547
2548 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
2549 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
2550 save %dx, we only need %dl and we never change it.
2551 * boot/i386/pc/cdboot.S: Don't set the root drive.
2552 * boot/i386/pc/pxeboot.S: Likewise.
2553 * include/grub/i386/pc/boot.h: Remove
2554 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
2555 GRUB_BOOT_MACHINE_DRIVE_CHECK.
2556 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
2557 * kern/i386/pc/init.c (make_install_device): Remove references
2558 to grub_root_drive.
2559 * kern/i386/pc/startup.S: Likewise.
2560 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2561
693fe637 25622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 xnu_uuid command
2565
2566 * commands/xnu_uuid.c: new file
2567 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
2568 (xnu_uuid_mod_SOURCES): new variable
2569 (xnu_uuid_mod_CFLAGS): likewise
2570 (xnu_uuid_mod_LDFLAGS): likewise
2571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2572 * conf/i386-ieee1275.rmk: likewise
2573 * conf/i386-pc.rmk: likewise
2574 * conf/powerpc-ieee1275.rmk: likewise
2575 * conf/sparc64-ieee1275.rmk: likewise
2576 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
2577
c9da87d0 25782009-06-16 Pavel Roskin <proski@gnu.org>
2579
2580 * configure.ac: Avoid '==' in test command, it's not portable.
2581
9c6f4596 25822009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 Probe command
2585
2586 * commands/probe.c: new file
2587 * conf/common.rmk (pkglib_MODULES): add probe.mod
2588 (probe_mod_SOURCES): new variable
2589 (probe_mod_CFLAGS): likewise
2590 (probe_mod_LDFLAGS): likewise
2591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2592 * conf/i386-ieee1275.rmk: likewise
2593 * conf/i386-pc.rmk: likewise
2594 * conf/powerpc-ieee1275.rmk: likewise
2595 * conf/sparc64-ieee1275.rmk: likewise
2596
70b7f9fd 25972009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Fix handling of string like \"hello\" and "a
2600 b"
2601
2602 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
2603 (grub_script_yylex): fix parsing of quoting, escaping and newline
2604
71c79a6b 26052009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2606
dd74360c 2607 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 2608 handling
dd74360c 2609
0644f96c 26102009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 2611
2612 * util/grub-mkconfig.in: Fix parsing of --output option.
2613
e40893c3 26142009-06-12 Pavel Roskin <proski@gnu.org>
2615
2616 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
2617 genmk.rb don't need to be generated or installed.
2618
3a1acfe2 26192009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * commands/i386/pc/drivemap_int13h.S: add more comments
2622
3a4575d4 26232009-06-11 Pavel Roskin <proski@gnu.org>
2624
0658e928 2625 * Makefile.in (uninstall): Uninstall manuals.
2626
ca0388f0 2627 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
2628 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
2629 and update-grub_lib in two places.
2630 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
2631
e3b27c39 2632 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
2633 a compiler warning.
2634
3a4575d4 2635 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
2636 `entry_lo' to fix variable shadowing.
2637
af1f4f55 26382009-06-11 Christian Franke <franke@computer.org>
2639
2640 * kern/misc.c (__enable_execute_stack): Add missing return type
2641 to prevent gcc warning.
2642
5225e649 26432009-06-11 Felix Zielcke <fzielcke@z-51.de>
2644
2645 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
2646
7d83bd47 26472009-06-11 Pavel Roskin <proski@gnu.org>
2648
c1cb63ba 2649 * Makefile.in: Don't rely on any scripts being executable.
2650 Always use $(SHELL) to run shell scripts.
2651
7d83bd47 2652 * configure.ac: Always define ___main if using -nostdlib. This
2653 fixes tests on Cygwin.
2654
948f48e7 26552009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
2656
2657 UDF fix
2658
7d83bd47 2659 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 2660 is in bytes and not in blocks
7d83bd47 2661
8ada9bc1 26622009-06-11 Pavel Roskin <proski@gnu.org>
2663
2664 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
2665 warning.
2666
25ad2323 26672009-06-11 Felix Zielcke <fzielcke@z-51.de>
2668
2669 * util/grub.d/30_os-prober.in: Fix a comment. Source
2670 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
2671 to set the root device. Place drivemap command in the generated
2672 chain entry.
2673
e65acb0c 26742009-06-11 Pavel Roskin <proski@gnu.org>
2675
2676 * configure.ac: Remove host_m32. Issues with 64-bit utilities
2677 have long been resolved.
2678
f285fe2d 26792009-06-11 Colin Watson <cjwatson@ubuntu.com>
2680
bd47b0b5 2681 * util/grub.d/10_linux.in: Capitalise "Linux".
2682
f285fe2d 2683 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
2684
a0c62e4e 26852009-06-11 Pavel Roskin <proski@gnu.org>
2686
b6783cb2 2687 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
2688 fix a gcc warning and ensure that the function won't ever exit.
2689
dde032e8 2690 * kern/i386/ieee1275/init.c: Add missing prototype for
2691 grub_stop_floppy().
2692
22cd079d 2693 * loader/ieee1275/multiboot2.c [__i386__]: Include
2694 grub/cpu/multiboot.h.
2695
a0c62e4e 2696 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
2697 casts to short - they are not portable and cause warnings. Fix
2698 use of uninitialized values in input_buf. Use ARRAY_SIZE.
2699
63963d17 27002009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Drivemap fixes
2703
2704 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
2705 new function
2706 (grub_get_root_biosnumber_saved): new variable
2707 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
2708 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 2709 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 2710 %dx after the call if necessary
2711 * conf/common.rmk (pkglib_MODULES): remove boot.mod
2712 (boot_mod_SOURCES): remove
2713 (boot_mod_CFLAGS): remove
2714 (boot_mod_LDFLAGS): remove
2715 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
2716 (boot_mod_SOURCES): new variable
2717 (boot_mod_CFLAGS): likewise
2718 (boot_mod_LDFLAGS): likewise
2719 * conf/i386-efi.rmk: likewise
2720 * conf/i386-ieee1275.rmk: likewise
2721 * conf/i386-pc.rmk: likewise
2722 * conf/powerpc-ieee1275.rmk: likewise
2723 * conf/sparc64-ieee1275.rmk: likewise
2724 * conf/x86_64-efi.rmk: likewise
2725 * include/grub/i386/pc/biosnum.h: new file
2726 * lib/i386/pc/biosnum.c: likewise
2727 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
2728 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
2729 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 2730
33abf7ae 27312009-06-10 Pavel Roskin <proski@gnu.org>
2732
5ac35b35 2733 * io/gzio.c (test_header): Don't reuse one buffer for all data.
2734 Use separate variables. Read only the file size at the end, but
2735 not the checksum that we don't use.
2736
5c5215d5 2737 * kern/file.c (grub_file_read): Use void pointer for the buffer.
2738 Adjust all callers.
2739
27d5fef7 2740 * kern/ieee1275/openfw.c: Remove libc includes.
2741 * kern/ieee1275/cmain.c: Likewise.
2742 * include/grub/ieee1275/ieee1275.h: Likewise.
2743
33abf7ae 2744 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
2745 compiler warnings.
2746
19d50c2b 27472009-06-10 Felix Zielcke <fzielcke@z-51.de>
2748
2749 * Makefile.in: Remove all trailing whitespace.
2750 * conf/i386-pc.rmk: Likewise.
2751 * conf/powerpc-ieee1275.rmk: Likewise.
2752 * conf/sparc64-ieee1275.rmk: Likewise.
2753 * docs/grub.texi: Likewise.
2754 * docs/texinfo.tex: Likewise.
2755 * disk/fs_uuid.c: Likewise.
2756 * disk/lvm.c: Likewise.
2757 * disk/scsi.c: Likewise.
2758 * disk/ata.c: Likewise.
2759 * disk/ieee1275/ofdisk.c: Likewise.
2760 * disk/i386/pc/biosdisk.c: Likewise.
2761 * disk/host.c: Likewise.
2762 * disk/raid.c: Likewise.
2763 * disk/efi/efidisk.c: Likewise.
2764 * disk/usbms.c: Likewise.
2765 * disk/memdisk.c: Likewise.
2766 * disk/loopback.c: Likewise.
2767 * kern/powerpc/dl.c: Likewise.
2768 * kern/device.c: Likewise.
2769 * kern/dl.c: Likewise.
2770 * kern/sparc64/dl.c: Likewise.
2771 * kern/ieee1275/ieee1275.c: Likewise.
2772 * kern/term.c: Likewise.
2773 * kern/fs.c: Likewise.
2774 * kern/i386/dl.c: Likewise.
2775 * kern/i386/pc/startup.S: Likewise.
2776 * kern/i386/pc/init.c: Likewise.
2777 * kern/i386/pc/mmap.c: Likewise.
2778 * kern/i386/pc/lzo1x.S: Likewise.
2779 * kern/i386/ieee1275/init.c: Likewise.
2780 * kern/i386/realmode.S: Likewise.
2781 * kern/i386/tsc.c: Likewise.
2782 * kern/partition.c: Likewise.
2783 * kern/corecmd.c: Likewise.
2784 * kern/file.c: Likewise.
2785 * kern/efi/efi.c: Likewise.
2786 * kern/efi/init.c: Likewise.
2787 * kern/efi/mm.c: Likewise.
2788 * kern/main.c: Likewise.
2789 * kern/err.c: Likewise.
2790 * kern/env.c: Likewise.
2791 * kern/disk.c: Likewise.
2792 * kern/generic/millisleep.c: Likewise.
2793 * kern/generic/rtc_get_time_ms.c: Likewise.
2794 * kern/misc.c: Likewise.
2795 * kern/parser.c: Likewise.
2796 * genmk.rb: Likewise.
2797 * configure.ac: Likewise.
2798 * boot/i386/pc/diskboot.S: Likewise.
2799 * boot/i386/pc/pxeboot.S: Likewise.
2800 * boot/i386/pc/boot.S: Likewise.
2801 * boot/i386/pc/lnxboot.S: Likewise.
2802 * boot/i386/pc/cdboot.S: Likewise.
2803 * parttool/pcpart.c: Likewise.
2804 * video/readers/tga.c: Likewise.
2805 * video/video.c: Likewise.
2806 * video/bitmap.c: Likewise.
2807 * lib/envblk.c: Likewise.
2808 * lib/i386/setjmp.S: Likewise.
2809 * fs/xfs.c: Likewise.
2810 * fs/afs.c: Likewise.
2811 * fs/fat.c: Likewise.
2812 * fs/ntfs.c: Likewise.
2813 * fs/udf.c: Likewise.
2814 * fs/affs.c: Likewise.
2815 * fs/iso9660.c: Likewise.
2816 * fs/hfs.c: Likewise.
2817 * fs/fshelp.c: Likewise.
2818 * fs/ext2.c: Likewise.
2819 * fs/jfs.c: Likewise.
2820 * fs/reiserfs.c: Likewise.
2821 * fs/hfsplus.c: Likewise.
2822 * fs/minix.c: Likewise.
2823 * fs/cpio.c: Likewise.
2824 * fs/sfs.c: Likewise.
2825 * fs/ufs.c: Likewise.
2826 * efiemu/prepare.c: Likewise.
2827 * efiemu/loadcore_common.c: Likewise.
2828 * efiemu/runtime/efiemu.sh: Likewise.
2829 * efiemu/runtime/efiemu.S: Likewise.
2830 * efiemu/runtime/efiemu.c: Likewise.
2831 * efiemu/pnvram.c: Likewise.
2832 * efiemu/main.c: Likewise.
2833 * efiemu/i386/pc/cfgtables.c: Likewise.
2834 * efiemu/i386/loadcore64.c: Likewise.
2835 * efiemu/i386/loadcore32.c: Likewise.
2836 * efiemu/loadcore.c: Likewise.
2837 * efiemu/symbols.c: Likewise.
2838 * efiemu/mm.c: Likewise.
2839 * include/grub/autoefi.h: Likewise.
2840 * include/grub/datetime.h: Likewise.
2841 * include/grub/term.h: Likewise.
2842 * include/grub/hfs.h: Likewise.
2843 * include/grub/lvm.h: Likewise.
2844 * include/grub/i386/tsc.h: Likewise.
2845 * include/grub/i386/linux.h: Likewise.
2846 * include/grub/i386/xnu.h: Likewise.
2847 * include/grub/i386/efiemu.h: Likewise.
2848 * include/grub/i386/pc/biosdisk.h: Likewise.
2849 * include/grub/i386/pc/memory.h: Likewise.
2850 * include/grub/i386/pc/vbe.h: Likewise.
2851 * include/grub/parttool.h: Likewise.
2852 * include/grub/video.h: Likewise.
2853 * include/grub/memory.h: Likewise.
2854 * include/grub/fs.h: Likewise.
2855 * include/grub/partition.h: Likewise.
2856 * include/grub/xnu.h: Likewise.
2857 * include/grub/efi/api.h: Likewise.
2858 * include/grub/efi/pe32.h: Likewise.
2859 * include/grub/efi/memory.h: Likewise.
2860 * include/grub/multiboot.h: Likewise.
2861 * include/grub/usbdesc.h: Likewise.
2862 * include/grub/multiboot2.h: Likewise.
2863 * include/grub/acpi.h: Likewise.
2864 * include/grub/efiemu/efiemu.h: Likewise.
2865 * include/grub/disk.h: Likewise.
2866 * include/grub/ieee1275/ieee1275.h: Likewise.
2867 * include/grub/net.h: Likewise.
2868 * include/grub/machoload.h: Likewise.
2869 * include/grub/macho.h: Likewise.
2870 * include/multiboot.h: Likewise.
2871 * genmoddep.awk: Likewise.
2872 * normal/main.c: Likewise.
2873 * normal/menu_entry.c: Likewise.
2874 * normal/menu_viewer.c: Likewise.
2875 * normal/completion.c: Likewise.
2876 * normal/cmdline.c: Likewise.
2877 * normal/misc.c: Likewise.
2878 * normal/datetime.c: Likewise.
2879 * bus/usb/usbtrans.c: Likewise.
2880 * bus/usb/ohci.c: Likewise.
2881 * bus/usb/uhci.c: Likewise.
2882 * bus/usb/usb.c: Likewise.
2883 * mmap/efi/mmap.c: Likewise.
2884 * mmap/i386/pc/mmap_helper.S: Likewise.
2885 * mmap/i386/pc/mmap.c: Likewise.
2886 * mmap/i386/mmap.c: Likewise.
2887 * mmap/i386/uppermem.c: Likewise.
2888 * mmap/mmap.c: Likewise.
2889 * commands/acpi.c: Likewise.
2890 * commands/echo.c: Likewise.
2891 * commands/blocklist.c: Likewise.
2892 * commands/loadenv.c: Likewise.
2893 * commands/usbtest.c: Likewise.
2894 * commands/boot.c: Likewise.
2895 * commands/parttool.c: Likewise.
2896 * commands/search.c: Likewise.
2897 * commands/cat.c: Likewise.
2898 * commands/i386/pc/play.c: Likewise.
2899 * commands/i386/pc/drivemap.c: Likewise.
2900 * commands/i386/pc/vbeinfo.c: Likewise.
2901 * commands/i386/pc/acpi.c: Likewise.
2902 * commands/i386/pc/vbetest.c: Likewise.
2903 * commands/ls.c: Likewise.
2904 * commands/cmp.c: Likewise.
2905 * commands/test.c: Likewise.
2906 * commands/efi/acpi.c: Likewise.
2907 * commands/gptsync.c: Likewise.
2908 * commands/help.c: Likewise.
2909 * partmap/amiga.c: Likewise.
2910 * partmap/apple.c: Likewise.
2911 * partmap/acorn.c: Likewise.
2912 * partmap/pc.c: Likewise.
2913 * partmap/sun.c: Likewise.
2914 * partmap/gpt.c: Likewise.
2915 * script/sh/lexer.c: Likewise.
2916 * script/sh/function.c: Likewise.
2917 * font/font.c: Likewise.
2918 * font/font_cmd.c: Likewise.
2919 * loader/powerpc/ieee1275/linux.c: Likewise.
2920 * loader/efi/chainloader.c: Likewise.
2921 * loader/multiboot_loader.c: Likewise.
2922 * loader/macho.c: Likewise.
2923 * loader/i386/multiboot.c: Likewise.
2924 * loader/i386/linux.c: Likewise.
2925 * loader/i386/pc/linux.c: Likewise.
2926 * loader/i386/pc/multiboot2.c: Likewise.
2927 * loader/i386/pc/chainloader.c: Likewise.
2928 * loader/i386/pc/xnu.c: Likewise.
2929 * loader/i386/bsd_trampoline.S: Likewise.
2930 * loader/i386/efi/linux.c: Likewise.
2931 * loader/i386/multiboot_elfxx.c: Likewise.
2932 * loader/i386/bsd_helper.S: Likewise.
2933 * loader/i386/bsd.c: Likewise.
2934 * loader/i386/linux_trampoline.S: Likewise.
2935 * loader/i386/xnu_helper.S: Likewise.
2936 * loader/i386/xnu.c: Likewise.
2937 * loader/i386/bsd_pagetable.c: Likewise.
2938 * loader/i386/multiboot_helper.S: Likewise.
2939 * loader/xnu.c: Likewise.
2940 * loader/xnu_resume.c: Likewise.
2941 * io/gzio.c: Likewise.
2942 * term/efi/console.c: Likewise.
2943 * term/terminfo.c: Likewise.
2944 * term/ieee1275/ofconsole.c: Likewise.
2945 * term/i386/pc/serial.c: Likewise.
2946 * term/i386/pc/vesafb.c: Likewise.
2947 * term/i386/pc/vga.c: Likewise.
2948 * term/usb_keyboard.c: Likewise.
2949 * term/gfxterm.c: Likewise.
2950 * aclocal.m4: Likewise.
2951 * util/lvm.c: Likewise.
2952 * util/grub.d/30_os-prober.in: Likewise.
2953 * util/grub.d/10_hurd.in: Likewise.
2954 * util/console.c: Likewise.
2955 * util/grub-macho2img.c: Likewise.
2956 * util/grub-probe.c: Likewise.
2957 * util/hostfs.c: Likewise.
2958 * util/i386/pc/grub-mkimage.c: Likewise.
2959 * util/i386/pc/grub-setup.c: Likewise.
2960 * util/i386/efi/grub-mkimage.c: Likewise.
2961 * util/grub-mkconfig.in: Likewise.
2962 * util/raid.c: Likewise.
2963 * util/resolve.c: Likewise.
2964 * util/grub-mkdevicemap.c: Likewise.
2965 * util/grub-emu.c: Likewise.
2966 * util/getroot.c: Likewise.
2967 * util/hostdisk.c: Likewise.
2968 * util/usb.c: Likewise.
2969 * util/grub-editenv.c: Likewise.
2970 * util/misc.c: Likewise.
2971
d2d49665 29722009-06-10 Felix Zielcke <fzielcke@z-51.de>
2973
2974 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
2975 `genparttoollist.sh'.
2976 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
2977 Add `*.sh' to the list find searches for and change `mdate.sh'
2978 to `mdate-sh'.
2979
fe052e37 29802009-06-10 Pavel Roskin <proski@gnu.org>
2981
2763ac18 2982 * include/grub/multiboot2.h: Provide compatibility defines for
2983 multiboot2.h.
2984 * include/multiboot2.h: Include stdint.h only if needed, using
2985 angle brackets.
2986 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
2987 grub/multiboot2.h.
2988 * loader/ieee1275/multiboot2.c: Likewise.
2989 * loader/multiboot2.c: Likewise.
2990 * loader/multiboot_loader.c: Likewise.
2991
437e6adc 2992 * configure.ac: Use -nostdlib when probing for the target. It
2993 should not be required to have libc for the target.
2994
06a6836c 2995 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
2996 they fail without libc headers for the target.
2997 * include/grub/powerpc/libgcc.h: Use weak attribute for all
2998 exports.
2999 * include/grub/sparc64/libgcc.h: Likewise. Don't use
3000 preprocessor conditionals.
3001
fe052e37 3002 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
3003 build system doesn't need to be aware of the tar.c internals.
3004
afd22553 30052009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 3006
afd22553 3007 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 3008
6b787c4f 30092009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3010
3011 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3012 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3013
30142009-06-09 Felix Zielcke <fzielcke@z-51.de>
3015
3016 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 3017 aren't available if ata.mod gets used.
6b787c4f 3018
473d1e45 30192009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 3020
473d1e45 3021 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 3022 initialising controller.
473d1e45 3023 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 3024
255a27d4 30252009-06-08 Felix Zielcke <fzielcke@z-51.de>
3026
3027 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3028 to choose between ata and biosdisk module on i386-pc.
3029
473d1e45 30302009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 3031
d55842d8 3032 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3033 Subclass and Programming Interface fields in terms of the 3 byte
3034 Class Code register.
3035 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3036
fa5db0b1 3037 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3038 interface is OHCI. Add grub_dprintf for symmetry with
3039 bus/usb/uhci.c.
3040 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3041 interface is UHCI. Add interf variable for programming
3042 interface. Print interface with class/subclass.
3043
c0947beb 3044 * bus/usb/ohci.c: Set interf with correct field.
3045
69da8877 3046 * bus/usb/uhci.c: Remove unneeded doubled lines.
3047 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3048 Remove whitespace inside comment.
3049
9e172e30 30502009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3051
3052 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3053 as fallback an equivalent option without depth.
3054
de65ee2b 30552009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 Not fail if unable to retrieve C/H/S on LBA disks
3058
473d1e45 3059 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 3060 if unable to retrieve C/H/S on LBA disks
3061
b57ea2c9 30622009-06-08 Pavel Roskin <proski@gnu.org>
3063
3064 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3065 about aliasing.
3066
af361263 30672009-06-08 Felix Zielcke <fzielcke@z-51.de>
3068
3069 * Makefile.in (uninstall): Remove all $lib_DATA files.
3070
4c9ec6b3 30712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Bugfix: install on partitionless device
3074
3075 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
3076 is a whole disk
3077
e76fc924 30782009-06-08 Felix Zielcke <fzielcke@z-51.de>
3079
3080 * Makefile.in (uninstall): Remove all $include_DATA files.
3081
ba5a0d05 30822009-06-08 Felix Zielcke <fzielcke@z-51.de>
3083
3084 * commands/true.c: New file. Implement the true and false commands.
3085 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
3086 (true_mod_SOURCES): New variable.
3087 (true_mod_CFLAGS): Likewise.
3088 (true_mod_LDFLAGS): Likewise.
3089
c8048e32 30902009-06-05 Colin D Bennett <colin@gibibit.com>
3091
3092 Optimized font character lookup using binary search instead of linear
3093 search. Fonts now are required to have the character index ordered by
3094 code point.
3095
3096 * font/font.c (load_font_index): Verify that fonts have ordered
3097 character indices.
3098 (find_glyph): Use binary search instead of linear search to find a
3099 character in a font.
3100
408305be 31012009-06-05 Michael Scherer <misc@mandriva.org>
3102
3103 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
3104 uses case sensitive btree.
3105 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
3106 only for case insensitive filesystems.
3107
8ee1e0d9 31082009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
3111 * conf/common.rmk (search_mod_CFLAGS): likewise
3112
a9966eb1 31132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3114
473d1e45 3115 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 3116 compensate a compiler bug
3117
9e7100fb 31182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3119
473d1e45 3120 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 3121 instead of '\b'
473d1e45 3122
ede21d71 31232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Definitions for creating asm symbols with Apple's CC
3126
3127 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
3128 [APPLE_CC] (VARIABLE): likewise
3129
9dbf7653 31302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Disable lnxboot.img when compiled
3133 with Apple's CC
3134
3135 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
3136 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
3137 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
3138 [! APPLE_CC] (CODE_LENG): skip
3139 [! APPLE_CC] (setup_sects): likewise
3140 [! APPLE_CC]: skip filling
473d1e45 3141
e93cdc3d 31422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 Address in trampolines based on 32-bit registers when compiled
3145 with Apple's CC
3146
473d1e45 3147 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 3148 for addresses
3149 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
3150
6c688477 31512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 Avoid aliases when compiling with Apple's CC for PCBIOS machine
3154
3155 * kern/misc.c [APPLE_CC] (memcpy): new function
3156 [APPLE_CC] (memmove): likewise
3157 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 3158 (memcpy): define alias conditionally on !APPLE_CC
6c688477 3159 (memset): likewise
3160 (abort): likewise
3161 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
3162 APPLE_CC are defined
3163 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
3164 (grub_assert_fail): make prototype conditional
3165
e37ffc5c 31662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
3169
473d1e45 3170 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
3171 grub-macho2img
e37ffc5c 3172 (CLEANFILES): add grub-macho2img
3173 (grub_macho2img_SOURCES): new variable
3174 * kern/i386/pc/startup.S (bss_start): new variable
3175 (bss_end): likewise
3176 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
3177 * util/grub-macho2img.c: new file
3178
cf00df31 31792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 Use objconv when compiling with Apple's CC
3182
3183 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
3184 (efiemu64.o): likewise
3185 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
3186 when compiling with Apple's CC
3187 (efiemu64_s.o): likewise
3188 * configure.ac: check for objconv when compiling with Apple's CC
3189 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 3190
d119a20c 31912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 Define segment as well as section when compiling with
3194 Apple's CC
3195
3196 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
3197 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
3198 (efiemu_convert_pointer): likewise
3199 (efiemu_set_virtual_address_map): likewise
3200 (efiemu_convert_pointer): likewise
3201 (efiemu_getcrc32): likewise
3202 (init_crc32_table): likewise
3203 (reflect): likewise
3204 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
3205 (GRUB_MOD_DEP): likewise
473d1e45 3206
c8600122 32072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Allow a compilation without -mcmodel=large
3210
3211 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
3212 when compiled without -mcmodel=large
473d1e45 3213 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 3214 without -mcmodel=large
473d1e45 3215 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 3216 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 3217
e8df1d4e 32182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 Remove nested functions in efiemu core
3221
3222 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 3223
cc6c3ac1 32242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
3227
3228 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
3229 temporary storage
473d1e45 3230 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
3231 using Apple's CC
cc6c3ac1 3232 (grub_cpu_is_tsc_supported): likewise
3233 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 3234
3e325901 32352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 Absolute addressing through constant with Apple's cc
3238
3239 * kern/i386/pc/startup.S: Define necessary constants
3240 and address through it when using ABS with Apple's CC
3241 * boot/i386/pc/diskboot.S: likewise
3242 * boot/i386/pc/boot.S: likewise
3243 * boot/i386/pc/lnxboot.S: likewise
3244 * boot/i386/pc/cdboot.S: likewise
3245 * mmap/i386/pc/mmap_helper.S: likewise
3246 * commands/i386/pc/drivemap_int13h.S: likewise
3247
2b167a72 32482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 Check if compiler is apple cc
3251
3252 * Makefile.in (ASFLAGS): new variable
3253 (TARGET_ASFLAGS): likewise
3254 (TARGET_MODULE_FORMAT): likewise
3255 (TARGET_APPLE_CC): likewise
3256 (OBJCONV): likewise
3257 (TARGET_IMG_CFLAGS): likewise
3258 (TARGET_CPPFLAGS): add includedir
3259 * configure.ac: call grub_apple_cc and grub_apple_target_cc
3260 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
3261 Check for linker script only if compiler isn't Apple's CC
3262 (TARGET_MODULE_FORMAT): set
3263 (TARGET_APPLE_CC): likewise
3264 (TARGET_ASFLAGS): likewise
3265 (ASFLAGS): likewise
3266 Check for objcopy only if compiler isn't Apple's CC
3267 Check for BSS symbol only if compiler isn't Apple's CC
3268 * genmk.rb: adapt nm options if we use Apple's utils
3269 * aclocal.m4 (grub_apple_cc): new test
3270 (grub_apple_target_cc): likewise
473d1e45 3271
fb14123e 32722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 Simplify sed expressions and improve awk
3275
3276 * Makefile.in (install-local): simplify sed expression
3277 * gencmdlist.sh: likewise
3278 * genmoddep.awk: avoid adding module as a dependency of itself
3279
5b889789 32802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 Add missing start symbols
3283
3284 * boot/i386/pc/boot.S: add start
fb14123e 3285 * boot/i386/pc/pxeboot.S: likewise
473d1e45 3286
fd2bf2e3 32872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 3290
3291 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 3292 (relocate_addresses): consider both r_addend and value at offset
3293 (make_mods_section): zerofill modinfo and header
3294 (convert_elf): write prefix here
473d1e45 3295
5389763d 32962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Use .asciz instead of .string
3299
3300 * i386/pc/diskboot.S: use .asciz instead of .string
3301 * i386/pc/boot.S: likewise
3302 * include/grub/dl.h (GRUB_MOD_DEP): likewise
3303 (GRUB_MOD_NAME): likewise
473d1e45 3304
3eb5ed4e 33052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 gfxpayload support
3308
3309 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
3310 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
3311 (grub_video_setup): remove
3312 (grub_video_set_mode): new prototype
3313 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
3314 (vid_mode): remove
3315 (linux_vesafb_res): compile only on PCBIOS
3316 (grub_linux_boot): support gfxpayload
3317 * loader/i386/pc/xnu.c (video_hook): new function
3318 (grub_xnu_set_video): support gfxpayload
3319 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
3320 (DEFAULT_VIDEO_HEIGHT): likewise
3321 (DEFAULT_VIDEO_FLAGS): likewise
3322 (DEFAULT_VIDEO_MODE): new definition
3323 (video_hook): new function
3324 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 3325 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 3326 loading xnu
3327 * video/video.c (grub_video_setup): removed
473d1e45 3328 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 3329 grub_video_setup
3330
4b0e1143 33312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Avoid calling biosdisk in drivemap
3334
3335 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
3336 (revparse_biosdisk): likewise
3337 (list_mappings): derive name from id directly
3338 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 3339
fda6cb98 33402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 Script fixes
3343
3344 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
3345 (grub_lexer_param): add tokenonhold
3346 (grub_script_create_cmdline): remove cmdline. All callers updated
3347 (grub_script_function_create): make functionname
3348 grub_script_arg. All callers updated
3349 (grub_script_execute_argument_to_string): new prototype
3350 * kern/parser.c (state_transitions): reorder
3351 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 3352 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 3353 make global
3354 (grub_script_execute_cmdline): use new format
3355 * script/sh/function.c (grub_script_function_create): make functionname
3356 grub_script_arg. All callers updated
473d1e45 3357 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 3358 (grub_script_yylex): remove
3359 (grub_script_yylex2): renamed to ...
3360 (grub_script_yylex): ...renamed
3361 parse the expressions like a${b}c
3362 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
3363 (GRUB_PARSER_TOKEN_VAR): remove
3364 (GRUB_PARSER_TOKEN_NAME): likewise
3365 ("if"): declare as typeless
3366 ("while"): likewise
3367 ("function"): likewise
3368 ("else"): likewise
3369 ("then"): likewise
3370 ("fi"): likewise
3371 (text): remove
3372 (argument): likewise
3373 (script): accept empty scripts and make exit on error
3374 (arguments): use GRUB_PARSER_TOKEN_ARG
3375 (function): likewise
3376 (command): move error handling to script
3377 (menuentry): move grub_script_lexer_ref before
473d1e45 3378 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 3379 argument. All callers updated
3380
f4448a07 33812009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3382
3383 Prevent GRUB from probing floppies during boot.
3384
3385 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
3386 * commands/search.c (options): Add --no-floppy.
3387 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
3388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
3389 --no-floppy when searching for UUIDs.
3390
2bf5885a 33912009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3392
3393 Simplify the code duplication in commands/search.c.
3394
3395 * commands/search.c (search_label, search_fs_uuid): Merge into ...
3396 (search_fs): ... this. Update all users.
3397
f6fd460a 33982009-06-03 Felix Zielcke <fzielcke@z-51.de>
3399
3400 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
3401
cbb3c83e 34022009-05-28 Pavel Roskin <proski@gnu.org>
3403
57788cfd 3404 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
3405 Remove the original symlink explicitly.
3406
cbb3c83e 3407 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
3408 just one slash. That's how grub_fshelp_find_file() does it.
3409
cd0d5e30 34102009-05-26 Pavel Roskin <proski@gnu.org>
3411
f0f8bbe2 3412 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
3413 to `str'.
3414
cd0d5e30 3415 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
3416 possibly unused.
3417
8c2cab51 34182009-05-25 Christian Franke <franke@computer.org>
3419
3420 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
3421 register.
3422 (grub_atapi_identify): Add wait after drive select.
3423 (grub_ata_identify): Do more strict status register check before
3424 calling grub_atapi_identify (). Suppress error message if status
3425 register is 0x00 after command failure. Add status register
3426 check after PIO read to avoid bogus identify due to stuck DRQ.
3427 Thanks to Pavel Roskin for testing.
3428 (grub_device_initialize): Remove unsafe status register check.
3429 Thanks to 'phcoder' for problem report and patch.
3430 Prevent sign extension in debug message.
3431
230c0ad6 34322009-05-23 Colin D Bennett <colin@gibibit.com>
3433
3434 Cleaned up `include/grub/normal.h'. Grouped prototypes by
3435 definition file, and functions defined in `normal/menu.c' have had
3436 their prototypes moved to `include/grub/menu.h' for consistency.
3437
3438 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
3439 from normal.h.
3440 (grub_menu_get_entry): Likewise.
3441 (grub_menu_get_timeout): Likewise.
3442 (grub_menu_set_timeout): Likewise.
3443 (grub_menu_execute_entry): Likewise.
3444 (grub_menu_execute_with_fallback): Likewise.
3445 (grub_menu_entry_run): Likewise.
3446
3447 * include/grub/normal.h: Re-ordered and grouped function
3448 prototypes by file that the function is defined in.
3449 (grub_menu_execute_callback): Removed; moved to menu.h.
3450 (grub_menu_get_entry): Likewise.
3451 (grub_menu_get_timeout): Likewise.
3452 (grub_menu_set_timeout): Likewise.
3453 (grub_menu_execute_entry): Likewise.
3454 (grub_menu_execute_with_fallback): Likewise.
3455 (grub_menu_entry_run): Likewise.
3456 (grub_menu_addentry): Renamed from this ...
3457 (grub_normal_add_menu_entry): ... to this.
3458
3459 * normal/main.c (grub_menu_addentry): Renamed from this ...
3460 (grub_normal_add_menu_entry): ... to this.
3461
3462 * script/sh/execute.c (grub_script_execute_menuentry): Update
3463 reference to renamed grub_menu_addentry function.
3464
861f03a5 34652009-05-23 Felix Zielcke <fzielcke@z-51.de>
3466
3467 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
3468
96b1619a 34692009-05-22 Pavel Roskin <proski@gnu.org>
3470
bf6a5fb2 3471 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
3472 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
3473 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
3474 compiling for the i386 targets, but not for the utilities.
3475
96b1619a 3476 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
3477 to grub_uint8_t.
3478 (grub_root_drive): Likewise.
3479 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
3480 remove alignment.
3481 (grub_root_drive): Change size to byte.
3482 (grub_start_addr): Remove.
3483 (grub_end_addr): Likewise.
3484 (grub_apm_bios_info): Likewise.
3485
b729776b 34862009-05-21 Felix Zielcke <fzielcke@z-51.de>
3487
3488 * normal/i386: Remove.
3489 * normal/powerpc: Likewise.
3490 * normal/sparc64: Likewise.
3491 * normal/x86_64: Likewise.
3492
0a15ce80 34932009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 3496 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 3497 * loader/i386/xnu_helper.S: Likewise
d6da58e6 3498
33db9015 34992009-05-18 Colin D Bennett <colin@gibibit.com>
3500
d6da58e6 3501 Display error messages when parsing a Lua statement fails.
3502 Previously, executing a syntactically invalid statement like
3503 ")foo" or "bar;" would silently fail.
33db9015 3504
3505 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 3506 (grub_lua_parse_line): Improved reporting of Lua parser and
3507 execution errors.
33db9015 3508
46422c89 35092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 Remove -Werror which causes build to fail on some systems
3512
3513 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
3514 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
3515 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 3516
22f53a96 35172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 trampoline for linux on 64-bit platform
3520
18f547ad 3521 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
3522 loader/i386/efi/linux_trampoline.S
3523 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 3524 declaration
d6da58e6 3525 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
3526 here
22f53a96 3527 * loader/i386/linux_trampoline.S: moved here
d6da58e6 3528 * loader/i386/efi/linux.c (allocate_pages): reserve space for
3529 trampoline
22f53a96 3530 (jumpvector): removed
3531 (grub_linux_trampoline_start): new declaration
3532 (grub_linux_trampoline_end): likewise
3533 (grub_linux_boot): use trampoline when on 64-bit platform
3534 * loader/i386/linux.c: likewise
3535
cb5a0f40 35362009-05-16 Pavel Roskin <proski@gnu.org>
3537
3538 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
3539 const to avoid a warning.
3540 (grub_lua_setenv): Likewise.
3541 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
3542 lmsg to fix a warning.
3543
334f2c28 35442009-05-16 Felix Zielcke <fzielcke@z-51.de>
3545
3546 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 3547 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3548 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
3549 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3550 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3551 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3552 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3553 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 3554
59e5d3ec 35552009-05-16 Felix Zielcke <fzielcke@z-51.de>
3556
3557 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
3558
9d87a1ba 35592009-05-16 Bean <bean123ch@gmail.com>
3560
3561 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
3562 (lua_mod_SOURCES): New variable.
3563 (lua_mod_CFLAGS): Likewise.
3564 (lua_mod_LDFLAGS): Likewise.
3565
3566 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
3567 (setjmp_mod_SOURCES): New variable.
3568 (setjmp_mod_CFLAGS): Likewise.
3569 (setjmp_LDFLAGS): Likewise.
3570
3571 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
3572 (setjmp_mod_SOURCES): New variable.
3573 (setjmp_mod_CFLAGS): Likewise.
3574 (setjmp_LDFLAGS): Likewise.
3575
3576 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3577 (setjmp_mod_SOURCES): New variable.
3578 (setjmp_mod_CFLAGS): Likewise.
3579 (setjmp_LDFLAGS): Likewise.
3580
3581 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3582 (setjmp_mod_SOURCES): New variable.
3583 (setjmp_mod_CFLAGS): Likewise.
3584 (setjmp_LDFLAGS): Likewise.
3585
3586 * normal/i386/setjmp.S: Moved from here ...
3587 * lib/i386/setjmp.S: ... Moved here
3588 * normal/x86_64/setjmp.S: Moved from here ...
3589 * lib/x86_64/setjmp.S: ... Moved here
3590 * normal/powerpc/setjmp.S: Moved from here ...
3591 * lib/powerpc/setjmp.S: ... Moved here
3592 * normal/sparc64/setjmp.S: Moved from here ...
3593 * lib/sparc64/setjmp.S: ... Moved here
3594
3595 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
3596 returns_twice in mingw.
3597
3598 * script/lua/grub_lib.c: New file.
3599 * script/lua/grub_lib.h: Likewise.
3600 * script/lua/grub_lua.h: Likewise.
3601 * script/lua/grub_main.c: Likewise.
3602 * script/lua/lapi.c: Likewise.
3603 * script/lua/lapi.h: Likewise.
3604 * script/lua/lauxlib.c: Likewise.
3605 * script/lua/lauxlib.h: Likewise.
3606 * script/lua/lbaselib.c: Likewise.
3607 * script/lua/lcode.c: Likewise.
3608 * script/lua/lcode.h: Likewise.
3609 * script/lua/ldblib.c: Likewise.
3610 * script/lua/ldebug.c: Likewise.
3611 * script/lua/ldebug.h: Likewise.
3612 * script/lua/ldo.c: Likewise.
3613 * script/lua/ldo.h: Likewise.
3614 * script/lua/ldump.c: Likewise.
3615 * script/lua/lfunc.c: Likewise.
3616 * script/lua/lfunc.h: Likewise.
3617 * script/lua/lgc.c: Likewise.
3618 * script/lua/lgc.h: Likewise.
3619 * script/lua/linit.c: Likewise.
3620 * script/lua/liolib.c: Likewise.
3621 * script/lua/llex.c: Likewise.
3622 * script/lua/llex.h: Likewise.
3623 * script/lua/llimits.h: Likewise.
3624 * script/lua/lmathlib.c: Likewise.
3625 * script/lua/lmem.c: Likewise.
3626 * script/lua/lmem.h: Likewise.
3627 * script/lua/loadlib.c: Likewise.
3628 * script/lua/lobject.c: Likewise.
3629 * script/lua/lobject.h: Likewise.
3630 * script/lua/lopcodes.c: Likewise.
3631 * script/lua/lopcodes.h: Likewise.
3632 * script/lua/loslib.c: Likewise.
3633 * script/lua/lparser.c: Likewise.
3634 * script/lua/lparser.h: Likewise.
3635 * script/lua/lstate.c: Likewise.
3636 * script/lua/lstate.h: Likewise.
3637 * script/lua/lstring.c: Likewise.
3638 * script/lua/lstring.h: Likewise.
3639 * script/lua/lstrlib.c: Likewise.
3640 * script/lua/ltable.c: Likewise.
3641 * script/lua/ltable.h: Likewise.
3642 * script/lua/ltablib.c: Likewise.
3643 * script/lua/ltm.c: Likewise.
3644 * script/lua/ltm.h: Likewise.
3645 * script/lua/lua.h: Likewise.
3646 * script/lua/luaconf.h: Likewise.
3647 * script/lua/lualib.h: Likewise.
3648 * script/lua/lundump.c: Likewise.
3649 * script/lua/lundump.h: Likewise.
3650 * script/lua/lvm.c: Likewise.
3651 * script/lua/lvm.h: Likewise.
3652 * script/lua/lzio.c: Likewise.
3653 * script/lua/lzio.h: Likewise.
3654
5e898c9d 36552009-05-16 Bean <bean123ch@gmail.com>
3656
3657 * include/grub/kernel.h (grub_module_header_types): Add type
3658 OBJ_TYPE_CONFIG.
3659
3660 * kern/main.c (grub_load_config): New function.
3661 (grub_main): Call grub_load_config to read boot config.
3662
3663 * grub-mkimage (generate_image): New parameter config_path.
3664 (options): New option --config.
3665 (main): Parse --config option, and pass it to generate_image.
3666
cf353a47 36672009-05-14 Christian Franke <franke@computer.org>
3668
3669 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
3670 This fixes build on Cygwin.
3671
3834887f 36722009-05-14 Pavel Roskin <proski@gnu.org>
3673
3674 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
3675 jump. This saves two bytes, so the typical case of 2 swapped
3676 drives would fit 32 bytes.
3677
8090fc01 36782009-05-13 Pavel Roskin <proski@gnu.org>
3679
ac963883 3680 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
3681 grub_uint32_t to avoid a warning.
3682
8090fc01 3683 * loader/i386/linux.c (allocate_pages): When assigning
3684 real_mode_mem, cast through grub_size_t to fix a warning. The
3685 code already makes sure that the value would fit a pointer.
3686 (grub_linux_setup_video): Cast render_target->data to
3687 grub_size_t to fix a warning.
3688
18f547ad 36892009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 3690
3691 * commands/i386/pc/drivemap.c: New file - implement drivemap
3692 command.
3693 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
3694 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
3695
6f6a8b28 36962009-05-13 Pavel Roskin <proski@gnu.org>
3697
3698 * util/i386/pc/grub-setup.c (setup): Remove unused variable
3699 embedding_area_exists.
3700
15fbf4c4 37012009-05-13 Robert Millan <rmh.grub@aybabtu.com>
3702
3703 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
3704 it easier to understand / work with.
59978c8a 3705 Improve warning messages for cases where there's no embedding area,
3706 or when it is too small (or core.img too large).
15fbf4c4 3707
238e871f 37082009-05-13 Pavel Roskin <proski@gnu.org>
3709
0ab3a9a4 3710 * loader/i386/pc/multiboot2.c: Add necessary includes for
3711 grub_multiboot2_real_boot().
3712
a2c8c5f8 3713 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
3714 PX record is always little-endian. We only need the lower 2
3715 bytes of the mode.
3716
faec96af 3717 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
3718 facilitate code reuse.
3719 (grub_cpio_mount): Use "struct head", not a char buffer. This
3720 fixes a warning reported by gcc 4.4.
3721
238e871f 3722 * kernel/disk.c (grub_disk_read): Use void pointer for the
3723 buffer.
3724 (grub_disk_write): Use const void pointer for the buffer.
3725 Adjust all callers. Remove unnecessary casts.
3726
901d2f0c 37272009-05-10 Robert Millan <rmh.grub@aybabtu.com>
3728
3729 * util/i386/pc/grub-install.in: Update copyright year.
3730
18f547ad 37312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 3732
3733 gptsync
3734
3735 * commands/gptsync.c: new file
3736 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
3737 (gptsync_mod_SOURCES): new variable
3738 (gptsync_mod_CFLAGS): likewise
3739 (gptsync_mod_LDFLAGS): likewise
18f547ad 3740 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 3741 new definition
3742 (GRUB_PC_PARTITION_TYPE_HFS): likewise
3743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
3744 * conf/i386-ieee1275.rmk: likewise
3745 * conf/i386-pc.rmk: likewise
3746 * conf/powerpc-ieee1275.rmk: likewise
3747
b4ba690a 37482009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 Fixed grub-emu
3751
3752 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
3753 (grub_dl_ref): likewise
3754
317e1a44 37552009-05-08 Robert Millan <rmh.grub@aybabtu.com>
3756
3757 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
3758 split in two functions (one for msdos and one for gpt).
3759
041b8094 37602009-05-08 Pavel Roskin <proski@gnu.org>
3761
752473c2 3762 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
3763 not modified.
3764
041b8094 3765 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
3766 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
3767 Initialize them with -1. Add sanity check for bad1. Eliminate
3768 nerr variable.
3769
172800ce 37702009-05-08 David S. Miller <davem@davemloft.net>
3771
3772 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
3773
29aa5e81 37742009-05-06 Robert Millan <rmh.grub@aybabtu.com>
3775
3776 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 3777 existence.
29aa5e81 3778
96613b62 37792009-05-05 Felix Zielcke <fzielcke@z-51.de>
3780
3781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 3782 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 3783
eef73c8a 37842009-05-05 David S. Miller <davem@davemloft.net>
3785
3786 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
3787
119494b5 37882009-05-05 Pavel Roskin <proski@gnu.org>
3789
3790 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
3791 of grub_dl_ref() and grub_dl_unref().
3792 * commands/parttool.c: Remove preprocessor conditionals around
3793 grub_dl_ref() and grub_dl_unref().
3794 * fs/affs.c: Likewise.
3795 * fs/afs.c: Likewise.
3796 * fs/cpio.c: Likewise.
3797 * fs/ext2.c: Likewise.
3798 * fs/fat.c: Likewise.
3799 * fs/hfs.c: Likewise.
3800 * fs/hfsplus.c: Likewise.
3801 * fs/iso9660.c: Likewise.
3802 * fs/jfs.c: Likewise.
3803 * fs/minix.c: Likewise.
3804 * fs/ntfs.c: Likewise.
3805 * fs/reiserfs.c: Likewise.
3806 * fs/sfs.c: Likewise.
3807 * fs/udf.c: Likewise.
3808 * fs/ufs.c: Likewise.
3809 * fs/xfs.c: Likewise.
3810 * include/grub/dl.h: Likewise.
3811 * loader/xnu.c: Likewise.
3812
de5fd76e 38132009-05-04 Pavel Roskin <proski@gnu.org>
3814
3815 * commands/acpi.c: Remove unused variable my_mod.
3816 * partmap/amiga.c: Likewise.
3817 * partmap/apple.c: Likewise.
3818 * partmap/gpt.c: Likewise.
3819 * partmap/pc.c: Likewise.
3820 * partmap/sun.c: Likewise.
3821 * term/gfxterm.c: Likewise.
3822 * term/i386/pc/vesafb.c: Likewise.
3823 * term/i386/pc/vga.c: Likewise.
3824
983598ad 38252009-05-04 David S. Miller <davem@davemloft.net>
3826
3827 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
3828 pointer args to grub_ieee1275_get_property().
3829
8aadec43 3830 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
3831
9554b15e 3832 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
3833 devices, and do not traverse down under controller nodes.
3834
67e23c90 3835 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
3836 (grub_ofdisk_open): Use it to un-escape "," characters.
3837 * kern/disk.c (find_part_sep): New.
3838 (grub_disk_open): Use it to find the first non-escaped ','
3839 character in the disk name.
3840 * util/ieee1275/devicemap.c (escape_of_path): New.
3841 (grub_util_emit_devicemap_entry): Use it.
3842 * util/sparc64/ieee1275/grub-install.in: Update script to
3843 strip partition specifiers properly by not triggering on
3844 '\' escaped ',' characters.
3845
74bfdd2f 38462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3847
3848 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
3849 to 0x300.
3850 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
3851 resolutions.
3852 (linux_vesafb_modes): Add a lot of additional modes to the list (based
3853 on documentation from Wikipedia).
3854
4241d2b1 38552009-05-04 Pavel Roskin <proski@gnu.org>
3856
3857 * disk/ata.c: Spelling fixes.
3858 * disk/raid.c: Likewise.
3859 * disk/usbms.c: Likewise.
3860 * disk/dmraid_nvidia.c: Likewise.
3861 * kern/ieee1275/openfw.c: Likewise.
3862 * kern/ieee1275/init.c: Likewise.
3863 * kern/ieee1275/cmain.c: Likewise.
3864 * boot/i386/pc/cdboot.S: Likewise.
3865 * video/readers/png.c: Likewise.
3866 * video/i386/pc/vbe.c: Likewise.
3867 * fs/udf.c: Likewise.
3868 * fs/hfs.c: Likewise.
3869 * fs/reiserfs.c: Likewise.
3870 * efiemu/runtime/efiemu.c: Likewise.
3871 * efiemu/main.c: Likewise.
3872 * efiemu/mm.c: Likewise.
3873 * include/grub/elf.h: Likewise.
3874 * include/grub/xnu.h: Likewise.
3875 * include/grub/usbdesc.h: Likewise.
3876 * include/grub/usb.h: Likewise.
3877 * include/grub/script_sh.h: Likewise.
3878 * include/grub/lib/LzmaEnc.h: Likewise.
3879 * include/grub/efiemu/efiemu.h: Likewise.
3880 * include/grub/command.h: Likewise.
3881 * normal/menu.c: Likewise.
3882 * normal/main.c: Likewise.
3883 * normal/datetime.c: Likewise.
3884 * bus/usb/uhci.c: Likewise.
3885 * mmap/i386/uppermem.c: Likewise.
3886 * mmap/mmap.c: Likewise.
3887 * commands/acpi.c: Likewise.
3888 * commands/test.c: Likewise.
3889 * partmap/apple.c: Likewise.
3890 * font/font.c: Likewise.
3891 * loader/sparc64/ieee1275/linux.c: Likewise.
3892 * loader/macho.c: Likewise.
3893 * loader/i386/bsd_trampoline.S: Likewise.
3894 * loader/i386/bsd.c: Likewise.
3895 * loader/xnu.c: Likewise.
3896 * term/i386/pc/vesafb.c: Likewise.
3897 * term/usb_keyboard.c: Likewise.
3898 * util/resolve.c: Likewise.
3899 * util/getroot.c: Likewise.
3900
0cfc0083 39012009-05-04 Felix Zielcke <fzielcke@z-51.de>
3902
3903 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
3904
7c1d00cd 39052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3906
3907 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
3908 build error.
3909
b01f0548 39102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3911
3912 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
3913 parameter only available on BIOS.
3914
ecc3eb22 39152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Removed wrong semicolon in declaration
3918
3919 * grub/misc.h (grub_dprintf): remove semicolon
3920
112972a9 39212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3922
3923 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
3924 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
3925 is done by grub_cmd_linux() now).
3926 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
3927 restore video to text mode.
3928 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
3929 indicates lack of "vga=" parameter. "vga=0" is mapped to
3930 `GRUB_LINUX_VID_MODE_NORMAL'.
3931
afd5c115 39322009-05-04 Felix Zielcke <fzielcke@z-51.de>
3933
3934 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
3935 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
3936 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 3937 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 3938 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
3939 `grub_script.tab.c'.
3940
3941 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
3945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3946
faa517ce 3947 * Makefile.in: Remove duplicated 2008 in Copyright line.
3948
ae0c0bdc 39492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3950
473d1e45 3951 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 3952 unconditionally.
3953 * include/grub/util/misc.h (grub_util_warn): New declaration.
3954
3955 * util/i386/pc/grub-install.in: Understand --force and pass it down
3956 to grub-setup.
3957
3958 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
3959 down to setup().
3960 (setup): Improve error messages and add warnings when requested to
3961 install in odd layouts. Refuse to install using blocklists unless
3962 --force was set.
3963
18f547ad 39642009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 3965
3966 * disk/raid.c (grub_raid_scan_device): Improve debug message.
3967
6d260daa 39682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 Updated copyright year
3971
3972 * fs/hfsplus.c: updated copyright year
18f547ad 3973
69f853f8 39742009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 HFS+ UUID
3977
18f547ad 3978 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 3979 in the space previously used by unused3
3980 (grub_hfsplus_uuid): new function
3981 (grub_hfsplus_fs): added uuid field
3982
4c402e73 39832009-05-03 Pavel Roskin <proski@gnu.org>
3984
3985 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
3986 suppress warnings. It's no longer needed.
3987 * disk/host.c: Likewise.
3988 * disk/ata_pthru.c: Likewise.
3989 * disk/loopback.c: Likewise.
3990 * hook/datehook.c: Likewise.
3991 * parttool/pcpart.c: Likewise.
3992 * fs/i386/pc/pxe.c: Likewise.
3993 * fs/ntfscomp.c: Likewise.
3994 * efiemu/main.c: Likewise.
3995 * mmap/mmap.c: Likewise.
3996 * commands/crc.c: Likewise.
3997 * commands/hexdump.c: Likewise.
3998 * commands/hdparm.c: Likewise.
3999 * commands/acpi.c: Likewise.
4000 * commands/echo.c: Likewise.
4001 * commands/minicmd.c: Likewise.
4002 * commands/blocklist.c: Likewise.
4003 * commands/memrw.c: Likewise.
4004 * commands/loadenv.c: Likewise.
4005 * commands/usbtest.c: Likewise.
4006 * commands/lsmmap.c: Likewise.
4007 * commands/boot.c: Likewise.
4008 * commands/parttool.c: Likewise.
4009 * commands/configfile.c: Likewise.
4010 * commands/search.c: Likewise.
4011 * commands/ieee1275/suspend.c: Likewise.
4012 * commands/cat.c: Likewise.
4013 * commands/i386/pc/pxecmd.c: Likewise.
4014 * commands/i386/pc/play.c: Likewise.
4015 * commands/i386/pc/halt.c: Likewise.
4016 * commands/i386/pc/vbeinfo.c: Likewise.
4017 * commands/i386/pc/vbetest.c: Likewise.
4018 * commands/lspci.c: Likewise.
4019 * commands/date.c: Likewise.
4020 * commands/handler.c: Likewise.
4021 * commands/ls.c: Likewise.
4022 * commands/test.c: Likewise.
4023 * commands/cmp.c: Likewise.
4024 * commands/efi/loadbios.c: Likewise.
4025 * commands/efi/fixvideo.c: Likewise.
4026 * commands/halt.c: Likewise.
4027 * commands/help.c: Likewise.
4028 * commands/reboot.c: Likewise.
4029 * hello/hello.c: Likewise.
4030 * script/sh/main.c: Likewise.
4031 * loader/xnu.c: Likewise.
4032 * term/terminfo.c: Likewise.
4033 * term/i386/pc/serial.c: Likewise.
4034 * term/usb_keyboard.c: Likewise.
4035
515b5079 40362009-05-03 David S. Miller <davem@davemloft.net>
4037
4038 * normal/menu.c: Include grub/parser.h
4039
dfc31a22 40402009-05-03 Pavel Roskin <proski@gnu.org>
4041
2fee74f1 4042 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4043 not char*.
4044 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4045 Suggested by Javier Martín <lordhabbit@gmail.com>
4046
dfc31a22 4047 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4048 efiemu??.o doesn't exist.
4049 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4050 copying.
4051
18f547ad 40522009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 4053
4054 FreeBSD 64-bit support
4055
18f547ad 4056 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 4057 and loader/i386/bsd_trampoline.S
4058 (bsd_mod_ASFLAGS): new variable
4059 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4060 (FREEBSD_MODTYPE_KERNEL64): likewise
4061 (grub_bsd64_trampoline_start): likewise
4062 (grub_bsd64_trampoline_end): likewise
4063 (grub_bsd64_trampoline_selfjump): likewise
4064 (grub_bsd64_trampoline_gdt): likewise
4065 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4066 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4067 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4068 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 4069 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 4070 of "attrib" member
4071 * loader/i386/bsd_pagetable.c: new file
4072 * loader/i386/bsd_trampoline.S: likewise
4073 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4074 (ALIGN_VAR): likewise
4075 (entry_hi): new variable
4076 (kern_end_mdofs): likewise
4077 (is_64bit): likewise
4078 (grub_freebsd_add_meta): use ALIGN_VAR
4079 (grub_e820_mmap): new declaration
4080 (grub_freebsd_add_mmap): new function
4081 (grub_freebsd_add_meta_module): support 64 bit kernels
4082 (grub_freebsd_list_modules): use ALIGN_VAR
4083 (gdt_descriptor): new declaration
4084 (grub_freebsd_boot): support 64 bit kernels
4085 (grub_bsd_elf64_hook): new function
4086 (grub_bsd_load_elf): support elf64
4087
038c5720 40882009-05-03 Bean <bean123ch@gmail.com>
4089
4090 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
4091 after we get the result of if statement.
4092
fc45fb58 40932009-05-03 Bean <bean123ch@gmail.com>
4094
4095 * Makefile.in (enable_efiemu): New variable.
4096
4097 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
4098 set.
4099 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
4100 path.
4101 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
4102 path, add -mno-red-zone option.
4103 (efiemu64_s.o): Likewise.
4104 (efiemu64.o): Use macro $^ for source file.
4105
4106 * configure.ac (--enable-efiemu): New option.
4107
bbee0f2b 41082009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 xnu support
4111
4112 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
4113 (pkglib_MODULES): add xnu.mod
4114 (xnu_mod_SOURCES): new variable
4115 (xnu_mod_CFLAGS): likewise
4116 (xnu_mod_LDFLAGS): likewise
4117 (xnu_mod_ASFLAGS): likewise
4118 * conf/i386-pc.rmk: likewise
4119 * conf/x86_64-efi.rmk: likewise
7dd4a573 4120 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 4121 new declaration
4122 * include/grub/i386/macho.h: new file
4123 * include/grub/i386/xnu.h: likewise
4124 * include/grub/macho.h: likewise
4125 * include/grub/machoload.h: likewise
4126 * include/grub/x86_64/macho.h: likewise
4127 * include/grub/x86_64/xnu.h: likewise
4128 * include/grub/xnu.h: likewise
4129 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
4130 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
4131 * loader/i386/efi/xnu.c: new file
4132 * loader/i386/pc/xnu.c: likewise
4133 * loader/i386/xnu.c: likewise
4134 * loader/i386/xnu_helper.S: likewise
4135 * loader/macho.c: likewise
4136 * loader/xnu.c: likewise
4137 * loader/xnu_resume.c: likewise
4138 * util/grub-dumpdevtree: likewise
4139 * include/grub/i386/pit.h: include grub/err.h
4140 (grub_pit_wait): export
4141 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 4142
5caf964d 41432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Efiemu
7dd4a573 4146
5caf964d 4147 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 4148 _linux_efi, linux_efi.
4149 new files in grub-emu
5caf964d 4150 new targets efiemu32.o and efiemu64.o
4151 * loader/linux_normal_efiemu.c: likewise
4152 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 4153 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 4154 files to copy
4155 * include/grub/autoefi.h: new file
7dd4a573 4156 * include/grub/i386/efiemu.h: likewise
5caf964d 4157 * include/grub/i386/pc/efiemu.h: likewise
4158 * include/grub/efi/api.h: add LL suffix when necessary
4159 new definitions relating to tables
4160 * include/grub/efiemu/efiemu.h: new file
4161 * include/grub/efiemu/runtime.h: likewise
4162 * efiemu/prepare.c: likewise
4163 * efiemu/loadcore_common.c: likewise
4164 * efiemu/loadcore64.c: likewise
4165 * efiemu/runtime/efiemu.sh: likewise
4166 * efiemu/runtime/efiemu.S: likewise
4167 * efiemu/runtime/efiemu.c: likewise
4168 * efiemu/runtime/config.h: likewise
4169 * efiemu/prepare32.c: likewise
4170 * efiemu/main.c: likewise
4171 * efiemu/modules/pnvram.c: likewise
4172 * efiemu/modules/i386: likewise
4173 * efiemu/modules/i386/pc: likewise
4174 * efiemu/modules/acpi.c: likewise
4175 * efiemu/i386/pc/cfgtables.c: likewise
4176 * efiemu/i386/loadcore64.c: likewise
4177 * efiemu/i386/loadcore32.c: likewise
4178 * efiemu/prepare64.c: likewise
4179 * efiemu/loadcore.c: likewise
4180 * efiemu/symbols.c: likewise
4181 * efiemu/mm.c: likewise
4182 * efiemu/loadcore32.c: likewise
7dd4a573 4183
41842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 4185
4186 ACPI spoofing
4187
4188 * commands/acpi.c: new file
4189 * commands/i386/pc/acpi.c: likewise
4190 * commands/efi/acpi.c: likewise
4191 * include/grub/acpi.h: likewise
4192 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
4193 (acpi_mod_SOURCES): new variable
4194 (acpi_mod_CFLAGS): likewise
4195 (acpi_mod_LDFLAGS): likewise
4196 * conf/i386-efi.rmk: likewise
4197 * conf/x86_64-efi.rmk: likewise
4198
7dd4a573 41992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 4200
4201 Missing part from mmap patch
4202
4203 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
4204 (grub_mmap_unregister)
4205 (grub_mmap_free_and_unregister): use grub_mmap_register
4206
7dd4a573 42072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 4208
4209 Mmap services
4210
4211 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
4212 * loader/i386/linux.c (find_mmap_size): likewise
4213 (allocate_pages): likewise
4214 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
4215 (grub_fill_multiboot_mmap): likewise
4216 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
4217 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
4218 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
4219 (OPENBSD_MMAP_RESERVED): likewise
4220 * include/grub/i386/pc/memory.h: include grub/memory.h
4221 (grub_lower_mem): removed
4222 (grub_upper_mem): likewise
4223 (GRUB_MACHINE_MEMORY_ACPI): new definition
4224 (GRUB_MACHINE_MEMORY_NVS): likewise
4225 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
4226 (GRUB_MACHINE_MEMORY_HOLE): likewise
4227 (grub_machine_mmap_register): likewise
4228 (grub_machine_mmap_unregister): likewise
4229 (grub_machine_get_upper): likewise
4230 (grub_machine_get_lower): likewise
4231 (grub_machine_get_post64): likewise
4232 * include/grub/i386/efi/memory.h: new file
4233 * include/grub/x86_64/efi/memory.h: likewise
4234 * include/grub/efi/memory.h: likewise
4235 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
4236 (mmap_mod_SOURCES): new variable
4237 (mmap_mod_LDFLAGS): likewise
4238 (mmap_mod_ASFLAGS): likewise
4239 * conf/i386-coreboot.rmk: likewise
4240 * conf/i386-ieee1275.rmk: likewise
4241 * conf/i386-efi.rmk: likewise
4242 * conf/x86_64-efi.rmk: likewise
4243 * include/grub/types.h (UINT_TO_PTR): new macro
4244 (PTR_TO_UINT32): likewise
4245 (PTR_TO_UINT64): likewise
4246 * include/grub/memory.h: new file
4247 * mmap/i386/pc/mmap.c: likewise
4248 * mmap/i386/pc/mmap_helper.S: likewise
4249 * mmap/i386/uppermem.c: likewise
4250 * mmap/mmap.c: likewise
4251 * mmap/efi/mmap.c: likewise
7dd4a573 4252 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 4253 grub_upper_mem
4254 * kern/i386/pc/init.c (grub_lower_mem): removed variable
4255 (grub_upper_mem): likewise
4256 (grub_machine_init): don't use grub_upper_mem,
4257 make grub_lower_mem local
4258 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
4259 grub_mmap_iterate and grub_mmap_get_upper
4260 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
4261
d558e6b5 42622009-05-02 Bean <bean123ch@gmail.com>
4263
4264 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
4265 script/sh/parser.y.
4266 (pkglib_MODULES): Add normal.mod and sh.mod.
4267 (normal_SOURCES): New variable.
4268 (normal_mod_CFLAGS): Likewise.
4269 (normal_mod_LDFLAGS): Likewise.
4270 (sh_mod_SOURCES): Likewise.
4271 (sh_mod_CFLAGS): Likewise.
4272 (sh_mod_LDFLAGS): Likewise.
4273
4274 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
4275 script/sh/lexer.c_DEPENDENCIES.
4276 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
4277 kern/rescue_reader.c and kern/rescue_parser.c.
4278 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
4279 (grub_emu_SOURCES): Change source files.
4280 (pkglib_MODULES): Remove normal.mod.
4281 (normal_SOURCES): Removed.
4282 (normal_mod_CFLAGS): Likewise.
4283 (normal_mod_LDFLAGS): Likewise.
4284 * conf/i386-coreboot.rmk: Likewise.
4285 * conf/i386-efi.rmk: Likewise.
4286 * conf/i386-ieee1276.rmk: Likewise.
4287 * conf/powerpc-ieee1275.rmk: Likewise.
4288 * conf/sparc64-ieee1275.rmk: Likewise.
4289 * conf/x86_64-efi.rmk: Likewise.
4290
4291 * include/grub/command.h (grub_command_execute): New inline function.
4292
4293 * include/grub/menu.h (grub_menu_entry): Removed commands field.
4294
4295 * include/grub/normal.h: Remove <grub/setjmp.h>.
4296 (grub_fs_module_list): Moved to normal/autofs.c.
4297 (grub_exit_env): Removed.
4298 (grub_command_execute): Likewise.
4299 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
4300 parameter script.
4301 (read_command_list): New function declaration.
4302 (read_fs_list): Likewise.
4303
4304 * include/parser.h: Include <grub/reader.h>.
4305 (grub_parser_split_cmdline): Change type of getline parameter.
4306 (grub_parser): New structure.
4307 (grub_parser_class): New variable.
4308 (grub_parser_execute): New function declaration.
4309 (grub_register_rescue_parser): Likewise.
4310 (grub_parser_register): New inline function.
4311 (grub_parser_unregister): Likewise.
4312 (grub_parser_get_current): Likewise.
4313 (grub_parser_set_current): Likewise.
4314
4315 * include/grub/reader.h: New file.
4316 * kern/reader.c: Likewise.
4317 * kern/rescue_parser.c: Likewise.
4318 * kern/rescue_reader.c: Likewise.
4319 * normal/autofs.c: Likewise.
4320 * normal/dyncmd.c: Likewise.
4321
4322 * include/grub/rescue.h: Removed.
4323 * normal/command.h: Likewise.
4324
4325 * include/grub/script.h: Moved to ...
4326 * include/grub/script_sh.h: ... Moved here.
4327 * normal/execute.c: Moved to ...
4328 * script/sh/execute.c: ... Moved here.
4329 * normal/function.c: Moved to ...
4330 * script/sh/function.c: ... Moved here.
4331 * normal/lexer.c: Moved to ...
4332 * script/sh/lexer.c: ... Moved here.
4333 * normal/parser.y: Moved to ...
4334 * script/sh/parser.y: ... Moved here.
4335 * normal/script.c: Moved to ...
4336 * script/sh/script.c: ... Moved here.
4337
4338 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
4339 <grub/reader.h>.
4340 (grub_exit_env): Removed.
4341 (fs_module_list): Moved to normal/autofs.c.
4342 (grub_file_getline): Don't handle comment here.
4343 (free_menu): Skip removed field entry->commands.
4344 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
4345 script parameter.
4346 (read_config_file): Removed nested parameter, change getline function.
4347 (grub_enter_normal_mode): Removed.
4348 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
4349 (read_command_list): Likewise.
4350 (autoload_fs_module): Moved to normal/autofs.c.
4351 (read_fs_list): Likewise.
4352 (reader_nested): New variable.
4353 (grub_normal_execute): Run parser.sh to switch to sh parser.
4354 (grub_cmd_rescue): Removed.
4355 (cmd_normal): Removed.
4356 (grub_cmd_normal): Unregister itself at the beginning. Don't register
4357 rescue command.
4358 (grub_cmdline_run): New function.
4359 (grub_normal_reader_init): Likewise.
4360 (grub_normal_read_line): Likewise.
4361 (grub_env_write_pager): Likewise.
4362 (cmdline): New variable.
4363 (grub_normal_reader): Likewise.
4364 (GRUB_MOD_INIT): Register normal reader and set as current, register
4365 pager hook, register normal command with grub_register_command_prio,
4366 so that it won't show up in command.lst.
4367 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
4368 grub_fs_autoload_hook.
4369
4370 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
4371 (grub_menu_execute_entry): Replace grub_script_execute with
4372 grub_parser_execute, change parameter to grub_command_execute.
4373
4374 * normal/menu_text.c: Remove <grub/script.h>.
4375
4376 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
4377 and <grub/parser.h>.
4378 (run): Change editor_getline to use new parser interface. Change
4379 parameter to grub_command_execute.
4380
4381 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
4382 <grub/reader.h> and <grub/parser.h>.
4383 (grub_load_normal_mode): Execute normal command.
4384 (grub_main): Call grub_register_core_commands,
4385 grub_register_rescue_parser and grub_register_rescue_reader, use
4386 grub_reader_loop to enter input loop.
4387
7dd4a573 4388 * kern/parser.c (grub_parser_split_cmdline): Change type of
4389 getline parameter.
d558e6b5 4390 (grub_parser_class): New variable.
4391 (grub_parser_execute): New function.
4392
4393 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
4394 * loader/multiboot2.c: Likewise.
4395 * loader/sparc64/ieee1275/linux.c: Likewise.
4396
4397 * util/grub-emu.c (read_command_list): New dummy function.
4398
18db813d 43992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4400
4401 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
4402 count to 16 for CCISS and IDA.
4403
6c67de15 44042009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4405
4406 * normal/menu_text.c (grub_wait_after_message): Print a newline
4407 after waiting for user input.
4408
4409 * loader/i386/linux.c: Include `<grub/normal.h>'.
4410 (grub_cmd_linux): Improve the error message about `ask' mode, by
4411 waiting for user input so it's not missed (we can do this, since
4412 user requested interaction).
4413
d9dc87b0 44142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 Added missing lst to grub-mkrescue
4417
4418 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
4419 and ${input_dir}/parttool.lst
4420
ac8a2baa 44212009-04-30 David S. Miller <davem@davemloft.net>
4422
ad22a610 4423 * util/hostdisk.c (device_is_wholedisk): New function.
4424 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
4425 zero only if device_is_wholedisk() returns true.
4426
6966215d 4427 * util/hostdisk.c (convert_system_partition_to_system_disk):
4428 Handle virtual disk devices named /dev/vdiskX as found on sparc
4429 and powerpc.
4430
ac8a2baa 4431 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
4432 lettered partition specifier is found, convert to numbered.
4433
979b4fb4 44342009-04-29 David S. Miller <davem@davemloft.net>
4435
e2bf39b2 4436 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
4437 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4438
3c64e104 4439 * normal/command.c: Add missing newline at end of file.
4440
979b4fb4 4441 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
4442 warnings.
4443 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
4444 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
4445 grub_ofdisk_read): Likewise, and deal similarly with the fact that
4446 ihandles have a 32-bit type but need to be stored in a "void *".
4447
136d9f82 44482009-04-28 Pavel Roskin <proski@gnu.org>
4449
9459c306 4450 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
4451 not disk. Adjust all dependencies.
2e08a26a 4452 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 4453 grub_disk_close().
4454
136d9f82 4455 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
4456 parent's partition, don't copy it by reference, as it gets freed
4457 on close.
4458
7dd4a573 44592009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 4460
4461 Preboot hooks support
4462
4463 * commands/boot.c (struct grub_preboot_t): new declaration
4464 (preboots_head): new variable
4465 (preboots_tail): likewise
4466 (grub_loader_register_preboot_hook): new function
4467 (grub_loader_unregister_preboot_hook): likewise
4468 (grub_loader_set): launch preboot hooks
4469 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
4470 (grub_loader_register_preboot_hook): new declaration
4471 (grub_loader_unregister_preboot_hook): likewise
4472
5af922b5 44732009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Warning fix
4476
7dd4a573 4477 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 4478 calling grub_dprintf
4479
a5562c30 44802009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Bug and warning fixes
4483
7dd4a573 4484 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 4485 declaration
4486 * commands/test.c (test_parse): fixed bug with file tests and corrected
4487 declaration of find_file
4488
4006f85c 44892009-04-26 Pavel Roskin <proski@gnu.org>
4490
4491 * Makefile.in: Don't install empty manual pages if help2man is
4492 missing. Use help2man option for output, not shell redirection.
4493
5c77c3de 44942009-04-26 David S. Miller <davem@davemloft.net>
4495
4496 * util/grub-mkdevicemap.c (make_device_map): Add missing
4497 NESTED_FUNC_ATTR to process_device().
4498
033b10a8 44992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 Test command
4502
4503 * commands/test.c: rewritten to use bash-like test
4504
e4343593 45052009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Parttool autoloading and improvements
4508
7dd4a573 4509 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 4510 (parttool.lst): new target
4511 * genmk.rb: generate parttool-*
4512 (CLEANFILES): add #{parttool}
4513 (PARTTOOLFILES): new variable
4514 * genparttoollist.sh: new file
7dd4a573 4515 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 4516 (grub_pcpart_type): likewise
4517 * commands/parttool.c (helpmsg): new variable
4518 (grub_cmd_parttool): output help if not enough arguments are supplied
4519 autoload modules
4520 (GRUB_MOD_INIT(parttool)): use helpmsg
4521
0d312500 45222009-04-24 David S. Miller <davem@davemloft.net>
4523
7dd4a573 4524 Avoiding opening same device multiple times in device iterator.
0d312500 4525
4526 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 4527 and use it to build a list of partitions in iterate_disk() and
0d312500 4528 iterate_partition().
4529
ac20caff 4530 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
4531 on disk->data.
4532
0dcf7495 4533 * disk/ieee1275/nand.c (grub_nand_iterate): Return
4534 grub_devalias_iterate() result instead of unconditional 0.
4535 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
4536 Also, capture hook return value, either directly or via
4537 grub_children_iterate(), and propagate to caller.
4538 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
4539 grub_children_iterate): Return value is now 'int' instead of
4540 'grub_err_t'.
4541 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
4542 like a proper iterator, stopping when hooks return non-zero.
4543 (grub_devalias_iterate): Likewise.
4544
c8c08833 45452009-04-23 David S. Miller <davem@davemloft.net>
4546
4547 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
4548
f01005a8 45492009-04-22 David S. Miller <davem@davemloft.net>
4550
4551 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
4552 is larger than address_cells, use that value for address_cells too.
4553
4e8269da 4554 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
4555 IEEE1275_MAX_PATH_LEN): Define.
4556 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
4557 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
4558 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
4559 'devtype'. Explicitly NULL terminate devalias expansion.
4560
a1447506 4561 * util/sparc64/ieee1275/misc.c: New file.
4562 * util/sparc64/ieee1275/grub-setup.c: New file.
4563 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
4564 * util/sparc64/ieee1275/grub-mkimage.c: New file.
4565 * util/sparc64/ieee1275/grub-install.in: New file.
4566 * util/ieee1275/ofpath.c: New file.
4567 * util/ieee1275/devicemap.c: New file.
4568 * util/devicemap.c: New file.
4569 * util/deviceiter.c: New file.
4570 * kern/sparc64/ieee1275/init.c: New file.
4571 * include/grub/util/ofpath.h: New file.
4572 * include/grub/util/deviceiter.h: New file.
4573 * util/grub-mkdevicemap.c: Include deviceiter.h.
4574 Implement using grub_util_emit_devicemap_entry and
4575 grub_util_iterate_devices.
4576 * conf/i386-corebook.rmk: Build util/deviceiter.c and
4577 util/devicemap.c into grub-mkdevicemap
4578 * conf/i386-efi.rmk: Likewise.
4579 * conf/i386-ieee1275.rmk: Likewise.
4580 * conf/i386-pc.rmk: Likewise.
4581 * conf/powerpc-ieee1275.rmk: Likewise.
4582 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
4583 images and installation utilities. Build kernel as image
4584 instead of as elf binary. Use common rules as much as possible.
4585
7dd4a573 45862009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 4587
4588 Correct GPT definition
4589
7dd4a573 4590 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 4591 of "attrib" member
4592
c6c5219f 45932009-04-19 Felix Zielcke <fzielcke@z-51.de>
4594
4595 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
4596
0552ff9f 45972009-04-19 David S. Miller <davem@davemloft.net>
4598
4599 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
4600 (grub_rescue_cmd_linux): Rename to...
4601 (grub_cmd_linux): and fix prototype.
4602 (grub_rescue_cmd_initrd): Rename to...
4603 (grub_cmd_initrd): and fix prototype.
4604 (cmd_linux, cmd_initrd): New.
4605 (GRUB_MOD_INIT(linux)): Use grub_register_command().
4606 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
4607
d1a282fc 46082009-04-17 Pavel Roskin <proski@gnu.org>
4609
07c5039f 4610 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
4611 format.
4612 (grub_ohci_transfer): Likewise.
4613
b012002d 4614 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
4615
1bc09c35 4616 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
4617 return without a value. Fix inconsistent indentation.
4618
e0ff9126 4619 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
4620 match struct grub_fs.
4621
d1a282fc 4622 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
4623 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
4624 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4625 * commands/lspci.c (grub_lspci_iter): Likewise.
4626
a96df3f2 46272009-04-16 Bean <bean123ch@gmail.com>
4628
4629 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
4630 value.
4631
41bb0fe9 46322009-04-15 Pavel Roskin <proski@gnu.org>
4633
4634 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
4635 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
4636 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
4637 definitions.
4638
596c6970 46392009-04-15 Felix Zielcke <fzielcke@z-51.de>
4640
4641 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 4642 that no multiple data or metadata areas are supported and `Unknown
596c6970 4643 metadata header'.
4644
7dd4a573 46452009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 4646
4647 Move loader out of the kernel
4648
4649 * kern/loader.c: moved to ...
4650 * commands/boot.c: ... moved here
4651 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
4652 * commands/boot.c (grub_cmd_boot): moved here. All users updated
4653 * include/grub/kernel.h (grub_machine_fini): export
4654 * include/grub/loader.h (grub_loader_is_loaded): update declaration
4655 (grub_loader_set): likewise
4656 (grub_loader_unset): likewise
4657 (grub_loader_boot): likewise
4658 * conf/common.rmk: new module boot.mod
4659 (pkglib_MODULES): add boot.mod
4660 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
4661 (grub_emu_SOURCES): likewise
4662 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
4663 (grub_emu_SOURCES): likewise
4664 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
4665 (grub_emu_SOURCES): likewise
4666 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
4667 (grub_emu_SOURCES): likewise
4668 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
4669 (grub_emu_SOURCES): likewise
7dd4a573 4670 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
4671 (grub_emu_SOURCES): likewise
0d5d5653 4672 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 4673 (grub_emu_SOURCES): likewise
0d5d5653 4674
7dd4a573 46752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 4676
4677 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 4678
5999d619 4679 * kern/misc.c (grub_itoa): Removed function
4680 (grub_ltoa): likewise
4681 (grub_vsprintf): use grub_lltoa
4682
7dd4a573 46832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 4684
4685 Restore grub-emu
4686
4687 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
4688 * conf/i386-coreboot.rmk: likewise
4689 * conf/i386-ieee1275.rmk: likewise
4690 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 4691
20318222 46922009-04-15 Felix Zielcke <fzielcke@z-51.de>
4693
4694 * INSTALL: Add that `./autogen.sh' needs to be run before
4695 `./configure.'.
4696
d05f0df3 46972009-04-14 Bean <bean123ch@gmail.com>
4698
4699 * Makefile.in (pkglib_DATA): Add handler.lst.
4700 (handler.lst): New rule.
4701
4702 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
4703 * conf/i386-coreboot.rmk: Likewise.
4704 * conf/i386-ieee1275.rmk: Likewise.
4705 * conf/i386-efi.rmk: Likewise.
4706 * conf/x86_64-efi.rmk: Likewise.
4707 * conf/powerpc-ieee1275.rmk: Likewise.
4708 * conf/sparc64-ieee1275.rmk: Likewise.
4709
4710 * genhandlerlist.sh: New file.
4711
4712 * genmk.rb: Add rules to generate handler.lst.
4713
4714 * include/grub/normal.h (grub_file_getline): New function definition.
4715 (read_handler_list): Likewise.
4716 (free_handler_list): Likewise.
4717
4718 * include/grub/term.h (grub_term_register_input): Add name parameter
4719 for auto generation of handler.lst.
4720 (grub_term_register_output): Likewise.
4721
4722 * normal/handler.c: New file.
4723
4724 * normal/main.c (get_line): Renamed to grub_file_getline.
4725 (read_config_file): Use the newly renamed grub_file_getline.
4726 (read_command_list): Likewise.
4727 (read_fs_list): Likewise.
4728 (grub_normal_execute): Call read_handler_list to parse handler.lst.
4729 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
4730
4731 * term/efi/console.c (grub_console_init): Add name parameter for auto
4732 generation of handler.lst.
4733 * term/gfxterm.c: Likewise.
4734 * term/i386/pc/at_keyboard.c: Likewise.
4735 * term/i386/pc/console.c: Likewise.
4736 * term/i386/pc/serial.c: Likewise.
4737 * term/i386/pc/vesafb.c: Likewise.
4738 * term/i386/pc/vga.c: Likewise.
4739 * term/i386/pc/vga_text.c: Likewise.
4740 * term/ieee1275/ofconsole.c: Likewise.
4741 * term/usb_keyboard.c: Likewise.
4742
33c846be 47432009-04-14 Bean <bean123ch@gmail.com>
4744
4745 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
4746 properly with null character.
4747
4484e01e 47482009-04-14 Felix Zielcke <fzielcke@z-51.de>
4749
4750 * configure: Remove.
4751 * config.h.in: Likewise.
f93d668e 4752 * stamp-h.in: Likewise.
4484e01e 4753 * DISTLIST: Likewise.
4754 * conf/common.mk: Likewise.
4755 * conf/i386-coreboot.mk: Likewise.
4756 * conf/i386-efi.mk: Likewise.
4757 * conf/i386-ieee1275.mk: Likewise.
4758 * conf/i386.mk: Likewise.
4759 * conf/i386-pc.mk: Likewise.
4760 * conf/powerpc-ieee1275.mk: Likewise.
4761 * conf/sparc64-ieee1275.mk: Likewise.
4762 * conf/x86_64-efi.mk: Likewise.
4763
4764 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
4765 develop on GRUB.
4766
7dd4a573 47672009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 4768 David S. Miller <davem@davemloft.net>
4769
4770 * util/hostdisk.c (make_device_name): Fix buffer length
4771 calculations.
4772
e25b5a8c 47732009-04-14 Felix Zielcke <fzielcke@z-51.de>
4774
4775 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
4776 <sys/param.h> and <sys/sysctl.h>.
4777 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
4778 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
4779 opening the device and reset them afterwards.
4780
1f1f580c 47812009-04-13 Pavel Roskin <proski@gnu.org>
4782
4783 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
4784 Reported by John Stanley <jpsinthemix@verizon.net>
4785
7ebc2d6b 47862009-04-13 Robert Millan <rmh@aybabtu.com>
4787
4788 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 4789 that name for menuentries when appropriate.
7ebc2d6b 4790
d8ba3667 47912009-04-13 Felix Zielcke <fzielcke@z-51.de>
4792
4793 * util/grub.d/10_freebsd.in: Add a missing `fi'.
4794
cba416eb 47952009-04-13 Robert Millan <rmh@aybabtu.com>
4796
4797 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
4798 to Linux, simply abort telling the user it's no longer supported.
4799
a547a745 48002009-04-13 Felix Zielcke <fzielcke@z-51.de>
4801
4802 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 4803 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 4804 `freebsd_loadenv' only when devices.hints exist.
4805
232a769c 48062009-04-13 Pavel Roskin <proski@gnu.org>
4807
4808 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
4809
c3012039 48102009-04-13 Felix Zielcke <fzielcke@z-51.de>
4811
4812 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
4813 partition number.
4814 (grub_drive): Likewise.
4815
234022fe 48162009-04-13 David S. Miller <davem@davemloft.net>
4817
4818 * kern/sparc64/ieee1275/ieee1275.c: New file.
4819 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
4820 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
4821 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
4822 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
4823 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
4824 grub_ieee1275_alloc_physmem): Declare new exported functions.
4825
d8e1836c 4826 * include/grub/sparc64/ieee1275/loader.h: New file.
4827 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4828 * include/grub/sparc64/kernel.h: Likewise.
4829 * loader/sparc64/ieee1275/linux.c: Likewise.
4830
96bd81ec 4831 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
4832 (grub_fstest_SOURCES): Likewise.
4833
6a4737e5 4834 * util/hostdisk.c (make_device_name): Do not make any assumptions
4835 about the length of drive names.
4836
1d7a72fd 4837 * kern/dl.c (grub_dl_load_file): Close file immediately when
4838 we are done using it.
4839
56bc2471 48402009-04-12 David S. Miller <davem@davemloft.net>
4841
4842 * kern/misc.c (grub_ltoa): Fix cast when handling negative
4843 values. Noticed by Pavel Roskin.
4844
df38d0bb 4845 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
4846 target compiler.
7dd4a573 4847
e382e93a 4848 * genmk.rb: Add more flexible image type specification, also
4849 pass --strip-unneeded to objcopy.
4850 * conf/i386-pc.rmk: Use *_FORMAT.
4851 * conf/i386-pc.mk: Rebuilt.
4852
f5dbbca9 4853 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
4854 (OFDISK_HASH_SZ): Define.
4855 (ofdisk_hash): New hash table.
4856 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
4857 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
4858 instead of device phandle which is not unique.
4859
91c88b12 4860 * kern/sparc64/ieee1275/init.c: Delete, replace with...
4861 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
4862 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
4863 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
4864 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
4865 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
4866 GRUB_KERNEL_MACHINE_DATA_END): Define.
4867 (grub_kernel_image_size, grub_total_module_size): Declare.
4868
5b5d4aa5 48692009-04-12 Pavel Roskin <proski@gnu.org>
4870
7dd4a573 4871 * configure.ac: Change the logic when we check for target tools.
4872 Do it when the target is specified and it's different from the
4873 specified value of the host.
5b5d4aa5 4874
c91e1793 48752009-04-11 Felix Zielcke <fzielcke@z-51.de>
4876
4877 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
4878 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
4879 GNU/kFreeBSD. Check if a device is a character device. Use
4880 DIOCGMEDIASIZE to get the size.
4881 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
4882 support for GNU/kFreeBSD.
4883 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
4884 is a character device instead of a block device. Add support for
4885 FreeBSD device names.
4886
4887 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
4888 is a character device instead of a block device.
4889
4890 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
4891 is a character device instead of a block device.
4892
b1ac8644 48932009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
4894
4895 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
4896 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
4897 FreeBSD. Check if a device is a character device. Use
4898 DIOCGMEDIASIZE to get the size.
4899 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
4900 support for FreeBSD.
4901 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
4902 is a character device instead of a block device. Add support for
4903 FreeBSD device names.
4904
4905 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
4906 a character device instead of a block device.
4907 (grub_util_check_char_device): New function.
4908
4909 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
4910 a character device instead of a block device.
4911
4912 * include/grub/util/getroot.h (grub_util_check_char_device): New
4913 prototype.
4914
a3f7515a 49152009-04-11 David S. Miller <davem@davemloft.net>
4916
4917 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
4918 static libgcc.
4919 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
4920 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
4921 function, if present.
4922 (__bswapdi2): Likewise.
4923
0d44993d 4924 * include/grub/sparc64/ieee1275/boot.h: New file.
4925 * boot/sparc64/ieee1275/boot.S: Likewise.
4926 * boot/sparc64/ieee1275/diskboot.S: Likewise.
4927
ed3d2bc2 4928 * kern/misc.c (grub_ltoa): New function.
4929 (grub_vsprintf): Use it to format 'long' integers.
4930
d3bfb59c 49312009-04-10 David S. Miller <davem@davemloft.net>
4932
4933 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
4934 slots are of type grub_ieee1275_cell_t.
4935 (grub_nand_read): Likewise.
4936 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
4937 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
4938 macros are used to compare values in arg/ret block of the call.
4939 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
4940 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
4941 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
4942 grub_ieee1275_instance_to_path, grub_ieee1275_write,
4943 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
4944 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
4945 grub_ieee1275_close, grub_ieee1275_set_property,
4946 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
4947 grub_ieee1275_cell_t.
4948 * kern/ieee1275/openfw.c (grub_map): Likewise.
4949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
4950 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
4951
450e2238 4952 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
4953 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4954 (grub_devalias_iterate): Likewise.
4955
7dd4a573 49562009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 4957
4958 UFS improvements
4959
4960 * fs/ufs.c (INODE_NBLOCKS): new definition
4961 (struct grub_ufs_dirent): added fields for non-BSD dirents
4962 (grub_ufs_get_file_block): fixed double indirect handling
4963 (grub_ufs_lookup_symlink): use more robust way to determine whether
4964 symlink is inline
4965 (grub_ufs_find_file): support for non-BSD dirents
4966 (grub_ufs_dir): support for non-BSD dirents
4967
e7e6862a 49682009-04-10 Bean <bean123ch@gnail.com>
4969
4970 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
4971 attribute, otherwise the size would be wrong for i386 platform.
4972
4973 * include/grub/pci.h (grub_pci_read_word): New inline function.
4974 (grub_pci_read_byte): Likewise.
4975 (grub_pci_write): Likewise.
4976 (grub_pci_write_word): Likewise.
4977 (grub_pci_write_byte): Likewise.
4978
4979 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
4980
4981 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
4982 (find_framebuf): Scan pci to locate the frame buffer address.
4983
4984 * commands/efi/fixvideo.c: New file.
4985
4986 * commands/efi/loadbios.c: Likewise.
4987
4988 * commands/memrw.c: Likewise.
4989
4990 * util/grub-dumpbios.in: Likewise.
4991
4992 * conf/common.rmk (grub-dumpbios): New utility.
4993 (pkglib_MODULES): New module memrw.mod.
4994 (memrw_mod_SOURCE): New macro.
4995 (memrw_mod_CFLAGS): Likewise.
4996 (memrw_mod_LDFLAGS): Likewise.
4997
7dd4a573 4998 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 4999 fixvideo.mod.
5000 (loadbios_mod_SOURCE): New macro.
5001 (loadbios_mod_CFLAGS): Likewise.
5002 (loadbios_mod_LDFLAGS): Likewise.
5003 (fixvideo_mod_SOURCE): Likewise.
5004 (fixvideo_mod_CFLAGS): Likewise.
5005 (fixvideo_mod_LDFLAGS): Likewise.
5006
7dd4a573 5007 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5008 fixvideo.mod.
5009 (loadbios_mod_SOURCE): New macro.
5010 (loadbios_mod_CFLAGS): Likewise.
5011 (loadbios_mod_LDFLAGS): Likewise.
5012 (fixvideo_mod_SOURCE): Likewise.
5013 (fixvideo_mod_CFLAGS): Likewise.
5014 (fixvideo_mod_LDFLAGS): Likewise.
5015
af63ada2 50162009-04-08 Felix Zielcke <fzielcke@z-51.de>
5017
5018 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5019
c2cdde70 50202009-04-07 David S. Miller <davem@davemloft.net>
5021
5022 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5023 support for R_SPARC_OLO10 relocations. Fix compile warning for
5024 R_SPARC_WDISP30 case.
ea3f72cf 5025 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 5026
761319cf 50272009-04-06 Pavel Roskin <proski@gnu.org>
5028
1007d1f5 5029 * include/grub/misc.h (ARRAY_SIZE): New macro.
5030 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5031 New macro.
5032 * loader/i386/linux.c (allocate_pages): Use free_pages().
5033 (grub_linux_unload): Don't use free_pages().
5034 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5035 wrong index. Treat all other modes as text modes.
5036 (grub_cmd_linux): Initialize vid_mode unconditionally to
5037 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5038
761319cf 5039 * commands/help.c (print_command_help): Use cmd->prio, not
5040 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5041
ea761d40 50422009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 5043
ea761d40 5044 Parttool
5045
5046 * parttool/pcpart.c: new file
5047 * commands/parttool.c: likewise
5048 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5049 (parttool_mod_SOURCES): new variable
5050 (parttool_mod_CFLAGS): likewise
5051 (parttool_mod_LDFLAGS): likewise
5052 (pcpart_mod_SOURCES): likewise
5053 (pcpart_mod_CFLAGS): likewise
5054 (pcpart_mod_LDFLAGS): likewise
7dd4a573 5055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 5056 and parttool/pcpart.c
5057 * conf/i386-efi.rmk: likewise
5058 * conf/i386-ieee1275.rmk: likewise
5059 * conf/i386-pc.rmk: likewise
5060 * conf/powerpc-ieee1275.rmk: likewise
5061 * conf/sparc64-ieee1275.rmk: likewise
5062 * conf/x86_64-ieee1275.rmk: likewise
5063
05aaebfb 50642009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Support for mtime and further expandability of dir command
5067
5068 * include/grub/lib/datetime.h: moved to ...
7dd4a573 5069 * include/grub/datetime.h: ... moved here and added
05aaebfb 5070 declaration of grub_unixtime2datetime. All users updated
7dd4a573 5071 * include/grub/fs.h: new syntax for dir and mtime functions in
5072 struct grub_fs
05aaebfb 5073 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5074 and GRUB_FSHELP_FLAGS_MASK
5075 * commands/ls.c (grub_ls_list_files): Write mtime in long format
5076 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
5077 (grub_ext2_mtime): new function
5078 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
5079 (grub_hfsplus_mtime): new function
5080 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
5081 (GRUB_UFS_ATTR_FILE): likewise
5082 (GRUB_UFS_ATTR_LNK): likewise
5083 (struct grub_ufs_sblock): new fields mtime
5084 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
5085 all users updated
5086 (grub_ufs_dir): mtime support
5087 (grub_ufs_mtime): new function
5088 * fs/affs.c (grub_affs_dir): use new dir syntax
5089 * fs/afs.c (grub_afs_dir): likewise
5090 * fs/cpio.c (grub_cpio_dir): likewise
5091 * fs/fat.c (grub_fat_find_dir): likewise
5092 * fs/hfs.c (grub_hfs_dir): likewise
5093 * fs/iso9660.c (grub_iso9660_dir): likewise
5094 * fs/jfs.c (grub_jfs_dir): likewise
5095 * fs/minix.c (grub_minix_dir): likewise
5096 * fs/ntfs.c (grub_ntfs_dir): likewise
5097 * fs/reiserfs.c (grub_reiserfs_dir): likewise
5098 * fs/sfs.c (grub_sfs_dir): likewise
5099 * fs/xfs.c (grub_xfs_dir): likewise
5100 * util/hostfs.c (grub_hostfs_dir): likewise
5101 * lib/datetime.c: moved to ...
5102 * normal/datetime.c: ... moved here
5103 (grub_unixtime2datetime): new function
5104 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 5105 * normal/completion.c (iterate_dir): use new dir syntax
5106 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 5107 last modification time of a volume
7dd4a573 5108 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 5109 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 5110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 5111 (normal_mod_SOURCES): likewise
5112 (datetime_mod_SOURCES): Removed lib/datetime.c
5113 * conf/i386-efi.rmk: likewise
7dd4a573 5114 * conf/i386-ieee1275.rmk: likewise
05aaebfb 5115 * conf/i386-pc.rmk: likewise
5116 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5117 * conf/sparc64-ieee1275.rmk: likewise
5118 * conf/x86_64-efi.rmk: likewise
05aaebfb 5119
8a7e1a14 51202009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 5123
5124 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 5125 on grub_fat_find_dir
5126 (grub_fat_find_dir): use grub_fat_iterate_dir
5127 (grub_fat_label): likewise
5128
04186a9c 51292009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5130
7dd4a573 5131 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 5132 and command.h
5133 remove extraneous kernel_elf_HEADERS
5134
da4c0bb6 51352009-04-04 Bean <bean123ch@gnail.com>
5136
5137 * include/grub/util/misc.h: Add dummy function fsync for mingw.
5138
5139 * util/misc.c: Likewise.
5140
54ad9555 51412009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
5142
5143 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
5144 instead of grub_printf.
5145
7a6bf9f2 51462009-04-03 Robert Millan <rmh@aybabtu.com>
5147
5148 * loader/i386/linux.c (grub_linux_setup_video): Fill
5149 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
5150 values from `mode info' structure instead of hardcoded
5151 values.
5152
3fcc2083 51532009-04-01 Pavel Roskin <proski@gnu.org>
5154
5155 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
5156 unused now.
5157 * genmk.rb: Likewise.
5158 * configure.ac: Likewise.
5159
5ec9740b 51602009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
5161
5162 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
5163 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
5164
5270cec8 51652009-04-01 David S. Miller <davem@davemloft.net>
5166
5167 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 5168 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 5169 (grub_setjmp): Mark with 'returns_twice' attribute.
5170 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
5171 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
5172 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
5173
9c3dd854 51742009-04-01 Robert Millan <rmh@aybabtu.com>
5175
5176 Reapply fix from 2008-07-28 which was accidentally reverted; also
5177 perform the same fix to a similar check in same function.
5178
5179 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
5180 with the same number are found, just use issue a warning with
5181 grub_dprintf(), as this error has been reported to be non-fatal.
5182
0d818b7e 51832009-03-31 Pavel Roskin <proski@gnu.org>
5184
5185 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
5186 for cross-compilation.
5187
95646d92 51882009-03-30 Robert Millan <rmh@aybabtu.com>
5189
5190 Fix i386-ieee1275 build.
5191
5192 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
5193 Remove declaration.
5194
6a003ed1 51952009-03-30 Pavel Roskin <proski@gnu.org>
5196
5197 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
5198 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
5199 zero-terminated, rely only on the strlen value. Fix comparison
5200 of strings differing in length.
5201
92f33540 52022009-03-30 Robert Millan <rmh@aybabtu.com>
5203
5204 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
5205 checking for abi version. Improve error messages on BIOS to notify
5206 user about `linux16' command.
5207
a8c48fd5 52082009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5209
f968172e 5210 Leak fixes
a8c48fd5 5211
f968172e 5212 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
5213 in case of collision
5214 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 5215
9c323f09 52162009-03-29 Robert Millan <rmh@aybabtu.com>
5217
5218 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
5219 set `vid_mode' accordingly.
5220 (grub_linux_boot): Process `vid_mode' and set video mode.
5221
ae68f423 52222009-03-29 Robert Millan <rmh@aybabtu.com>
5223
5224 * util/grub.d/10_linux.in (linux_entry): New function.
5225 Factorize generation of Linux boot entries.
5226
5709cfc4 52272009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
5228
5229 Make the format of Environment Block plain text. The boot loader
5230 part is not tested well yet.
7dd4a573 5231
5709cfc4 5232 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
5233 (buffer): Removed.
5234 (envblk): Likewise.
5235 (usage): Remove "info" and "clear". Add "unset". Update the
5236 description of "set", as this does not delete variables any
5237 longer.
5238 (create_envblk_file): Complete rewrite.
5239 (open_envblk_file): Likewise.
5240 (cmd_info): Removed.
5241 (cmd_list): Likewise.
5242 (cmd_set): Likewise.
5243 (cmd_clear): Likewise.
5244 (list_variables): New function.
5245 (write_envblk): Likewise.
5246 (set_variables): Likewise.
5247 (unset_variables): Likewise.
5248 (main): Complete rewrite.
5249
5250 * commands/loadenv.c (buffer): Removed.
5251 (envblk): Likewise.
5252 (open_envblk_file): New function.
5253 (read_envblk_file): Complete rewrite.
5254 (grub_cmd_load_env): Likewise.
5255 (grub_cmd_list_env): Likewise.
5256 (struct blocklist): New struct.
5257 (free_blocklists): New function.
5258 (check_blocklists): Likewise.
5259 (write_blocklists): Likewise.
5260 (grub_cmd_save_env): Complete rewrite.
5261
5262 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
5263 a plain text signature.
5264 (GRUB_ENVBLK_MAXLEN): Removed.
5265 (struct grub_envblk): Complete rewrite.
5266 (grub_envblk_find): Removed.
5267 (grub_envblk_insert): Likewise.
5268 (grub_envblk_open): New prototype.
5269 (grub_envblk_set): Likewise.
5270 (grub_envblk_delete): Put const to VALUE.
5271 (grub_envblk_iterate): Put const to NAME and VALUE.
5272 (grub_envblk_close): New prototype.
5273 (grub_envblk_buffer): New inline function.
5274 (grub_envblk_size): Likewise.
5275
5276 * lib/envblk.c: Include grub/mm.h.
5277 (grub_env_find): Removed.
5278 (grub_envblk_open): New function.
5279 (grub_envblk_close): Likewise.
5280 (escaped_value_len): Likewise.
5281 (find_next_line): Likewise.
5282 (grub_envblk_insert): Removed.
5283 (grub_envblk_set): New function.
5284 (grub_envblk_delete): Complete rewrite.
5285 (grub_envblk_iterate): Likewise.
5286
a9368fd3 52872009-03-28 Robert Millan <rmh@aybabtu.com>
5288
5289 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
5290 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
5291 variables. Use 16-bit loader.
5292 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
5293 loader.
5294 * kern/i386/loader.S (grub_linux_boot): Rename to ...
5295 (grub_linux16_boot): ... this. Update all users.
5296 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
5297 (grub_linux_boot): ... this. Update all users.
5298
5299 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
5300 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
5301 commands to `linux16' and `initrd16'.
5302 (GRUB_MOD_FINI(linux)): Rename to ...
5303 (GRUB_MOD_FINI(linux16)): ... this.
5304
e4dd5a7e 53052009-03-24 Pavel Roskin <proski@gnu.org>
5306
5307 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
5308 not just for compilation.
5309
c04d6e05 53102009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 Move multiboot helper out of kernel
5313
5314 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
5315 `loader/i386/multiboot_helper.S'.
5316 * conf/i386-coreboot.rmk: Likewise
5317 * conf/i386-ieee1275.rmk: Likewise
5318
5319 * kern/i386/loader.S: Move multiboot helpers from here...
5320 * loader/i386/multiboot_helper.S: ...moved here
5321 * include/grub/i386/loader.h: Move declarations of multiboot
5322 helpers from here...
5323 * include/grub/i386/multiboot.h: ...moved here
5324 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
5325
42a5b3fc 53262009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5327
5328 * kern/env.c (grub_env_context_open): Added an argument to specify
5329 whether a new context inherits exported variables from current
5330 one. This is useful when making a sandbox to interpret a config
5331 file.
5332 All callers updated.
5333
5334 * include/grub/env.h (grub_env_context_open): Updated the prototype.
5335
b28bbc4e 53362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5337
5338 * kern/env.c (grub_env_context_close): Fix memory leaks.
5339
f04f02e4 53402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5341
5342 * normal/main.c (grub_normal_execute): Added an argument
5343 BATCH to specify if an interactive interface should be provided
5344 after reading a config file.
5345 All callers updated.
5346 (read_command_list): Prevent being executed twice.
5347 (read_fs_list): Likewise.
5348
42a5b3fc 5349 * include/grub/normal.h (grub_normal_execute): Updated the
5350 prototype.
f04f02e4 5351
41473ac2 53522009-03-22 Pavel Roskin <proski@gno.org>
5353
fbc00b0c 5354 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
5355 _start.
5356 * kern/i386/pc/startup.S: Likewise.
5357 * kern/i386/efi/startup.S: Likewise.
5358 * kern/i386/ieee1275/startup.S: Likewise.
5359 * kern/i386/coreboot/startup.S: Likewise.
5360 * kern/x86_64/efi/startup.S: Likewise.
5361
41473ac2 5362 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
5363 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
5364 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
5365
2274cc8f 53662009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 Bugfixes in multiboot for bugs uncovered by solaris kernel.
5369
5370 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
5371 limit detection.
5372 Use vaddr of correct segment for entry_point.
5373
b1b797cb 53742009-03-21 Bean <bean123ch@gmail.com>
5375
5376 * commands/blocklist.c: Add include file <grub/command.h>, remove
5377 <grub/normal.h> and <grub/arg.h>.
5378 (grub_cmd_blocklist): Use the new command interface.
5379 (GRUB_MOD_INIT): Likewise.
5380 (GRUB_MOD_FINI): Likewise.
5381 * commands/boot.c: Likewise.
5382 * commands/cat.c: Likewise.
5383 * commands/cmp.c: Likewise.
5384 * commands/configfile.c: Likewise.
5385 * commands/crc.c: Likewise.
5386 * commands/echo.c: Likewise.
5387 * commands/halt.c: Likewise.
5388 * commands/handler.c: Likewise.
5389 * commands/hdparm.c: Likewise.
5390 * commands/help.c: Likewise.
5391 * commands/hexdump.c: Likewise.
5392 * commands/loadenv.c: Likewise.
5393 * commands/ls.c: Likewise.
5394 * commands/lsmmap.c: Likewise.
5395 * commands/lspci.c: Likewise.
5396 * commands/loadenv.c: Likewise.
5397 * commands/read.c: Likewise.
5398 * commands/reboot.c: Likewise.
5399 * commands/search.c: Likewise.
5400 * commands/sleep.c: Likewise.
5401 * commands/test.c: Likewise.
5402 * commands/usbtest.c: Likewise.
5403 * commands/videotest.c: Likewise.
5404 * commands/i386/cpuid.c: Likewise.
5405 * commands/i386/pc/halt.c: Likewise.
5406 * commands/i386/pc/play.c: Likewise.
5407 * commands/i386/pc/pxecmd.c: Likewise.
5408 * commands/i386/pc/vbeinfo.c: Likewise.
5409 * commands/i386/pc/vbetest.c: Likewise.
5410 * commands/ieee1275/suspend.c: Likewise.
5411 * disk/loopback.c: Likewise.
5412 * font/font_cmd.c: Likewise.
5413 * hello/hello.c: Likewise.
5414 * loader/efi/appleloader.c: Likewise.
5415 * loader/efi/chainloader.c: Likewise.
5416 * loader/i386/bsd.c: Likewise.
5417 * loader/i386/efi/linux.c: Likewise.
5418 * loader/i386/ieee1275/linux.c: Likewise.
5419 * loader/i386/linux.c: Likewise.
5420 * loader/i386/pc/chainloader.c: Likewise.
5421 * loader/i386/pc/linux.c: Likewise.
5422 * loader/powerpc/ieee1275/linux.c: Likewise.
5423 * loader/multiboot_loader.c: Likewise.
5424 * term/gfxterm.c: Likewise.
5425 * term/i386/pc/serial.c: Likewise.
5426 * term/terminfo.c: Likewise.
5427
5428 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
5429 * term/i386/pc/vga.c: Likewise.
5430 * video/readers/jpeg.c: Likewise.
5431 * video/readers/png.c: Likewise.
5432 * video/readers/tga.c: Likewise.
5433
5434 * util/grub-fstest (cmd_loopback): Removed.
5435 (cmd_blocklist): Likewise.
5436 (cmd_ls): Likewise.
5437 (grub_register_command): Likewise.
5438 (grub_unregister_command): Likewise.
5439 (execute_command): Use grub_command_find to locate command and execute
5440 it.
5441
5442 * include/grub/efi/chainloader.h: Removed.
5443 * loader/efi/chainloader_normal.c: Likewise.
5444 * loader/i386/bsd_normal.c: Likewise.
5445 * loader/i386/pc/chainloader_normal.c: Likewise.
5446 * loader/i386/pc/multiboot_normal.c: Likewise.
5447 * loader/linux_normal.c: Likewise.
5448 * loader/multiboot_loader_normal.c: Likewise.
5449 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
5450
5451 * gencmdlist.sh: Scan new registration command grub_register_extcmd
5452 and grub_register_command_p1.
5453
5454 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
5455 kern/command.c, lib/arg.c and commands/extcmd.c.
5456 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
5457 (minicmd_mod_SOURCES): New variable.
5458 (minicmd_mod_CFLAGS): Likewise.
5459 (minicmd_mod_LDFLAGS): Likewise.
5460 (extcmd_mod_SOURCES): Likewise.
5461 (extcmd_mod_CFLAGS): Likewise.
5462 (extcmd_mod_LDFLAGS): Likewise.
5463 (boot_mod_SOURCES): Removed.
5464 (boot_mod_CFLAGS): Likewise.
5465 (boot_mod_LDFLAGS): Likewise.
5466
5467 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
5468 kern/corecmd.c.
5469 (kernel_img_HEADERS): Add command.h.
5470 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
5471 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
5472 and lib/arg.c.
5473 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
5474 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
5475 remove the corresponding normal mode command.
5476 (normal_mod_SOURCES): Remove normal/arg.c.
5477 * conf/i386-coreboot.rmk: Likewise.
5478 * conf/i386-efi.rmk: Likewise.
5479 * conf/i386-ieee1275.rmk: Likewise.
5480 * conf/powerpc-ieee1275.rmk: Likewise.
5481 * conf/x86_64-efi.rmk: Likewise.
5482
5483 * include/grub/arg.h: Move from here ...
5484 * include/grub/lib/arg.h: ... to here.
5485
5486 * normal/arg.c: Move from here ...
5487 * lib/arg.c: ... to here.
5488
5489 * commands/extcmd.c: New file.
5490 * commands/minicmd.c: Likewise.
5491 * include/grub/command.h: Likewise.
5492 * include/grub/extcmd.h: Likewise.
5493 * kern/command.c: Likewise.
5494 * kern/corecmd.c: Likewise.
5495
5496 * kern/list.c (grub_list_iterate): Return int instead of void.
5497 (grub_list_insert): New function.
5498 (grub_prio_list_insert): Likewise.
5499
5500 * kern/rescue.c (grub_rescue_command): Removed.
5501 (grub_rescue_command_list): Likewise.
5502 (grub_rescue_register_command): Likewise.
5503 (grub_rescue_unregister_command): Likewise.
5504 (grub_rescue_cmd_boot): Move to minicmd.c
5505 (grub_rescue_cmd_help): Likewise.
5506 (grub_rescue_cmd_info): Likewise.
5507 (grub_rescue_cmd_boot): Likewise.
5508 (grub_rescue_cmd_testload): Likewise.
5509 (grub_rescue_cmd_dump): Likewise.
5510 (grub_rescue_cmd_rmmod): Likewise.
5511 (grub_rescue_cmd_lsmod): Likewise.
5512 (grub_rescue_cmd_exit): Likewise.
5513 (grub_rescue_print_devices): Moved to corecmd.c.
5514 (grub_rescue_print_files): Likewise.
5515 (grub_rescue_cmd_ls): Likewise.
5516 (grub_rescue_cmd_insmod): Likewise.
5517 (grub_rescue_cmd_set): Likewise.
5518 (grub_rescue_cmd_unset): Likewise.
7d074e3c 5519 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 5520 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 5521 commands, remove grub_rescue_register_command calls.
b1b797cb 5522
7d074e3c 5523 * normal/command.c (grub_register_command): Removed.
b1b797cb 5524 (grub_unregister_command): Likewise.
5525 (grub_command_find): Likewise.
5526 (grub_iterate_commands): Likewise.
5527 (rescue_command): Likewise.
5528 (export_command): Moved to corecmd.c.
5529 (set_command): Removed.
5530 (unset_command): Likewise.
5531 (insmod_command): Likewise.
5532 (rmmod_command): Likewise.
5533 (lsmod_command): Likewise.
5534 (grub_command_init): Likewise.
5535
5536 * normal/completion.c (iterate_command): Use cmd->prio to check for
5537 active command.
5538 (complete_arguments): Use grub_extcmd_t structure to find options.
5539 (grub_normal_do_completion): Change function grub_iterate_commands to
5540 grub_command_iterate.
5541
5542 * normal/execute.c (grub_script_execute_cmd): No need to parse
5543 argument here.
5544
5545 * normal/main.c (grub_dyncmd_dispatcher): New function.
5546 (read_command_list): Register unload commands as dyncmd.
5547 (grub_cmd_normal): Use new command interface, register rescue,
5548 unregister normal at entry, register normal, unregister rescue at exit.
5549
5550 * include/grub/list.h (grub_list_test_t): New type.
5551 (grub_list_iterate): Return int instead of void.
5552 (grub_list_insert): New function.
5553 (GRUB_AS_NAMED_LIST_P): New macro.
5554 (GRUB_AS_PRIO_LIST): Likewise.
5555 (GRUB_AS_PRIO_LIST_P): Likewise.
5556 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
5557 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
5558 (grub_prio_list): New structure.
5559 (grub_prio_list_insert): New function.
5560 (grub_prio_list_remove): New inline function.
5561
5562 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
5563 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
5564 (GRUB_COMMAND_FLAG_MENU): Likewise.
5565 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5566 (GRUB_COMMAND_FLAG_TITLE): Likewise.
5567 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5568 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
5569 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
5570 (grub_command): Likewise.
5571 (grub_register_command): Likewise.
5572 (grub_command_find): Likewise.
5573 (grub_iterate_commands): Likewise.
5574 (grub_command_init): Likewise.
5575 (grub_arg_parse): Likewise.
5576 (grub_arg_show_help): Likewise.
5577
5578 * include/grub/rescue.h (grub_rescue_register_command): Removed.
5579 (grub_rescue_unregister_command): Likewise.
5580
5581 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
5582 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
5583 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
5584
5585 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
5586 grub_rescue_cmd_initrd.
5587 * include/grub/i386/loader.h: Likewise.
5588 * include/grub/x86_64/loader.h: Likewise.
5589
5590 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
5591
1f4147aa 55922009-03-21 Bean <bean123ch@gmail.com>
5593
5594 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
5595 instead of stat in mingw environment.
5596
5597 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
5598
5599 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
5600
5601 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
5602 AC_CONFIG_LINKS.
5603
2156d5ba 56042009-03-21 Bean <bean123ch@gmail.com>
5605
5606 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
5607 out of range error.
5608
177b82ca 56092009-03-18 Michel Dänzer <michel@daenzer.net>
5610
5611 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
5612 checking inode flags for EXT4_EXTENTS_FLAG.
5613
14aad807 56142009-03-18 Robert Millan <rmh@aybabtu.com>
5615
5616 * loader/i386/linux.c: Include `<grub/video.h>' and
5617 `<grub/i386/pc/vbe.h>'..
5618 (grub_linux_setup_video): New function. Loosely based on the EFI one.
5619 (grub_linux32_boot): Attempt to configure video settings with
5620 grub_linux_setup_video().
5621 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
5622 to avoid grub_console_fini() which would step out of graphical mode
5623 unconditionally.
5624
8cf83a27 56252009-03-14 Robert Millan <rmh@aybabtu.com>
5626
5627 Fix build on powerpc.
5628 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
5629
40164e75 56302009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
5633 background image command.
5634
c58bc32a 56352009-03-12 Colin D Bennett <colin@gibibit.com>
5636
5637 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
5638 (grub_gfxterm_putchar): Extract pairs of identical calls to
5639 draw_cursor out of conditional blocks.
5640
5415144a 56412009-03-11 Pavel Roskin <proski@gnu.org>
5642
5643 * fs/hfs.c (grub_hfs_strncasecmp): New function.
5644 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
5645
6394042e 56462009-03-11 Robert Millan <rmh@aybabtu.com>
5647
5648 * loader/i386/multiboot_elfxx.c
5649 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
5650
b7b50e5f 56512009-03-11 Felix Zielcke <fzielcke@z-51.de>
5652
5653 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
5654 `kern/handler.c'.
5655
1ca7fc96 56562009-03-11 Robert Millan <rmh@aybabtu.com>
5657
5658 * loader/i386/multiboot.c (code_size): New variable.
5659 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 5660 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 5661 4-byte alignment to MBI and others by increasing
7d074e3c 5662 `boot_loader_name_length' appropriately.
1ca7fc96 5663
5664 * loader/i386/multiboot_elfxx.c
5665 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
5666
a83ea1d2 56672009-03-09 Felix Zielcke <fzielcke@z-51.de>
5668
5669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
5670 `fs/ext2.c'.
5671
aa9f3bff 56722009-03-08 Robert Millan <rmh@aybabtu.com>
5673
5674 Make loader/i386/linux.c usable on i386-pc again.
5675
5676 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
5677 memory to heap.
5678 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
5679 `#error' stanza.
5680
d8b3b60e 56812009-03-07 Bean <bean123ch@gmail.com>
5682
5683 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
5684 allocation.
5685
b362c9e9 56862009-03-06 Robert Millan <rmh@aybabtu.com>
5687
5688 Fix display issue on terminals with screen size other than 80x25
5689 (e.g. gfxterm with resolution higher than 640x480).
5690
5691 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 5692 position relative to the center of the terminal instead of relying
b362c9e9 5693 on a hardcoded offset.
5694
9304eef1 56952009-03-04 Robert Millan <rmh@aybabtu.com>
5696
5697 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
5698 installed.
5699
5700 * Makefile.in (host_kernel): New variable.
5701 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
5702 scripts instead of just the windows one.
5703 * configure.ac: Initialize and AC_SUBST `host_kernel'.
5704
eabc95fb 57052009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 5706
5707 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
5708 `kern/handler.c'.
5709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5715
ceb1223c 57162009-03-04 Felix Zielcke <fzielcke@z-51.de>
5717
5718 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
5719 or if there's no space for the disk label and print the partition number on a
5720 invalid magic.
5721
4910684a 57222009-03-04 Felix Zielcke <fzielcke@z-51.de>
5723
5724 * util/misc.c: Include <time.h>.
5725 (grub_millisleep): New function.
5726
7e9ca17a 57272009-03-04 Bean <bean123ch@gmail.com>
5728
5729 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
5730 another option -mno-red-zone.
5731
5732 * commands/handler.c: Change module description.
5733
5734 * kern/handler.c: Add missing space at the end of description line.
5735
5736 * kern/list.c: Likewise.
5737
f501677c 57382009-03-03 Robert Millan <rmh@aybabtu.com>
5739
5740 Move more components to the relocation area, and fix mbi pointer
5741 handling to use the destination rather than the origin (thanks to
5742 Vladimir Serbinenko for spotting).
5743
5744 * loader/i386/multiboot.c (mbi_dest): New variable.
5745 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
5746 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
5747 relocation area.
5748
9902d047 57492009-03-01 Bean <bean123ch@gmail.com>
5750
50fb7002 5751 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 5752 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
5753 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
5754 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
5755
5756 * loader/i386/efi/linux.c (acpi_guid): New variable.
5757 (acpi_guid): Likewise.
5758 (EBDA_SEG_ADDR): New constant.
5759 (LOW_MEM_ADDR): Likewise.
5760 (FAKE_EBDA_SEG): Likewise.
5761 (fake_bios_data): New function.
5762 (grub_linux_boot): Call fake_bios_data.
5763
71b9f361 57642009-03-01 Bean <bean123ch@gmail.com>
5765
5766 * commands/terminal.c: Removed.
5767
5768 * commands/handler.c: New file.
5769
5770 * include/grub/list.h: Likewise.
5771
5772 * include/grub/handler.h: Likewise.
5773
5774 * kern/list.c: Likewise.
5775
5776 * kern/handler.c: Likewise.
5777
5778 * kern/term.h: Include header file <grub/handler.h>.
5779 (grub_term_input): Move next field to the beginning.
5780 (grub_term_output): Likewise.
5781 (grub_term_input_class): New variable.
5782 (grub_term_output_class): Likewise.
5783 (grub_term_register_input): Changed to inline function.
5784 (grub_term_register_output): Likewise.
5785 (grub_term_unregister_input): Likewise.
5786 (grub_term_unregister_output): Likewise.
5787 (grub_term_set_current_input): Likewise.
5788 (grub_term_set_current_output): Likewise.
5789 (grub_term_get_current_input): Likewise.
5790 (grub_term_get_current_output): Likewise.
5791 (grub_term_iterate_input): Removed.
5792 (grub_term_iterate_output): Likewise.
5793
5794 * kern/term.c (grub_term_list_input): Removed.
5795 (grub_term_list_output): Likewise.
5796 (grub_term_input_class): New variable.
5797 (grub_term_output_class): Likewise.
50fb7002 5798 (grub_cur_term_input): Change variable as macro.
71b9f361 5799 (grub_cur_term_output): Likewise.
5800 (grub_term_register_input): Removed.
5801 (grub_term_register_output): Likewise.
5802 (grub_term_unregister_input): Likewise.
5803 (grub_term_unregister_output): Likewise.
5804 (grub_term_set_current_input): Likewise.
5805 (grub_term_set_current_output): Likewise.
5806 (grub_term_iterate_input): Likewise.
5807 (grub_term_iterate_output): Likewise.
5808 (grub_term_get_current_input): Likewise.
5809 (grub_term_get_current_output): Likewise.
5810
5811 * util/grub-editenv.c: Include header file <grub/handler.h>.
5812 (grub_term_get_current_input): Removed.
5813 (grub_term_get_current_output): Likewise.
5814 (grub_term_input_class): New variable.
50fb7002 5815 (grub_term_output_class): Likewise.
71b9f361 5816
5817 * util/grub-fstest.c (grub_term_get_current_input): Removed.
5818 (grub_term_get_current_output): Likewise.
5819 (grub_term_input_class): New variable.
50fb7002 5820 (grub_term_output_class): Likewise.
71b9f361 5821
5822 * util/grub-probe.c (grub_term_get_current_input): Removed.
5823 (grub_term_get_current_output): Likewise.
5824 (grub_term_input_class): New variable.
50fb7002 5825 (grub_term_output_class): Likewise.
71b9f361 5826
5827 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
5828 (grub_term_get_current_output): Likewise.
5829 (grub_term_input_class): New variable.
50fb7002 5830 (grub_term_output_class): Likewise.
71b9f361 5831
5832 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
5833 (terminal_mod_SOURCES): Likewise.
5834 (terminal_mod_CFLAGS): Likewise.
5835 (terminal_mod_LDFLAGS): Likewise.
5836
5837 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
5838 handler.c.
5839 (kernel_img_SOURCES): Add list.c and handler.c.
5840 (kernel_img_HEADERS): Add list.h and handler.h.
5841
5842 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5843 handler.c.
5844 (kernel_mod_SOURCES): Add list.c and handler.c.
5845 (kernel_mod_HEADERS): Add list.h and handler.h.
5846
5847 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
5848 handler.c.
5849 (kernel_elf_SOURCES): Add list.c and handler.c.
5850 (kernel_elf_HEADERS): Add list.h and handler.h.
5851
5852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5853 handler.c.
5854 (kernel_elf_SOURCES): Add list.c and handler.c.
5855 (kernel_elf_HEADERS): Add list.h and handler.h.
5856
5857 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5858 handler.c.
5859 (kernel_mod_SOURCES): Add list.c and handler.c.
5860 (kernel_mod_HEADERS): Add list.h and handler.h.
5861
5862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5863 handler.c.
5864 (kernel_elf_SOURCES): Add list.c and handler.c.
5865 (kernel_elf_HEADERS): Add list.h and handler.h.
5866
8a31787f 58672009-02-27 Robert Millan <rmh@aybabtu.com>
5868
5869 Factorize elf32 / elf64 code in Multiboot loader. This will
5870 prevent it from getting out of sync again.
5871
5872 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
5873 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
5874 grub_multiboot_load_elf64): Move from here ...
5875 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
5876 grub_multiboot_load_elf): ... to here (new file).
5877
51cd3dfc 58782009-02-27 Robert Millan <rmh@aybabtu.com>
5879
5880 * util/grub.d/10_linux.in: Rename "single-user mode" to
5881 "recovery mode".
5882
6e8c9c3a 58832009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 Don't leak in SCSI code.
5886 * disk/scsi.c (grub_scsi_close): free `scsi'.
5887
4b6bf4f9 58882009-02-27 Robert Millan <rmh@aybabtu.com>
5889
5890 * loader/i386/pc/multiboot.c: Move from here ...
5891 * loader/i386/multiboot.c: ... to here. Update all users.
5892
b9413424 58932009-02-27 Robert Millan <rmh@aybabtu.com>
5894
5895 Patch from Alexandre Bique <bique.alexandre@gmail.com>
5896 * util/i386/pc/grub-setup.c (setup): Fix directory path.
5897
50fb7002 58982009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 5899
5900 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
5901 b-tree.
5902
8cc50345 59032009-02-27 Robert Millan <rmh@aybabtu.com>
5904
5905 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
5906 `0x' qualifier as 0 when base is specified as parameter).
5907
6e09b8b7 59082009-02-24 Bean <bean123ch@gmail.com>
5909
5910 * configure.ac: Check for -mcmodel=large in x86_64 target.
5911
5912 * include/grub/efi/api.h (efi_call_10): New macro.
5913 (efi_wrap_10): New function.
5914
5915 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
5916 (GRUB_PE32_REL_BASED_HIGH): Likewise.
5917 (GRUB_PE32_REL_BASED_LOW): Likewise.
5918 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
5919 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
5920 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
5921 (GRUB_PE32_REL_BASED_SECTION): Likewise.
5922 (GRUB_PE32_REL_BASED_REL): Likewise.
5923 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
5924 (GRUB_PE32_REL_BASED_DIR64): Likewise.
5925 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
5926
5927 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
5928 issue.
5929
5930 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
5931 (efi_wrap_10): New function.
5932
5933 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
5934
5935 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
5936 MB/MBP model (NV chipset).
5937 (devdata_devs): Add devpath_5 to the list.
5938
5939 * load/i386/efi/linux.c (video_base): Remove variable.
5940 (RGB_MASK): New macro.
5941 (RGB_MAGIC): Likewise.
5942 (LINE_MIN): Likewise.
5943 (LINE_MAX): Likewise.
5944 (FBTEST_STEP): Likewise.
5945 (FBTEST_COUNT): Likewise.
5946 (fb_list): New variable.
5947 (grub_find_video_card): Remove function.
5948 (find_framebuf): New function.
5949 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
5950 line length.
5951
5952 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
5953 problem for x86_64.
5954
74b21bee 59552009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
5956
5957 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
5958
5959 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
5960 coding tool name.
5961
a455f472 59622009-02-22 Robert Millan <rmh@aybabtu.com>
5963
5964 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
5965 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
5966 in our relocation, instead of using it directly from heap. Also
5967 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
5968
6374daf3 59692009-02-21 Robert Millan <rmh@aybabtu.com>
5970
5971 Implement USB keyboard support (based on patch by Marco Gerards)
5972
5973 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
5974 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
5975 (usb_keyboard_mod_LDFLAGS): New variables.
5976
5977 * term/usb_keyboard.c: New file.
5978
8fa4ea70 59792009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 Corrected wrong declaration
5982
5983 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
5984
353976ac 59852009-02-14 Christian Franke <franke@computer.org>
5986
5987 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
5988 (grub_lspci_iter): Print class code and programming interface byte.
5989
6aa1169b 59902009-02-14 Christian Franke <franke@computer.org>
5991
5992 * gendistlist.sh: Ignore `.svn' directories.
5993
265372ca 59942009-02-14 Felix Zielcke <fzielcke@z-51.de>
5995
5996 * fs/fat.c: Add 2009 to Copyright line.
5997
9ff516f3 59982009-02-14 Christian Franke <franke@computer.org>
5999
6000 * commands/hdparm.c: New file. Provides `hdparm' command
6001 which sends ATA commands via grub_disk_ata_pass_through ().
6002
6003 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
6004
6005 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6006 and <grub/cpu/io.h> to include/grub/ata.h.
6007 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6008 (GRUB_CDROM_SECTOR_SIZE): Remove.
6009 (GRUB_ATA_*): Move to include/grub/ata.h.
6010 (GRUB_ATAPI_*): Likewise.
6011 (enum grub_ata_commands): Likewise.
6012 (enum grub_ata_timeout_milliseconds): Likewise.
6013 (struct grub_ata_device): Likewise.
6014 (grub_ata_regset): Likewise.
6015 (grub_ata_regget): Likewise.
6016 (grub_ata_regset2): Likewise.
6017 (grub_ata_regget2): Likewise.
6018 (grub_ata_check_ready): Likewise.
6019 (grub_ata_wait_not_busy): Remove static, exported in
6020 include/grub/ata.h.
6021 (grub_ata_wait_drq): Likewise.
6022 (grub_ata_pio_read): Likewise.
6023
6024 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6025 function for hdparm.mod.
6026
6027 * include/grub/ata.h: New file, contains declarations from
6028 disk/ata.c.
6029 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6030
6031 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6032 (grub_disk_ata_pass_through): New exported variable.
6033
6034 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6035
772e23da 60362009-02-13 Colin D Bennett <colin@gibibit.com>
6037
6038 Support multiple fallback entries, and provide an API to support
6039 executing default+fallback menu entries. Renamed the `terminal' menu
6040 viewer to `text'.
6041
6042 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6043 variable declaration.
6044 (grub_menu_execute_callback): New structure declaration.
6045 (grub_menu_execute_callback_t): New typedef.
6046 (grub_menu_execute_with_fallback): New function declaration.
6047 (grub_menu_get_entry): Likewise.
6048 (grub_menu_get_timeout): Likewise.
6049 (grub_menu_set_timeout): Likewise.
6050
6051 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6052
6053 * normal/menu.c (grub_wait_after_message): Moved to
6054 `normal/menu_text.c'.
6055 (draw_border): Likewise.
6056 (print_message): Likewise.
6057 (print_entry): Likewise.
6058 (print_entries): Likewise.
6059 (grub_menu_init_page): Likewise.
6060 (get_entry_number): Likewise.
6061 (print_timeout): Likewise.
6062 (run_menu): Likewise.
6063 (grub_menu_execute_entry): Likewise.
6064 (show_text_menu): Likewise.
6065 (get_and_remove_first_entry_number): New function.
6066 (grub_menu_execute_with_fallback): Likewise.
6067 (get_entry): Renamed to ...
6068 (grub_menu_get_entry): .. this and made it global.
6069 (get_timeout): Renamed to ...
6070 (grub_menu_get_timeout): ... this and made it global.
6071 (set_timeout): Renamed to ...
6072 (grub_menu_set_timeout): ... this and made it global.
6073 (grub_normal_terminal_menu_viewer): Renamed to ...
6074 (grub_normal_text_menu_viewer): ... this.
6075
6076 * normal/menu_text.c: New file. Extracted text-menu-specific code
6077 from normal/menu.c.
6078
6079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
6080 (normal_mod_SOURCES): Likewise.
6081
6082 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6083 (normal_mod_SOURCES): Likewise.
6084
6085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6086 (normal_mod_SOURCES): Likewise.
6087
6088 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
6089 (normal_mod_SOURCES): Likewise.
6090
6091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6092 (normal_mod_SOURCES): Likewise.
6093
6094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6095 (normal_mod_SOURCES): Likewise.
6096
6097 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6098 (normal_mod_SOURCES): Likewise.
6099
16ac430e 61002009-02-11 Robert Millan <rmh@aybabtu.com>
6101
6102 * util/grub.d/00_header.in: Update old reference to `font' command.
6103
06ff20fc 61042009-02-10 Felix Zielcke <fzielcke@z-51.de>
6105
6106 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
6107
6108 Based on patch from Javier Martín.
6109
96da9407 61102009-02-09 Felix Zielcke <fzielcke@z-51.de>
6111
6112 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 6113 to avoid false positives with FAT.
96da9407 6114 (grub_fstest_SOURCES): Likewise.
6115 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6116 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6120 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6121
6dca6fe4 61222009-02-09 Felix Zielcke <fzielcke@z-51.de>
6123
06ff20fc 6124 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 6125 bpb.version_specific.fat12_or_fat16.fstype and
6126 bpb.version_specific.fat32.fstype.
6127
2550c62f 61282009-02-08 Robert Millan <rmh@aybabtu.com>
6129
be110b30 6130 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 6131
56978920 61322009-02-08 Robert Millan <rmh@aybabtu.com>
6133
6134 * Makefile.in (host_os, host_cpu): New variables.
6135 (target_os): Remove. Update all users.
6136
d64399b5 61372009-02-08 Marco Gerards <marco@gnu.org>
6138
6139 * Makefile.in (enable_grub_emu_usb): New variable.
6140 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
6141 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
6142 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
6143 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
6144 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
6145 `usbtest.mod' and `usbms.mod'.
6146 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
6147 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
6148 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
6149 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
6150 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
6151 variables.
6152
6153 * disk/usbms.c: New file.
6154
6155 * include/grub/usb.h: Likewise.
6156
6157 * include/grub/usbtrans.h: Likewise.
6158
6159 * include/grub/usbdesc.h: Likewise.
6160
6161 * bus/usb/usbtrans.c: Likewise.
6162
6163 * bus/usb/ohci.c: Likewise.
6164
6165 * bus/usb/uhci.c: Likewise.
6166
6167 * bus/usb/usbhub.c: Likewise.
6168
6169 * bus/usb/usb.c: Likewise.
6170
6171 * commands/usbtest.c: Likewise.
6172
6173 * util/usb.c: Likewise.
50fb7002 6174
d64399b5 6175 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
6176
6177 * configure.ac: Test for libusb presence.
50fb7002 6178
d64399b5 6179 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
6180
2b40d6bb 61812009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
6182
6183 * kern/mm.c: Add more comments.
6184
73a4ce81 61852009-02-08 Robert Millan <rmh@aybabtu.com>
6186
6187 Patch from Javier Martín.
6188 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
6189 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
6190
f821ce59 61912009-02-08 Robert Millan <rmh@aybabtu.com>
6192
6193 * fs/cpio.c: Split tar functionality to ...
6194 * fs/tar.c: ... here (new file). Update all users.
6195
aebfc4b0 61962009-02-07 Robert Millan <rmh@aybabtu.com>
6197
6198 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
6199 backward-incompatible features.
6200
6201 Based on patch from Javier Martín, with some adjustments.
6202
50fb7002 62032009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 6204
6205 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
6206
0bb5115e 62072009-02-07 Robert Millan <rmh@aybabtu.com>
6208
6209 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
6210 position of `disk/lvm.c' to ensure grub_init_all() always picks it
6211 after the RAID stuff.
6212
38a0f8e7 62132009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
6214
50fb7002 6215 Fixes problem when running vbetest command as reported by
38a0f8e7 6216 Vladimir Serbinenko <phcoder@gmail.com>.
6217
6218 * (grub_vbe_set_video_mode): Fixed problem with text modes.
6219
3143cc1c 62202009-02-04 Felix Zielcke <fzielcke@z-51.de>
6221
6222 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
6223 /dev/md/NpN style mdraid devices.
6224
9cba6fce 62252009-02-03 Felix Zielcke <fzielcke@z-51.de>
6226
6227 * util/unifont2pff.rb: Remove.
6228
e507a2c1 62292009-02-03 Felix Zielcke <fzielcke@z-51.de>
6230
6231 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
6232 `#'.
6233
d2c2b4cd 62342009-02-03 Felix Zielcke <fzielcke@z-51.de>
6235
6236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
6237 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6238 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6241 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6243
b4315fb0 62442009-02-02 Christian Franke <franke@computer.org>
6245
6246 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
6247
de3aa260 62482009-02-01 Felix Zielcke <fzielcke@z-51.de>
6249
7c3ff286 6250 * INSTALL: Note that we now require at least autoconf 2.59 and
6251 that LZO is optional.
de3aa260 6252
825a182b 62532009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6254
6255 Base on patch on bug #24154 created by Tomas Tintera
6256 <trosos@seznam.cz>.
6257
6258 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
6259
a69ef770 62602009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6261
7c3ff286 6262 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 6263 <bero@arklinux.org>.
6264
6265 * normal/parser.y (script_init): Add missing semicolon.
6266
6fa42fa6 62672009-01-31 Colin D Bennett <colin@gibibit.com>
6268
7c3ff286 6269 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 6270 (free_menu_entry_classes): Added.
6271 (grub_normal_menu_addentry): Added class property handling.
6272 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
6273 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
6274
6275 * normal/menu_viewer.c: New file.
6276
6277 * normal/menu.c (run_menu_entry): Renamed to ...
6278 (grub_menu_execute_entry): ... this and made it as global.
6279 (grub_menu_run): Renamed to ...
6280 (show_text_menu): ... this and made it local.
6281 (show_text_menu): Adapt to new function names.
6282 (grub_normal_terminal_menu_viewer): New global variable.
6283
6284 * include/grub/menu.h: New file.
6285
6286 * include/grub/menu_viewer.h: New file.
6287
6288 * include/grub/normal.h: Added include to grub/menu.h.
6289 (grub_menu_entry): Moved to include/grub/menu.h.
6290 (grub_menu_entry_t): Likewise.
6291 (grub_menu): Likewise.
6292 (grub_menu_t): Likewise.
6293 (grub_normal_terminal_menu_viewer): Added.
6294 (grub_menu_execute_entry): Likewise.
6295 (grub_menu_run): Removed.
6296
6297 * DISTLIST: Added include/grub/menu.h.
6298 Added include/grub/menu_viewer.h.
6299 Added normal/menu_viewer.c.
6300
63012009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
6302
6303 * normal/execute.c (grub_script_execute_menuentry): Changed to use
6304 arglist for menutitle arguments.
6305
6306 * normal/main.c (grub_normal_menu_addentry): Likewise.
6307
6308 * normal/parser.y (menuentry): Likewise.
6309
6310 * normal/script.c (grub_script_create_cmdmenu): Likewise.
6311
6312 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
6313 (grub_script_create_cmdmenu): Likewise.
6314
6315 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
6316
6317 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
6318 changes.
6319
6320 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
6321
6322 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
6323
6324 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
6325
6326 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6327
6328 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6329
6330 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6331
56192c23 63322009-01-30 Christian Franke <franke@computer.org>
6333
6334 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
6335 in option help text.
6336
d72521b3 63372009-01-27 Pavel Roskin <proski@gnu.org>
6338
6339 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
6340
994b5e84 63412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6342
6343 * commands/lsmmap.c: Add include to grub/machine/memory.h.
6344
6345 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
6346
6347 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
6348 unregister function.
6349
6a7eab2c 63502009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6351
6352 * disk/scsi.c (grub_scsi_read): Fix sign problem.
6353
6354 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
6355
6356 * util/grub-mkfont.c (usage): Fix typo.
6357
6358 * util/elf/grub-mkimage.c (load_modules): Fix warning.
6359
1806b56e 63602009-01-26 Daniel Mierswa <impulze@impulze.org>
6361
3fb18f09 6362 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
6363
336e1fb9 6364 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
6365
1806b56e 6366 * kern/misc.c (grub_strcasecmp): New function.
6367 (grub_strcasecmp): Use grub_size_t instead of int for length.
6368 Fix return value.
6369 * include/grub/misc.h: Update function prototypes.
6370
580b2a0f 63712009-01-26 Robert Millan <rmh@aybabtu.com>
6372
6373 * configure.ac: Fix cross-compilation check.
ef257b36 6374
d31c24f1 63752009-01-22 Christian Franke <franke@computer.org>
6376
6377 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
6378 (precision) digit string. Allow `.format2' without `format1' (width).
6379 Limit input chars for `%s' output to `format2' if specified. This is
6380 compatible with standard printf ().
6381
3138b44c 63822009-01-22 Christian Franke <franke@computer.org>
6383
6384 * disk/ata.c (grub_ata_wait_status): Replace by ...
6385 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
6386 other status bits may be invalid while BSY is asserted.
6387 (grub_ata_check_ready): New function.
6388 (grub_ata_cmd): Removed.
6389 (grub_ata_wait_drq): New function.
6390 (grub_ata_strncpy): Remove inline.
6391 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
6392 and error check now done by grub_ata_wait_drq ().
6393 (grub_ata_pio_write): Likewise.
6394 (grub_atapi_identify): Set DEV before check for !BSY. Use
6395 grub_ata_wait_drq () to wait for data.
6396 (grub_ata_device_initialize): Add status register check to
6397 detect missing SATA slave devices. Add debug messages.
6398 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
6399 (grub_atapi_packet): Set DEV before check for !BSY. Replace
6400 transfer loop by grub_ata_pio_write ().
6401 (grub_ata_identify): Set DEV before check for !BSY. Use
6402 grub_ata_wait_drq () to wait for data.
ef257b36 6403 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 6404 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
6405 read/write in one loop. Fix invalid command on write. Fix incomplete
6406 command on (size % batch) == 0. Add missing error check after write of
6407 last block. Add debug messages.
6408 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
6409
59a64ef6 64102009-01-19 Christian Franke <franke@computer.org>
6411
6412 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
6413 (GRUB_ATAPI_IREASON_*): Likewise.
6414 (grub_ata_pio_write): Fix timeout error return.
6415 (grub_atapi_identify): Add grub_ata_wait () after cmd.
6416 (grub_atapi_wait_drq): New function.
6417 (grub_atapi_packet): New parameter `size'.
6418 Use grub_atapi_wait_drq () and direct write instead of
6419 grub_ata_pio_write ().
6420 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
6421 reads the number of bytes requested by the device for each DRQ
6422 assertion.
6423 (grub_atapi_write): Remove old implementation, return not
6424 implemented instead.
6425
1cfe20b3 64262009-01-19 Christian Franke <franke@computer.org>
6427
6428 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
6429 of 512 to calculate data size.
6430 (grub_scsi_read12): Likewise.
6431 (grub_scsi_write10): Likewise.
6432 (grub_scsi_write12): Likewise.
6433 (grub_scsi_read): Adjust size according to blocksize.
6434 Add checks for invalid blocksize and unaligned transfer.
6435
bee5fe5d 64362009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
6437
6438 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
6439
ef257b36 6440 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 6441 width glyphs.
6442
3e643f8c 64432009-01-19 Robert Millan <rmh@aybabtu.com>
6444
6445 * config.guess: Update to latest version from config git.
6446 * config.sub: Likewise.
6447
4fa80998 64482009-01-17 Felix Zielcke <fzielcke@z-51.de>
6449
6450 * Makefile.in: Change font compilation to use new grub-mkfont instead
6451 of java version.
6452
6453 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
6454 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
6455 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6456 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6457 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
6458 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
6459 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
6460 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
6461 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6462
7086085b 64632009-01-16 Christian Franke <franke@computer.org>
6464
6465 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
6466 (enum grub_ata_timeout_milliseconds): New enum.
6467 (grub_ata_wait_status): Add parameter milliseconds.
6468 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
6469 recovery from timed-out commands.
6470 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
6471 return grub_errno instead of REG_ERROR.
6472 (grub_ata_pio_write): Add parameter milliseconds.
6473 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
6474 Pass milliseconds to grub_ata_wait_status () and
6475 grub_ata_pio_read ().
6476 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
6477 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
6478 grub_ata_wait_status (). Fix IDENTIFY timeout check.
6479 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
6480 It is not suitable for device detection, because DEV bit is ignored,
6481 the command may run too long, and not all devices set the signature
6482 properly.
6483 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
6484 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
6485 Fix device selection, DEV bit must be set first to address the registers
6486 of the correct device.
6487 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
6488 grub_ata_pio_read/write ().
6489 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
6490 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
6491
4a412913 64922009-01-13 Carles Pina i Estany <carles@pina.cat>
6493
6494 * util/grub-editenv.c (main): Use fseeko(), not fseek().
6495
7795c55e 64962009-01-13 Bean <bean123ch@gmail.com>
d913988c 6497
6498 * util/grub-mkfont.c (write_font): forget to remove some debug code.
6499
7795c55e 65002009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 6501
6502 * Makefile.in: (enable_grub_mkfont): New variable.
6503 (freetype_cflags): Likewise.
6504 (freetype_libs): Likewise.
6505
6506 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
6507 (grub_mkfont_SOURCES): New variable.
6508 (grub_mkfont_CFLAGS): Likewise.
6509 (grub_mkfont_LDFLAGS): Likewise.
6510
6511 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
6512 library if `--enable-grub-mkfont' is requested.
6513 (enable_grub_mkfont): New variable.
6514 (freetype_cflags): Likewise.
6515 (freetype_libs): Likewise.
6516
6517 * util/grub-mkfont.c: New file.
6518
093af1fe 65192009-01-12 Christian Franke <franke@computer.org>
6520
6521 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
6522 mode check. Fix setting of compat_use[].
6523
f36cc108 65242009-01-10 Robert Millan <rmh@aybabtu.com>
6525
6526 Update a few copyright years which we forgot to do in 2008 (only for
6527 files whose changes made in 2008 were copyright-significant)
6528
6529 * Makefile.in: Add 2008 to Copyright line.
6530 * disk/ieee1275/ofdisk.c: Likewise.
6531 * disk/efi/efidisk.c: Likewise.
6532 * kern/dl.c: Likewise.
6533 * kern/sparc64/ieee1275/init.c: Likewise.
6534 * kern/mm.c: Likewise.
6535 * kern/efi/mm.c: Likewise.
6536 * boot/i386/pc/boot.S: Likewise.
6537 * genfslist.sh: Likewise.
6538 * fs/iso9660.c: Likewise.
6539 * fs/hfs.c: Likewise.
6540 * fs/jfs.c: Likewise.
6541 * fs/minix.c: Likewise.
6542 * fs/ufs.c: Likewise.
6543 * gensymlist.sh.in: Likewise.
6544 * genkernsyms.sh.in: Likewise.
6545 * include/grub/misc.h: Likewise.
6546 * include/grub/types.h: Likewise.
6547 * include/grub/symbol.h: Likewise.
6548 * include/grub/elf.h: Likewise.
6549 * include/grub/kernel.h: Likewise.
6550 * include/grub/disk.h: Likewise.
6551 * include/grub/dl.h: Likewise.
6552 * include/grub/i386/linux.h: Likewise.
6553 * include/grub/i386/pc/biosdisk.h: Likewise.
6554 * include/grub/efi/api.h: Likewise.
6555 * include/grub/efi/pe32.h: Likewise.
6556 * include/grub/util/misc.h: Likewise.
6557 * normal/execute.c: Likewise.
6558 * normal/arg.c: Likewise.
6559 * normal/completion.c: Likewise.
6560 * normal/lexer.c: Likewise.
6561 * normal/parser.y: Likewise.
6562 * normal/misc.c: Likewise.
6563 * commands/i386/pc/vbeinfo.c: Likewise.
6564 * commands/hexdump.c: Likewise.
6565 * commands/terminal.c: Likewise.
6566 * commands/ls.c: Likewise.
6567 * commands/help.c: Likewise.
6568 * partmap/pc.c: Likewise.
6569 * loader/efi/chainloader.c: Likewise.
6570 * loader/multiboot_loader.c: Likewise.
6571 * loader/i386/pc/multiboot2.c: Likewise.
6572 * term/efi/console.c: Likewise.
6573 * term/i386/pc/serial.c: Likewise.
6574 * util/lvm.c: Likewise.
6575 * util/console.c: Likewise.
6576 * util/i386/efi/grub-mkimage.c: Likewise.
6577 * util/raid.c: Likewise.
6578
7f02114b 65792009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
6580
6581 * commands/videotest.c: Removed include to grub/machine/memory.h.
6582
6583 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
6584 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
6585 (video_mod_SOURCES): Removed.
6586 (video_mod_CFLAGS): Likewise.
6587 (video_mod_LDFLAGS): Likewise.
6588 (gfxterm_mod_SOURCES): Likewise.
6589 (gfxterm_mod_CFLAGS): Likewise.
6590 (gfxterm_mod_LDFLAGS): Likewise.
6591 (videotest_mod_SOURCES): Likewise.
6592 (videotest_mod_CFLAGS): Likewise.
6593 (videotest_mod_LDFLAGS): Likewise.
6594 (bitmap_mod_SOURCES): Likewise.
6595 (bitmap_mod_CFLAGS): Likewise.
6596 (bitmap_mod_LDFLAGS): Likewise.
6597 (tga_mod_SOURCES): Likewise.
6598 (tga_mod_CFLAGS): Likewise.
6599 (tga_mod_LDFLAGS): Likewise.
6600 (jpeg_mod_SOURCES): Likewise.
6601 (jpeg_mod_CFLAGS): Likewise.
6602 (jpeg_mod_LDFLAGS): Likewise.
6603 (png_mod_SOURCES): Likewise.
6604 (png_mod_CFLAGS): Likewise.
6605 (png_mod_LDFLAGS): Likewise.
6606
6607 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
6608 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
6609 (video_mod_SOURCES): Added.
6610 (video_mod_CFLAGS): Likewise.
6611 (video_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 (gfxterm_mod_SOURCES): Likewise.
6628 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 6629 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 6630
6631 * term/gfxterm.c: Removed include to grub/machine/memory.h,
6632 grub/machine/console.h.
6633
644fff97 66342009-01-04 Jerone Young <jerone@gmail.com>
6635
6636 Make on screen instructions clearer
6637
6638 Based on patch created by Jidanni <jidanni@jidanni.org>
6639
6640 * normal/menu.c: print clearer instructions on the screen
6641
1e901a75 66422009-01-02 Colin D Bennett <colin@gibibit.com>
6643
6644 New font engine.
34c44600 6645
1e901a75 6646 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
6647 build system and fixed gfxterm.c to work with different sized fonts.
6648
6649 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 6650
1e901a75 6651 * configure: Re-generated.
34c44600 6652
1e901a75 6653 * DISTLIST: Removed font/manager.c.
6654 Added font/font.c.
6655 Added font/font_cmd.c.
34c44600 6656
1e901a75 6657 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
6658 compilation.
34c44600 6659
1e901a75 6660 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 6661
6662 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 6663
6664 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 6665
1e901a75 6666 * normal/menu.c: Likewise.
34c44600 6667
1e901a75 6668 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
6669 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 6670
1e901a75 6671 * include/grub/font.h: Replaced with new file.
34c44600 6672
1e901a75 6673 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
6674 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
6675 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
6676 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
6677 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 6678 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 6679 fg_red, fg_green, fg_blue, fg_alpha.
6680 (grub_video_adapter): Removed blit_glyph.
34c44600 6681 (grub_video_blit_glyph): Removed.
6682
1e901a75 6683 * font/manager.c: Removed file.
34c44600 6684
6685 * font/font.c: New file.
6686
1e901a75 6687 * font/font_cmd.c: Likewise.
34c44600 6688
1e901a75 6689 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 6690
1e901a75 6691 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
6692 (grub_video_vbe_map_rgba): Likewise.
6693 (grub_video_vbe_unmap_color_int): Likewise.
6694 (grub_video_vbe_blit_glyph): Removed.
6695 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 6696
1e901a75 6697 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
6698 (get_pixel): Likewise.
34c44600 6699 (set_pixel): Likewise.
6700
1e901a75 6701 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 6702
1e901a75 6703 * term/gfxterm.c: Adapted to new font engine.
34c44600 6704
1e901a75 6705 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 6706
1e901a75 6707 * term/i386/pc/vga.c: Likewise.
34c44600 6708
1e901a75 6709 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 6710
1e901a75 6711 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 6712
1e901a75 6713 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6714
1e901a75 6715 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6716
1e901a75 6717 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 6718
1e901a75 6719 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 6720
1e901a75 6721 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 6722
1e901a75 6723 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 6724
1e901a75 6725 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6726
6727 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 6728
1e901a75 6729 * util/grub-mkconfig_lib.in: Changed font extension.
6730
278922e8 67312008-12-28 Felix Zielcke <fzielcke@z-51.de>
6732
6733 * util/getroot.c (grub_util_get_grub_dev): Add support for
6734 /dev/md/dNNpNN style partitionable mdraid devices.
6735
3ced05cf 67362008-12-12 Alex Smith <alex@alex-smith.me.uk>
6737
6738 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
6739 at a time limit of the PXE TFTP API correctly.
6740 (grub_pxefs_close): Likewise.
6741
7fd0ee30 67422008-11-29 Robert Millan <rmh@aybabtu.com>
6743
34c44600 6744 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 6745 grub_ata_device_initialize() calls.
6746
34c44600 67472008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 6748
6749 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
6750 iteration failed.
6751 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
6752
89313780 67532008-11-28 Robert Millan <rmh@aybabtu.com>
6754
6755 Fix build on powerpc-ieee1275. Based on patch created by
6756 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
6757 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
6758 `kern/ieee1275/mmap.c'.
6759 * include/grub/powerpc/ieee1275/memory.h: New file.
6760
15257703 6761 Provide grub-install on coreboot.
6762 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
6763 (grub_install_SOURCES): New variable.
6764 * util/i386/pc/grub-install.in: Add a few condition checks to make it
6765 usable on coreboot.
6766
9fc5388a 67672008-11-25 Felix Zielcke <fzielcke@z-51.de>
6768
6769 * util/grub-fstest.c (grub_term_get_current_input): Change return type
6770 to `grub_term_input_t'.
6771 (grub_term_get_current_output): Change return type to
6772 `grub_term_output_t'.
6773
bc3a2f31 67742008-11-22 Robert Millan <rmh@aybabtu.com>
6775
34c44600 6776 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 6777 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
6778 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
6779 grub_vga_text_cls().
6780
80fc88f2 6781 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 6782 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 6783
cbf36fd3 6784 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
6785 to 0x200000 (avoids trouble with some OFW implementations, and matches
6786 with the one in Yaboot).
6787 Reported by Manoel Abranches
6788
73e8e268 67892008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 6790
6791 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
6792 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
6793
73e8e268 6794 * util/grub-mkconfig_lib.in (grub_warn): New function.
6795 (convert_system_path_to_grub_path): Use grub_warn() when issuing
6796 warnings, to obtain consistent formatting.
6797 * util/grub.d/00_header.in: Likewise.
6798 * util/update-grub_lib.in: Likewise.
6799
e94045a1 6800 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 6801 Move comment text to `#error' stanza.
e94045a1 6802
79d29fd7 6803 Harmonize ieee1275's grub_available_iterate() with the generic
6804 grub_machine_mmap_iterate() interface (fixes a recently-introduced
6805 build problem on i386-ieee1275):
6806 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
6807 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
6808 parameter `type'. Update all users of this function.
6809 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
6810 `kern/ieee1275/mmap.c'.
6811 * kern/ieee1275/init.c
6812 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
6813 with ...
6814 (grub_machine_mmap_iterate): ... this.
6815 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
6816 return type to `grub_err_t'. Update all implementations of this
6817 function prototype.
6818 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
6819 Likewise.
6820
60d6b16e 6821 Add `lsmmap' command (lists firmware-provided memory map):
6822 * commands/lsmmap.c: New file.
6823 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
6824 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
6825 variables.
6826 * conf/powerpc-ieee1275.rmk: Likewise.
6827 * conf/i386-coreboot.rmk: Likewise.
6828 * conf/i386-ieee1275.rmk: Likewise.
6829
ebaaf49b 68302008-11-19 Robert Millan <rmh@aybabtu.com>
6831
6832 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 6833 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
6834 constraints to initrd allocation (based on code from
6835 loader/i386/pc/linux.c). Without them, initrd was allocated too high
6836 for Linux to find it.
ebaaf49b 6837
dfab719f 68382008-11-14 Robert Millan <rmh@aybabtu.com>
6839
6840 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
6841 order to cope with duplicate slashes.
6842
10fc3eb9 68432008-11-14 Robert Millan <rmh@aybabtu.com>
6844
6845 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
6846 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
6847 don't want to mess with lower memory, because it is used in the Linux
6848 loader.
6849
6850 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 6851 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 6852 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
6853 is in our heap (probably as a result of it being corrupted during
2f2a3442 6854 decompression). Add #error instance with comment to explain why this
6855 loader isn't currently usable on PC/BIOS.
10fc3eb9 6856
e2e07847 68572008-11-14 Robert Millan <rmh@aybabtu.com>
6858
6859 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 6860 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 6861
fe8e8d69 68622008-11-12 Robert Millan <rmh@aybabtu.com>
6863
6864 Make loader/i386/linux.c buildable on i386-pc (although disabled).
6865
6866 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
6867 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
6868 from here ...
6869 * include/grub/i386/pc/memory.h: ... to here.
6870
976b07d0 68712008-11-12 Robert Millan <rmh@aybabtu.com>
6872
6873 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
6874 split).
6875
6876 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
6877 (grub_console_cur_color, grub_console_real_putchar)
6878 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6879 (grub_console_setcolorstate, grub_console_setcolor)
6880 (grub_console_getcolor): Move from here ...
6881 * include/grub/i386/vga_common.h: ... to here (new file).
6882
6883 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
6884 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
6885 `<grub/i386/io.h>'.
6886 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
6887 `<grub/i386/vga_common.h>'.
6888
76679cd3 68892008-11-12 Robert Millan <rmh@aybabtu.com>
6890
6891 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
6892 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
6893 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
6894 variables.
6895 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6896 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
6897
6898 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
6899 grub_console_init() with call to grub_vga_text_init().
6900 (grub_machine_fini): Replace call to
6901 grub_console_fini() with call to grub_vga_text_fini() and
6902 grub_at_keyboard_fini().
6903
6904 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
6905 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6906 (grub_console_setcolorstate, grub_console_setcolor)
6907 (grub_console_getcolor): New function prototypes.
6908
6909 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
6910 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
6911 (grub_vga_text_setcursor): Static-ize.
6912 (grub_vga_text_term): New structure.
6913 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
6914
6915 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
6916 (grub_console_cur_color, grub_console_standard_color)
6917 (grub_console_normal_color, grub_console_highlight_color)
6918 (map_char, grub_console_putchar, grub_console_getcharwidth)
6919 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
6920 (grub_console_getcolor): Move from here ...
6921 * term/i386/vga_common.c: ... to here (same function names).
6922
95b841d3 69232008-11-12 Robert Millan <rmh@aybabtu.com>
6924
6925 Use newly-added Multiboot support in coreboot.
6926
6927 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6928 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
6929
6930 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
6931 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
6932 (codestart): Store the MBI in `startup_multiboot_info' when we're
6933 being loaded using Multiboot.
6934
6935 * kern/i386/coreboot/init.c (grub_machine_init): Move
6936 grub_at_keyboard_init() call to beginning of function (useful for
6937 debugging). Call grub_machine_mmap_init() before attempting to use
6938 grub_machine_mmap_iterate().
6939 (grub_lower_mem, grub_upper_mem): Move from here ...
6940 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
6941 here (new file).
6942
6943 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
6944 function prototype.
6945
761ca975 69462008-11-12 Robert Millan <rmh@aybabtu.com>
6947
6948 Fix a regression introduced by the at_keyboard.mod split. Because
6949 some terminals are default on some platforms and non-default on
6950 others, the first terminal being registered determines which is
6951 going to be default.
6952
6953 * kern/term.c (grub_term_register_input): If this is the first
6954 terminal being registered, set it as the current one.
6955 (grub_term_register_output): Likewise.
6956
6957 * term/efi/console.c (grub_console_init): Do not call
6958 grub_term_set_current_output() or grub_term_set_current_input().
6959 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
6960 * term/i386/pc/console.c (grub_console_init): Likewise.
6961 (grub_console_fini): Do not call grub_term_set_current_input()
6962 (but leave grub_term_set_current_output() to restore text mode).
6963
6c529df7 69642008-11-10 Robert Millan <rmh@aybabtu.com>
6965
6966 * util/grub.d/00_header.in: Add backward compatibility check for
6967 versions of terminal.mod that don't understand `terminal_input' or
6968 `terminal_output'.
6969
132e4113 69702008-11-09 Robert Millan <rmh@aybabtu.com>
6971
6972 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
6973 `terminal_input' / `terminal_output', not `terminal'.
6974
ac293d50 69752008-11-08 Robert Millan <rmh@aybabtu.com>
6976
6977 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 6978 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 6979
0025933a 69802008-11-08 Robert Millan <rmh@aybabtu.com>
6981
6982 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 6983 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 6984 members. Update all users.
6985 * util/console.c (grub_ncurses_term): Split in ...
6986 (grub_ncurses_term_input): ... this, and ...
6987 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 6988 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 6989
37c86336 69902008-11-08 Robert Millan <rmh@aybabtu.com>
6991
6992 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
6993 (PKGDATA): Add $(pkgdata_SRCDIR).
6994 (pkglib_BUILDDIR): New variable.
6995 (pkgdata_SRCDIR): New variable.
6996 (build_env.mk): New target.
6997 (include_DATA): New variable.
6998 (install-local): Install $(include_DATA) files in $(includedir).
6999
b6c15a2d 70002008-11-07 Pavel Roskin <proski@gnu.org>
7001
d99d46f1 7002 * gendistlist.sh: Use C locale for sorting to ensure consistent
7003 output on all systems.
7004
b6c15a2d 7005 * util/grub.d/00_header.in: Remove incorrect space before
7006 "serial".
7007
c32ee8c9 70082008-11-07 Robert Millan <rmh@aybabtu.com>
7009
7010 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7011 per specification.
7012 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7013 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7014 (based on find_multi_boot1_header).
7015 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7016 using find_multi_boot2_header(), and abort if neither Multiboot or
7017 Multiboot headers were found.
7018
651c29b7 70192008-11-07 Robert Millan <rmh@aybabtu.com>
7020
7021 Modularize at_keyboard.mod:
7022
7023 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7024 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7025 (at_keyboard_mod_LDFLAGS): New variables.
7026
7027 Actual terminal split:
7028
7029 * include/grub/term.h (struct grub_term): Split in ...
7030 (struct grub_term_input): ... this, and ...
7031 (struct grub_term_output): ... this. Update all users.
7032 (grub_term_set_current): Split in ...
7033 (grub_term_set_current_input): ... this, and ...
7034 (grub_term_set_current_output): ... this.
7035 (grub_term_get_current): Split in ...
7036 (grub_term_get_current_input): ... this, and ...
7037 (grub_term_get_current_output): ... this.
7038 (grub_term_register): Split in ...
7039 (grub_term_register_input): ... this, and ...
7040 (grub_term_register_output): ... this.
7041 (grub_term_unregister): Split in ...
7042 (grub_term_unregister_input): ... this, and ...
7043 (grub_term_unregister_output): ... this.
7044 (grub_term_iterate): Split in ...
7045 (grub_term_iterate_input): ... this, and ...
7046 (grub_term_iterate_output): ... this.
7047
7048 * kern/term.c (grub_term_list): Split in ...
7049 (grub_term_list_input): ... this, and ...
7050 (grub_term_list_output): ... this. Update all users.
7051 (grub_cur_term): Split in ...
7052 (grub_cur_term_input): ... this, and ...
7053 (grub_cur_term_output): ... this. Update all users.
7054 (grub_term_set_current): Split in ...
7055 (grub_term_set_current_input): ... this, and ...
7056 (grub_term_set_current_output): ... this.
7057 (grub_term_get_current): Split in ...
7058 (grub_term_get_current_input): ... this, and ...
7059 (grub_term_get_current_output): ... this.
7060 (grub_term_register): Split in ...
7061 (grub_term_register_input): ... this, and ...
7062 (grub_term_register_output): ... this.
7063 (grub_term_unregister): Split in ...
7064 (grub_term_unregister_input): ... this, and ...
7065 (grub_term_unregister_output): ... this.
7066 (grub_term_iterate): Split in ...
7067 (grub_term_iterate_input): ... this, and ...
7068 (grub_term_iterate_output): ... this.
7069
7070 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7071 a check for input and one for output (and only attempt to get keys
7072 from user when input works).
7073
7074 * util/grub-probe.c (grub_term_get_current): Split in ...
7075 (grub_term_get_current_input): ... this, and ...
7076 (grub_term_get_current_output): ... this.
7077 * util/grub-fstest.c: Likewise.
7078 * util/i386/pc/grub-setup.c: Likewise.
7079 * util/grub-editenv.c: Likewise.
7080
7081 Portability adjustments:
7082
7083 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
7084 `term/i386/pc/at_keyboard.c'.
7085 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
7086 grub_keyboard_controller_init() (now handled by terminal .init).
7087 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
7088 grub_at_keyboard_init().
7089 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
7090 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
7091 at_keyboard.mod via input terminal interface).
7092 * include/grub/i386/coreboot/console.h: Convert into a stub for
7093 `<grub/i386/pc/console.h>'.
7094
7095 Migrate full terminals to new API:
7096
7097 * term/efi/console.c (grub_console_term): Split into ...
7098 (grub_console_term_input): ... this, and ...
7099 (grub_console_term_output): ... this. Update all users.
7100 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
7101 (grub_ofconsole_init): Split into ...
7102 (grub_ofconsole_init_input): ... this, and ...
7103 (grub_ofconsole_init_output): ... this.
7104 (grub_ofconsole_term): Split into ...
7105 (grub_ofconsole_term_input): ... this, and ...
7106 (grub_ofconsole_term_output): ... this. Update all users.
7107 * term/i386/pc/serial.c (grub_serial_term): Split into ...
7108 (grub_serial_term_input): ... this, and ...
7109 (grub_serial_term_output): ... this. Update all users.
7110 * term/i386/pc/console.c (grub_console_term): Split into ...
7111 (grub_console_term_input): ... this, and ...
7112 (grub_console_term_output): ... this. Update all users.
7113 (grub_console_term_input): Only enable it on PC/BIOS platform.
7114 (grub_console_init): Remove grub_keyboard_controller_init() call.
7115
7116 Migrate input terminals to new API:
7117
7118 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
7119 `i386' and `i386/pc' to enable build on x86_64 (this driver is
7120 i386-specific anyway).
7121 (grub_console_checkkey): Rename to ...
7122 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
7123 users.
7124 (grub_keyboard_controller_orig): New variable.
7125 (grub_console_getkey): Rename to ...
7126 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
7127 users.
7128 (grub_keyboard_controller_init): Static-ize. Save original
7129 controller value so that it can be restored ...
7130 (grub_keyboard_controller_fini): ... here (new function).
7131 (grub_at_keyboard_term): New structure.
7132 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
7133 functions.
7134
7135 Migrate output terminals to new API:
7136
7137 * term/i386/pc/vga.c (grub_vga_term): Change type to
7138 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7139 members. Update all users.
7140 * term/gfxterm.c (grub_video_term): Change type to
7141 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7142 members. Update all users.
7143 * include/grub/i386/pc/console.h (grub_console_checkkey)
7144 (grub_console_getkey): Do not export (no longer needed by gfxterm,
7145 etc).
7146
7147 Migrate `terminal' command and userland tools to new API:
7148
7149 * commands/terminal.c (grub_cmd_terminal): Split into ...
7150 (grub_cmd_terminal_input): ... this, and ...
7151 (grub_cmd_terminal_output): ... this.
7152 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
7153 `terminal_input' and `terminal_output'.
7154 * util/grub.d/00_header.in: Adjust `terminal' calls to new
7155 `terminal_input' / `terminal_output' API.
7156 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
7157 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
7158 provided ${GRUB_TERMINAL}, convert it).
7159
96e5d876 71602008-11-04 Robert Millan <rmh@aybabtu.com>
7161
7162 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
7163 for FreeBSD.
7164 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
7165
556f3775 71662008-11-03 Bean <bean123ch@gmail.com>
7167
7168 * kern/elf.c (grub_elf32_load): Revert to previous code.
7169 (grub_elf64_load): Likewise.
7170
7171 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
7172
926b9823 71732008-11-01 Robert Millan <rmh@aybabtu.com>
7174
7175 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
7176 (TARGET_CPPFLAGS): Likewise.
7177 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
7178
1432e958 71792008-11-01 Carles Pina i Estany <carles@pina.cat>
7180
7181 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
7182
dba3f844 71832008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 7184
7185 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
7186 addition of objects until the code is not going to be able to fail.
7187
dba3f844 71882008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 7189
7190 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
7191 (add a missing NULL check, and correct them by moving the pointer
7192 operations after the actual check).
7193
7ab28c21 71942008-10-29 Robert Millan <rmh@aybabtu.com>
7195
7196 * util/i386/pc/grub-install.in: Handle empty string as output from
7197 make_system_path_relative_to_its_root().
7198
1b7748eb 71992008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
7200
7201 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
7202 circular metadata worst case scenario. If the metadata is circular
7203 then copy the wrap in place.
7204 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
7205 project lib/format_text/layout.h
7206 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
7207
c9618ab2 72082008-10-03 Felix Zielcke <fzielcke@z-51.de>
7209
7a36edca 7210 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 7211
bf981c62 72122008-10-03 Felix Zielcke <fzielcke@z-51.de>
7213
7214 * util/update-grub_lib.in: Mention filename in warning message.
7215
6d994591 72162008-09-29 Felix Zielcke <fzielcke@z-51.de>
7217
7218 * NEWS: Update for rename of update-grub to grub-mkconfig.
7219
18ade780 72202008-09-29 Felix Zielcke <fzielcke@z-51.de>
7221
7222 * util/update-grub_lib.in: Copy to ...
7223 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 7224 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 7225 * util/update-grub.in: Rename to ...
7226 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
7227 option. Add `--output' option to allow users to specify the generated
7228 configuration file. Default to stdout.
7229 (update_grub_dir): Rename to ...
7230 (grub_mkconfig_dir): ... this.
7231 (grub_cfg): Default to an empty string.
7232 * conf/common.rmk (update-grub): Rename to ...
7233 (grub-mkconfig): ... this.
7234 (update-grub_lib): Copy to ...
7235 (grub-mkconfig_lib): ... this.
7236 (update-grub_SCRIPTS): Copy to ...
7237 (grub-mkconfig_SCRIPTS): ... this. Update all users.
7238 (update-grub_DATA): Rename to ...
7239 (grub-mkconfig_DATA): ... this.
7240
556ce6ac 72412008-09-28 Robert Millan <rmh@aybabtu.com>
7242
7243 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
7244 to `modified'. Add the real `created' field.
7245 (grub_iso9660_uuid): Use `modified' rather than `created' for
7246 constructing the UUID.
7247
72482008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 7249
7250 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
7251 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
7252
92274e85 72532008-09-28 Bean <bean123ch@gmail.com>
7254
7255 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
7256 Thanks to Christian Franke for finding this bug.
7257
add6f17a 72582008-09-25 Robert Millan <rmh@aybabtu.com>
7259
7260 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
7261 instances of grub_util_get_disk_name() (see previous commit).
7262
d2a367b8 72632008-09-25 Robert Millan <rmh@aybabtu.com>
7264
7265 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
7266 `util/i386/get_disk_name.c'.
7267 * conf/i386-efi.rmk: Likewise.
7268 * conf/x86_64-efi.rmk: Likewise.
7269 * conf/i386-coreboot.rmk: Likewise.
7270 * conf/i386-ieee1275.rmk: Likewise.
7271 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
7272 `util/ieee1275/get_disk_name.c'.
7273 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
7274 * util/ieee1275/get_disk_name.c: Remove file.
7275 * util/i386/get_disk_name.c: Remove file.
7276 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
7277 "hd%d" for device.map entries, rather than using
7278 grub_util_get_disk_name().
7279
81a06771 72802008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 7281
7282 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
7283 warning.
7284 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
7285
5a004279 72862008-09-24 Carles Pina i Estany <carles@pina.cat>
7287
7288 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
7289 Changed to 0x5100.
7290 (GRUB_TERM_PPAGE): Changed to 0x4900.
7291
397093d3 72922008-09-24 Robert Millan <rmh@aybabtu.com>
7293
7294 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
7295 macros (they were i386-pc specific).
7296 * include/grub/sparc64/ieee1275/console.h: Likewise.
7297 * include/grub/efi/console.h: Likewise.
7298
a91b6c7c 72992008-09-22 Bean <bean123ch@gmail.com>
7300
7301 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
7302 resident and in attribute list.
7303
7304 * include/grub/ntfs.h (BMP_LEN): Removed.
7305
c40fd116 73062008-09-22 Bean <bean123ch@gmail.com>
7307
81a06771 7308 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 7309 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
7310
7311 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
7312 error occurs, as grub_disk_open will call grub_disk_close, which will
7313 call p->close (scsi).
7314
81a06771 73152008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 7316
7317 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
7318 (AC_PREREQ): Bumped to 2.59.
7319 (AC_TRY_COMPILE): Replace obsolete macro with ...
7320 (AC_COMPILE_IFELSE): ... this.
7321 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
7322 (AC_LINK_IFELSE): ... this.
7323
5dc43410 73242008-09-21 Felix Zielcke <fzielcke@z-51.de>
7325
7326 * autogen.sh: Add a call to `gendistlist.sh'.
7327
9035dce4 73282008-09-19 Christian Franke <franke@computer.org>
7329
7330 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
7331 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
7332 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
7333 Export __enable_execute_stack() to modules.
7334 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
7335 New function.
7336
7fd75377 73372008-09-09 Felix Zielcke <fzielcke@z-51.de>
7338
040030b3 7339 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
7340 Sort the list.
7341
73422008-09-09 Felix Zielcke <fzielcke@z-51.de>
7343
7344 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 7345 #include <grub/util/hostdisk.h>.
7346
89d5ffcf 73472008-09-08 Robert Millan <rmh@aybabtu.com>
7348
7349 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
7350 segments when their filesz is zero (grub_file_read() interprets
81a06771 7351 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 7352 Use `lowest_segment' rather than 0 for calculating the current
7353 segment load address.
7354
40da438f 73552008-09-08 Robert Millan <rmh@aybabtu.com>
7356
7357 * util/hostdisk.c (open_device): Replace a grub_util_info() call
7358 with grub_dprintf("hostdisk", ...), as it was so verbose that it
7359 clobbered useful information.
7360
ddbf5556 73612008-09-08 Robert Millan <rmh@aybabtu.com>
7362
7363 * include/grub/util/biosdisk.h: Move to ...
7364 * include/grub/util/hostdisk.h: ... here. Update all users.
7365 * util/biosdisk.c: Move to ...
7366 * util/hostdisk.c: ... here. Update all users.
7367
783d0f48 73682008-09-07 Robert Millan <rmh@aybabtu.com>
7369
7370 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
7371 variables.
7372 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
7373 and length can be stored directly in the `mbi->mmap_addr' and
7374 `mbi->mmap_length' struct fields.
7375
548e2ea5 73762008-09-07 Robert Millan <rmh@aybabtu.com>
7377
7378 * conf/i386.rmk: New file. Provides declaration for building
7379 `cpuid.mod'.
7380 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
7381 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
7382 variables.
7383 Include `conf/i386.mk'.
7384 * conf/i386-efi.rmk: Likewise.
7385 * conf/x86_64-efi.rmk: Likewise.
7386 * conf/i386-coreboot.rmk: Likewise.
7387 * conf/i386-ieee1275.rmk: Likewise.
7388
0ea85a37 73892008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
7390
7391 Based on patch created by Colin D Bennett <colin@gibibit.com>.
7392 Adds optimization support for BGR based modes.
7393
7394 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
7395 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7396 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7397 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7398 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7399 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7400 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7401 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7402 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7403 (grub_video_i386_vbeblit_index_index): Likewise.
7404 (grub_video_i386_vbeblit_replace_directN): Added.
7405 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7406 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7407 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7408 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7409 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7410 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 7411 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 7412 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7413 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7414 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7415 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7416 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7417 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
7418
7419 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
7420 (grub_video_i386_vbefill_R8G8B8): Likewise.
7421 (grub_video_i386_vbefill_index): Likewise.
7422 (grub_video_i386_vbefill_direct32): Added.
7423 (grub_video_i386_vbefill_direct24): Likewise.
7424 (grub_video_i386_vbefill_direct16): Likewise.
7425 (grub_video_i386_vbefill_direct8): Likewise.
7426
81a06771 7427 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 7428 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
7429 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
7430 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
7431 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
7432 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 7433
0ea85a37 7434 * video/video.c (grub_video_get_blit_format): Updated to use new
7435 blit formats. Added handling for 16 bit color modes.
81a06771 7436
7437 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 7438 fillers.
7439 (common_blitter): Updated to use new blitters.
7440
7441 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
7442 Removed.
7443 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7444 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7445 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7446 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7447 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7448 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7449 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7450 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7451 (grub_video_i386_vbeblit_index_index): Likewise.
7452 (grub_video_i386_vbeblit_replace_directN): Added.
7453 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7454 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7455 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7456 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7457 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7458 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
7459 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
7460 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7461 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7462 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7463 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7464 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7465 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 7466
0ea85a37 7467 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
7468 (grub_video_i386_vbefill_R8G8B8): Likewise.
7469 (grub_video_i386_vbefill_index): Likewise.
7470 (grub_video_i386_vbefill_direct32): Added.
7471 (grub_video_i386_vbefill_direct24): Likewise.
7472 (grub_video_i386_vbefill_direct16): Likewise.
7473 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 7474
0ea85a37 7475 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
7476 types.
81a06771 7477
0ea85a37 7478 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
7479 types.
81a06771 7480
0ea85a37 7481 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
7482 blitter types.
81a06771 7483
0ea85a37 7484 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
7485 types.
7486
e8a83df6 74872008-09-06 Felix Zielcke <fzielcke@z-51.de>
7488
7489 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
7490 RAID level 1.
7491
6bcd8ee5 74922008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 7493
6bcd8ee5 7494 * fs/iso9660.c (grub_iso9660_date): New structure.
7495 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
7496 (grub_iso9660_uuid): New function.
c375ae58 7497
59261157 74982008-09-05 Bean <bean123ch@gmail.com>
7499
7500 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
7501
7502 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
7503 insensitive bit for names in Win32 and Win32 & DOS namespace.
7504
7505 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
7506
7507 * include/grub/types.h (LONG_MAX): Likewise.
7508
58b6645a 75092008-09-04 Felix Zielcke <fzielcke@z-51.de>
7510
4ee55921 7511 * util/getroot.c: Include <config.h>.
7512 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
7513 add support for /dev/md/N devices and handle LVM double dash escaping.
7514
75152008-09-04 Felix Zielcke <fzielcke@z-51.de>
7516
7517 * config.guess: Update to latest version from config git.
7518 * config.sub: Likewise.
58b6645a 7519
9124f65d 75202008-09-03 Robert Millan <rmh@aybabtu.com>
7521
7522 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
7523 `disk->total_sectors'.
7524
81a06771 75252008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 7526
7527 * include/grub/normal.h: Fixed incorrect comment for
7528 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
7529
81a06771 75302008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 7531
7532 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
7533 values with defines.
7534
7535 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
7536 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
7537 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
7538 (GRUB_VBE_MODEATTR_COLOR): Likewise.
7539 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
7540 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
7541 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
7542 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
7543 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
7544 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
7545 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
7546 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
7547 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
7548 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
7549 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
7550 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
7551 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
7552 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
7553 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
7554
93d5cbf8 75552008-08-31 Robert Millan <rmh@aybabtu.com>
7556
7557 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
7558 declaration.
7559 (grub_multiboot): Fix a few warnings.
7560
21751d50 75612008-08-31 Robert Millan <rmh@aybabtu.com>
7562
7563 * loader/i386/pc/multiboot.c: Update comment not to say that
7564 boot_device support is unimplemented.
7565
e27a75c5 75662008-08-31 Robert Millan <rmh@aybabtu.com>
7567
7568 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
7569 or memory map support are unimplemented.
7570
81a06771 75712008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 7572
7573 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
7574
81a06771 75752008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 7576
7577 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
7578 total video memory in 'vbeinfo' output; show color format details for
7579 each video mode.
7580
7c5d8d95 75812008-08-30 Pavel Roskin <proski@gnu.org>
7582
7583 * util/genmoddep.c: Remove for real this time.
7584 * DISTLIST: Remove util/genmoddep.c.
7585
4cebd25a 75862008-08-30 Robert Millan <rmh@aybabtu.com>
7587
7588 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
7589 as required by Multiboot spec (it was already 4-byte aligned, but
7590 only by chance).
7591
b497a269 75922008-08-29 Pavel Roskin <proski@gnu.org>
7593
e3925185 7594 * kern/powerpc/ieee1275/crt0.S: Rename to ...
7595 * kern/powerpc/ieee1275/startup.S: ... this.
7596 * conf/powerpc-ieee1275.rmk: Adjust for the above.
7597 * DISTLIST: Likewise.
7598
b497a269 7599 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
7600 grub/cpu/kernel.h. Add start label for consistency with other
7601 platforms. Add grub_prefix immediately after start. Add jump
7602 to the code after grub_prefix.
7603 * include/grub/powerpc/kernel.h: Provide valid values for
7604 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
7605
6e5a42fe 76062008-08-29 Bean <bean123ch@gmail.com>
7607
7608 * configure.ac: Change host_os to cygwin for mingw.
7609 (asprintf): New check for function.
7610
7611 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
7612 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
7613
7614 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 7615 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 7616 sync, sleep and grub_util_get_disk_size for mingw.
7617
7618 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
7619 to get size in mingw.
7620 (open_device): Use flag O_BINARY if it's defined.
7621 (find_root_device): Add dummy code for mingw.
7622
7623 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
7624 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
7625 (get_scsi_disk_name): Return 0 for mingw.
7626
7627 * util/hostfs.c: #include <grub/util/misc.h>.
7628 (grub_hostfs_open): Use "rb" flag to open file, use
7629 grub_util_get_disk_size to get disk size for mingw.
7630
7631 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
7632 (asprintf): New function if HAVE_ASPRINTF is not set.
7633 (sync): New function for mingw.
7634 (sleep): Likewise.
7635 (grub_util_get_disk_size): Likewise.
7636
ab3f2673 76372008-08-28 Pavel Roskin <proski@gnu.org>
7638
7639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7640 kern/time.c.
7641
1c282483 76422008-08-28 Robert Millan <rmh@aybabtu.com>
7643
7644 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
7645
678e849c 76462008-08-28 Robert Millan <rmh@aybabtu.com>
7647
7648 Change find_grub_drive() syntax so it doesn't prevent it from
7649 detecting NULL names as errors.
7650
7651 * util/biosdisk.c (find_grub_drive): Move free slot search code
7652 from here ...
7653 (find_free_slot): ... to here.
7654 (read_device_map): Use find_free_slot() to search for free slots.
7655
965c75ca 76562008-08-27 Marco Gerards <marco@gnu.org>
7657
7658 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
7659 (scsi_mod_SOURCES): New variable.
7660 (scsi_mod_CFLAGS): Likewise
7661 (scsi_mod_LDFLAGS): Likewise.
7662
7663 * disk/scsi.c: New file.
7664
7665 * include/grub/scsi.h: Likewise.
7666
7667 * include/grub/scsicmd.h: Likewise.
7668
7669 * disk/ata.c: Include <grub/scsi.h>.
7670 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
7671 instead.
7672 (grub_ata_iterate): Skip ATAPI devices.
7673 (grub_ata_open): Only handle ATAPI devices.
7674 (struct grub_atapi_read): Removed.
7675 (grub_atapi_readsector): Likewise.
7676 (grub_ata_read): No longer handle ATAPI devices.
7677 (grub_ata_write): Likewise.
7678 (grub_atapi_iterate): New function.
7679 (grub_atapi_read): Likewise.
7680 (grub_atapi_write): Likewise.
7681 (grub_atapi_open): Likewise.
7682 (grub_atapi_close): Likewise.
7683 (grub_atapi_dev): New variable.
7684 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
7685 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
7686
7687 * include/grub/disk.h (enum grub_disk_dev_id): Add
7688 `GRUB_DISK_DEVICE_SCSI_ID'.
7689
c07ae501 76902008-08-26 Robert Millan <rmh@aybabtu.com>
7691
7692 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
7693 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
7694 descriptive.
7695
5ed20adc 76962008-08-23 Bean <bean123ch@gmail.com>
7697
7698 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
7699 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7700 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
7701 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
7702 dm_nv.mod.
7703 (raid5rec_mod_SOURCES): New macro.
7704 (raid5rec_mod_CFLAGS): Likewise.
7705 (raid5rec_mod_LDFLAGS): Likewise.
7706 (raid6rec_mod_SOURCES): Likewise.
7707 (raid6rec_mod_CFLAGS): Likewise.
7708 (raid6rec_mod_LDFLAGS): Likewise.
7709 (mdraid_mod_SOURCES): Likewise.
7710 (mdraid_mod_CFLAGS): Likewise.
7711 (mdraid_mod_LDFLAGS): Likewise.
7712 (dm_nv_mod_SOURCES): Likewise.
7713 (dm_nv_mod_CFLAGS): Likewise.
7714 (dm_nv_mod_LDFLAGS): Likewise.
7715
7716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
7717 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7718 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7719
7720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
7721 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7722
7723 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7724
7725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7726
7727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7728
7729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7730
7731 * disk/raid5_recover.c: New file.
7732
7733 * disk/raid6_recover.c: Likewise.
7734
7735 * disk/mdraid_linux.c: Likewise.
7736
7737 * disk/dmraid_nvidia.c: Likewise.
7738
7739 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
7740 ULONG_MAX.
7741
7742 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
7743 calculate the size of raid device.
7744 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
7745 different layout of raid5.
7746 (grub_raid_scan_device): Remove code specific to mdraid.
7747 (grub_raid_list): New variable.
7748 (free_array): New function.
7749 (grub_raid_register): Likewise.
7750 (grub_raid_unregister): Likewise.
7751 (grub_raid_rescan): Likewise.
7752 (GRUB_MOD_INIT): Don't iterate device here.
7753 (GRUB_MOD_FINI): Use free_array to release resource.
7754
7755 * include/grub/raid.h: Remove macro and structure specific to mdraid.
7756 (grub_raid5_recover_func_t): New function variable type.
7757 (grub_raid6_recover_func_t): Likewise.
7758 (grub_raid5_recover_func): New variable.
7759 (grub_raid6_recover_func): Likewise.
7760 (grub_raid_register): New function.
7761 (grub_raid_unregister): Likewise.
7762 (grub_raid_rescan): Likewise.
7763 (grub_raid_block_xor): Likewise.
7764
7765 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
7766 (CMD_CRC): New macro.
7767 (part): Removed.
7768 (read_file): Handle device as well as file.
7769 (cmd_crc): New function.
7770 (fstest): Handle multiple disks.
7771 (options): Remove part, raw and long, add root and diskcount.
7772 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 7773 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 7774 add handling for the new options, support multiple disks.
7775
7776 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
7777
29c18915 77782008-08-23 Bean <bean123ch@gmail.com>
7779
7780 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
7781
7782 * genfslist.sh: Ignore kernel.mod.
7783
7784 * genpartmaplist.sh: Likewise.
7785
8415f261 77862008-08-23 Robert Millan <rmh@aybabtu.com>
7787
7788 * util/getroot.c (find_root_device): Skip anything that starts with
7789 a dot, not just directories. This avoids things like /dev/.tmp.md0.
7790
d5a7dc5b 77912008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 7792
d5a7dc5b 7793 * util/update-grub.in (GRUB_GFXMODE): Export variable.
7794 * util/grub.d/00_header.in: Allow the administrator to change default
7795 gfxmode via ${GRUB_GFXMODE}.
7796
380cfbb4 77972008-08-21 Felix Zielcke <fzielcke@z-51.de>
7798
7799 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
7800
c9baafe7 78012008-08-21 Robert Millan <rmh@aybabtu.com>
7802
7803 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
7804 loader.
7805 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
7806 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
7807
e290bef2 78082008-08-20 Carles Pina i Estany <carles@pina.cat>
7809
7810 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
7811 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
7812
f9dbfc96 78132008-08-19 Robert Millan <rmh@aybabtu.com>
7814
7815 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
7816 (struct grub_virtual_screen): Remove `cursor_color'.
7817 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
7818 initialization.
7819 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
7820
dd6bd6ab 78212008-08-18 Robert Millan <rmh@aybabtu.com>
7822
7823 Unify (identical) linux_normal.c files.
7824 * loader/i386/efi/linux_normal.c: Move from here ...
7825 * loader/linux_normal.c: ... to here. Update all users.
7826 * loader/i386/pc/linux_normal.c: Delete. Update all users.
7827 * loader/i386/ieee1275/linux_normal.c: Likewise.
7828
7f42f83e 78292008-08-18 Robert Millan <rmh@aybabtu.com>
7830
7831 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
7832 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
7833 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
7834 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
7835 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
7836 New macros.
7837 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
7838 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
7839 (GRUB_LINUX_CL_END_OFFSET): ... to here.
7840 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
7841 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
7842 (GRUB_EFI_CL_END_OFFSET): Rename to ...
7843 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
7844 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
7845 Initialize `params->video_cursor_x' and `params->video_cursor_y'
7846 portably using grub_getxy().
7847 Replace `-EFI' with `-bzImage' in boot message.
7848
38487ddb 78492008-08-17 Robert Millan <rmh@aybabtu.com>
7850
7851 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
7852
deceb3ec 78532008-08-17 Robert Millan <rmh@aybabtu.com>
7854
7855 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
7856
7857 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
7858 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
7859 (grub_machine_mmap_iterate): New function declaration.
7860 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
7861 structure.
7862 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
7863 macros.
7864
7865 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
7866 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
7867 Move e820 parsing from here ...
7868 * kern/i386/pc/mmap.c: New file.
7869 (grub_machine_mmap_iterate): ... to here.
7870
7871 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
7872 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
7873 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
7874 (grub_available_iterate): Redeclare to return `void', and redeclare
7875 its hook to use grub_uint64_t as addr and size parameters, and rename
7876 to ...
7877 (grub_machine_mmap_iterate): ... this. Update all users.
7878
7879 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
7880 to make it more readable. Rename to ...
7881 (grub_machine_mmap_iterate): ... this.
7882
7883 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
7884 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
7885 (grub_multiboot): Allocate an extra region after the payload, and fill
7886 it with a Multiboot memory map. Adjust a.out loader to calculate size
7887 with the extra space.
7888 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
7889 with the extra space.
7890
f8aa0f43 78912008-08-17 Carles Pina i Estany <carles@pina.cat>
7892
9807deb9 7893 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 7894
605f5bb6 78952008-08-17 Felix Zielcke <fzielcke@z-51.de>
7896
7897 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
7898 mdate-sh to the list `find' searches for.
7899 * DISTLIST: Regenerated.
7900
210db6c6 79012008-08-16 Felix Zielcke <fzielcke@z-51.de>
7902
7903 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
7904 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 7905 genmoddep.awk, gensymlist.sh.in.
7906 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 7907 * DISTLIST: Regenerated.
48cdbfd4 7908 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 7909
1082b929 79102008-08-16 Robert Millan <rmh@aybabtu.com>
7911
7912 * disk/raid.c (grub_raid_init): Handle/report errors set by
7913 grub_device_iterate().
7914 * disk/lvm.c (grub_lvm_init): Likewise.
7915
42ce5170 79162008-08-15 Bean <bean123ch@gmail.com>
7917
7918 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7919 and datehook.mod.
7920 (datetime_mod_SOURCES): New macro.
7921 (datetime_mod_CFLAGS): Likewise.
7922 (datetime_mod_LDFLAGS): Likewise.
7923 (date_mod_SOURCES): Likewise.
7924 (date_mod_CFLAGS): Likewise.
7925 (date_mod_LDFLAGS): Likewise.
7926 (datehook_mod_SOURCES): Likewise.
7927 (datehook_mod_CFLAGS): Likewise.
7928 (datehook_mod_LDFLAGS): Likewise.
7929
7930 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7931 and datehook.mod.
7932 (datetime_mod_SOURCES): New macro.
7933 (datetime_mod_CFLAGS): Likewise.
7934 (datetime_mod_LDFLAGS): Likewise.
7935 (date_mod_SOURCES): Likewise.
7936 (date_mod_CFLAGS): Likewise.
7937 (date_mod_LDFLAGS): Likewise.
7938 (datehook_mod_SOURCES): Likewise.
7939 (datehook_mod_CFLAGS): Likewise.
7940 (datehook_mod_LDFLAGS): Likewise.
7941
7942 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7943 and datehook.mod.
7944 (datetime_mod_SOURCES): New macro.
7945 (datetime_mod_CFLAGS): Likewise.
7946 (datetime_mod_LDFLAGS): Likewise.
7947 (date_mod_SOURCES): Likewise.
7948 (date_mod_CFLAGS): Likewise.
7949 (date_mod_LDFLAGS): Likewise.
7950 (datehook_mod_SOURCES): Likewise.
7951 (datehook_mod_CFLAGS): Likewise.
7952 (datehook_mod_LDFLAGS): Likewise.
7953
7954 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7955 and datehook.mod.
7956 (datetime_mod_SOURCES): New macro.
7957 (datetime_mod_CFLAGS): Likewise.
7958 (datetime_mod_LDFLAGS): Likewise.
7959 (date_mod_SOURCES): Likewise.
7960 (date_mod_CFLAGS): Likewise.
7961 (date_mod_LDFLAGS): Likewise.
7962 (datehook_mod_SOURCES): Likewise.
7963 (datehook_mod_CFLAGS): Likewise.
7964 (datehook_mod_LDFLAGS): Likewise.
7965
7966 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7967 and datehook.mod.
7968 (datetime_mod_SOURCES): New macro.
7969 (datetime_mod_CFLAGS): Likewise.
7970 (datetime_mod_LDFLAGS): Likewise.
7971 (date_mod_SOURCES): Likewise.
7972 (date_mod_CFLAGS): Likewise.
7973 (date_mod_LDFLAGS): Likewise.
7974 (datehook_mod_SOURCES): Likewise.
7975 (datehook_mod_CFLAGS): Likewise.
7976 (datehook_mod_LDFLAGS): Likewise.
7977
7978 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
7979
7980 * commands/date.c: New file.
7981
7982 * hook/datehook.c: Likewise.
7983
7984 * include/grub/lib/datetime.h: Likewise.
7985
7986 * include/grub/i386/cmos.h: Likewise.
7987
7988 * lib/datetime.c: Likewise.
7989
7990 * lib/i386/datetime.c: Likewise.
7991
7992 * lib/efi/datetime.c: Likewise.
7993
0e9242da 79942008-08-14 Robert Millan <rmh@aybabtu.com>
7995
7996 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
7997 (grub_mkelfimage_SOURCES): New variable.
7998 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
7999
8000 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
8001 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
8002 * conf/powerpc-ieee1275.rmk: Likewise.
8003 * conf/i386-ieee1275.rmk: Likewise.
8004
8005 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8006 * kern/i386/coreboot/init.c: Likewise.
8007
8008 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8009 with `<grub/cpu/kernel.h>'.
8010 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8011 to ...
8012 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8013 * kern/i386/coreboot/startup.S: Likewise.
8014
8015 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8016 (GRUB_MOD_GAP): Remove.
8017 * include/grub/powerpc/kernel.h: New file.
8018 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8019 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8020 * include/grub/i386/kernel.h: New file.
8021 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8022 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8023 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8024
8025 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8026 `grub-mkelfimage'.
8027 Use --directory when invoking grub_mkimage.
8028
8029 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8030 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8031 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8032 and GRUB_KERNEL_CPU_PREFIX.
8033
b86408f8 80342008-08-14 Felix Zielcke <fzielcke@z-51.de>
8035
d5e619ca 8036 * include/grub/err.h (grub_err_printf): New function prototype.
8037 * util/misc.c (grub_err_printf): New function.
8038 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8039 grub_printf.
8040 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 8041
7161f0e0 80422008-08-13 Robert Millan <rmh@aybabtu.com>
8043
8044 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8045
a1967522 80462008-08-13 Robert Millan <rmh@aybabtu.com>
8047
8048 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8049 boot entry.
8050
371458b5 80512008-08-12 Robert Millan <rmh@aybabtu.com>
8052
8053 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8054 of the relocation code from here ...
8055 (grub_multiboot): ... to here.
8056 (forward_relocator, backward_relocator): Move from here ...
8057 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8058 (grub_multiboot_backward_relocator): ... to here.
8059 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8060 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8061 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8062 (grub_multiboot_forward_relocator_end)
8063 (grub_multiboot_backward_relocator)
8064 (grub_multiboot_backward_relocator_end): New variables.
8065
05f9452b 80662008-08-12 Bean <bean123ch@gmail.com>
8067
8068 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8069
20024ab0 80702008-08-11 Robert Millan <rmh@aybabtu.com>
8071
8072 * kern/i386/linuxbios/startup.S: Move from here ...
8073 * kern/i386/coreboot/startup.S: ... to here.
8074
8075 * kern/i386/linuxbios/init.c: Move from here ...
8076 * kern/i386/coreboot/init.c: ... to here.
8077
8078 * kern/i386/linuxbios/table.c: Move from here ...
8079 * kern/i386/coreboot/mmap.c: ... to here.
8080
8081 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
8082
e352e9cd 80832008-08-11 Robert Millan <rmh@aybabtu.com>
8084
8085 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
8086 errors. Leave it to the upper layer to handle them.
8087
2d05bc6a 80882008-08-09 Christian Franke <franke@computer.org>
8089
8090 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
8091 * conf/common.rmk: Install `grub-pe2elf' only if requested.
8092 Install `grub.d/10_windows' only on Cygwin.
8093 * configure.ac: Add subst of `target_os'.
8094 Check `target_os' also before setting TARGET_OBJ2ELF.
8095 Add `--enable-grub-pe2elf'.
8096
042bd419 80972008-08-08 Robert Millan <rmh@aybabtu.com>
8098
8099 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8100 (grub_last_time): Change type to grub_uint64_t.
8101 (grub_disk_open): Migrate code from to using grub_get_time_ms().
8102 (grub_disk_close): Likewise.
8103
8104 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8105 (run_menu): Migrate code from to using grub_get_time_ms().
8106
8107 * util/misc.c (grub_get_time_ms): New function.
8108
7f280db5 81092008-08-08 Marco Gerards <marco@gnu.org>
8110
8111 * disk/ata.c (grub_ata_regget): Change return type to
8112 `grub_uint8_t'.
8113 (grub_ata_regget2): Likewise.
8114 (grub_ata_wait_status): New function.
8115 (grub_ata_wait_busy): Removed function, updated all users to use
8116 `grub_ata_wait_status'.
8117 (grub_ata_wait_drq): Likewise.
8118 (grub_ata_cmd): New function.
8119 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
8120 error handling.
8121 (grub_ata_pio_write): Add error handling.
8122 (grub_atapi_identify): Likewise.
8123 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
8124 handling.
8125 (grub_ata_identify): Use `grub_ata_cmd' and improve error
8126 handling. Actually use the detected registers. Reorder the
8127 detection logic such that it is easier to read.
8128 (grub_ata_pciinit): Do not assign the same ID to each controller.
8129 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
8130 handling.
8131 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
8132
8133 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
8134
1fbc5e66 81352008-08-08 Marco Gerards <marco@gnu.org>
8136
8137 * NEWS: Update.
8138
819ce6c0 81392008-08-07 Bean <bean123ch@gmail.com>
8140
8141 * include/grub/x86_64/pci.h: New file.
8142
5c41d44d 81432008-08-07 Christian Franke <franke@computer.org>
8144
8145 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
8146 (TIMER2_GATE): Likewise.
8147 (grub_pit_wait): Add enable/disable of the timer2 gate
8148 bit of port 0x61. This fixes a possible infinite loop.
8149
5ebc275d 81502008-08-07 Bean <bean123ch@gmail.com>
8151
8152 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
8153 kern/i386/tsc.c and kern/i386/pit.c.
8154
8155 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
8156 x86_64 platform.
8157
8158 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
8159 <grub/i386/tsc.h>.
8160
8161 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
8162
e383b3d0 81632008-08-07 Bean <bean123ch@gmail.com>
8164
8165 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
8166
8167 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
8168
8169 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
8170 multiple inclusion. Add #include <grub/types.h>.
8171
1cbb58ac 81722008-08-06 Christian Franke <franke@computer.org>
8173
8174 * conf/common.rmk: Build and install `10_windows'.
8175 * util/grub.d/10_windows.in: New script.
8176
337f5a1e 81772008-08-06 Pavel Roskin <proski@gnu.org>
8178
8179 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
8180
057bc4ac 81812008-08-06 Robert Millan <rmh@aybabtu.com>
8182
8183 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
8184 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
8185
2b99f123 81862008-08-06 Bean <bean123ch@gmail.com>
8187
8188 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
8189 (grub_pxefs_fs_int): Remove dummy definition.
8190 (grub_pxefs_open): Use data->block_size to store the current block
8191 size setting.
8192 (grub_pxefs_read): Use block size stored in data->block_size. As the
8193 value of grub_pxe_blksize can be changed after the file is opened.
8194
9f0234cb 81952008-08-06 Bean <bean123ch@gmail.com>
8196
8197 * fs/i386/pc/pxe.c (curr_file): new variable.
8198 (grub_pxefs_open): Simply the handling of pxe file system. Don't
8199 require the dummy internal file system anymore.
8200 (grub_pxefs_read): Removed.
8201 (grub_pxefs_close): Likewise.
8202 (grub_pxefs_fs_int): Likewise.
8203 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
8204 connection when we switch file.
8205 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
8206
a55d42e0 82072008-08-06 Robert Millan <rmh@aybabtu.com>
8208
8209 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
8210 `halt.mod'.
8211 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
8212 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
8213
8214 * kern/i386/halt.c: New file.
8215 * kern/i386/reboot.c: Likewise.
8216 * include/grub/i386/reboot.h: Likewise.
8217 * include/grub/i386/halt.h: Likewise.
8218
8219 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
8220 Include `<grub/cpu/halt.h>'.
8221 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
8222 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
8223
8224 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
8225 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
8226 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
8227 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
8228 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
8229 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
8230 from here ...
8231 * include/grub/i386/at_keyboard.h: ... to here.
8232
24371d26 82332008-08-05 Robert Millan <rmh@aybabtu.com>
8234
8235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
8236 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
8237 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
8238 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8239 `kern/generic/millisleep.c'.
8240
8241 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
8242 instead of grub_get_rtc().
8243 (grub_tsc_init): Initialize `tsc_boot_time'.
8244
8245 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
8246 (grub_machine_init): Use grub_tsc_init() rather than
8247 installing an RTC-based handler via grub_install_get_time_ms().
8248
8249 * kern/i386/pit.c: New file.
8250 * include/grub/i386/pit.h: Likewise.
8251
9e7007b3 82522008-08-05 Bean <bean123ch@gmail.com>
8253
8254 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
8255
8256 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
8257 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
8258 (pxe_mod_SOURCES): New macro.
8259 (pxe_mod_CFLAGS): Likewise.
8260 (pxe_mod_LDFLAGS): Likewise.
8261 (pxecmd_mod_SOURCES): Likewise.
8262 (pxecmd_mod_CFLAGS): Likewise.
8263 (pxecmd_mod_LDFLAGS): Likewise.
8264
8265 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
8266 (grub_pxe_call): Likewise.
8267
8268 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
8269
8270 * commands/i386/pc/pxecmd.c: New file.
8271
9f0234cb 8272 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 8273
8274 * include/grub/i386/pc/pxe.h: Likewise.
8275
6977d49f 82762008-08-05 Bean <bean123ch@gmail.com>
8277
8278 * util/console.c (grub_console_cur_color): New variable.
8279 (grub_console_standard_color): Likewise.
8280 (grub_console_normal_color): Likewise.
8281 (grub_console_highlight_color): Likewise.
8282 (color_map): Likewise.
8283 (use_color): Likewise.
8284 (NUM_COLORS): New macro.
8285 (grub_ncurses_setcolorstate): Handle color properly.
8286 (grub_ncurses_setcolor): Don't change color here, just remember the
8287 settings, color will be set in grub_ncurses_setcolorstate.
8288 (grub_ncurses_getcolor): New function.
8289 (grub_ncurses_init): Initialize color pairs.
8290 (grub_ncurses_term): New member grub_ncurses_getcolor.
8291
9c2ff3ee 82922008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 8293
9c2ff3ee 8294 High resolution timer support. Implemented for x86 CPUs using TSC.
8295 Extracted generic grub_millisleep() so it's linked in only as needed.
8296 This requires a Pentium compatible CPU; if the RDTSC instruction is
8297 not supported, then it falls back on the generic grub_get_time_ms()
8298 implementation that uses the machine's RTC.
8299
8300 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
8301 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8302 `kern/generic/millisleep.c'.
8303
8304 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
8305 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
8306
8307 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
8308 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
8309
8310 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8311
8312 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8313 `kern/generic/millisleep.c'.
8314
8315 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8316
8317 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
8318
8319 * kern/generic/rtc_get_time_ms.c: New file.
8320
8321 * kern/generic/millisleep.c: New file.
337f5a1e 8322
9c2ff3ee 8323 * kern/misc.c: Don't include
8324 <kern/time.h> anymore.
8325 (grub_millisleep_generic): Removed.
8326
8327 * commands/sleep.c (grub_interruptible_millisleep): Uses
8328 grub_get_time_ms() instead of grub_get_rtc().
8329
8330 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
8331 function.
8332 (grub_cpu_is_cpuid_supported): New inline function.
8333 (grub_cpu_is_tsc_supported): New inline function.
8334 (grub_tsc_init): New function prototype.
8335 (grub_tsc_get_time_ms): New function prototype.
8336
8337 * kern/i386/tsc.c (grub_get_time_ms): New file.
8338
8339 * include/grub/time.h: Include <grub/types.h.
8340 (grub_millisleep_generic): Removed.
8341 (grub_get_time_ms): New prototype.
8342 (grub_install_get_time_ms): New prototype.
8343 (grub_rtc_get_time_ms): New prototype.
8344
8345 * kern/time.c (grub_get_time_ms): New function.
8346 (grub_install_get_time_ms): New function.
8347
8348 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
8349 <grub/time.h> anymore.
8350 (grub_millisleep): Removed.
8351 (grub_machine_init): Call grub_tsc_init.
8352
8353 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
8354 get_time_ms() implementation.
8355
8356 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
8357 (ieee1275_get_time_ms): New function.
8358 (grub_machine_init): Install get_time_ms() implementation.
8359
8360 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
8361 (grub_machine_init): Call grub_tsc_init().
8362 (grub_millisleep): Removed.
bf06a93f 8363
9c2ff3ee 8364 * kern/ieee1275/init.c (grub_millisleep): Removed.
8365 (grub_machine_init): Install ieee1275_get_time_ms()
8366 implementation.
8367 (ieee1275_get_time_ms): New function.
8368 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
8369 real work.
8370
9ec92aaf 83712008-08-05 Marco Gerards <marco@gnu.org>
8372
8373 * disk/ata.c: Include <grub/pci.h>.
8374 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
8375 (grub_ata_initialize): Rewritten.
8376 (grub_ata_device_initialize): New function.
8377
8d23f507 83782008-08-04 Pavel Roskin <proski@gnu.org>
8379
8380 * kern/main.c: Include grub/mm.h.
8381
5e15ee3d 83822008-08-04 Robert Millan <rmh@aybabtu.com>
8383
8384 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
8385 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
8386 corruption problem).
8387
a9053f8f 83882008-08-04 Robert Millan <rmh@aybabtu.com>
8389
8390 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
8391 warnings introduced in my last commit.
8392
dd19c7d7 83932008-08-03 Robert Millan <rmh@aybabtu.com>
8394
8395 Make PCI available on all i386 architectures.
8396
8397 * include/grub/i386/pc/pci.h: Move from here ...
8398 * include/grub/i386/pci.h: ... to here.
8399
8400 * include/grub/i386/pc/pci.h: Remove.
8401 * include/grub/i386/efi/pci.h: Remove.
8402 * include/grub/x86_64/efi/pci.h: Remove.
8403
8404 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
8405 `<grub/cpu/pci.h>'.
8406
8407 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
8408 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
8409 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
8410
8411 * conf/i386-ieee1275.rmk: Likewise.
8412
e14a6184 84132008-08-03 Robert Millan <rmh@aybabtu.com>
8414
8415 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
8416 (grub_console_setcursor): Make it possible to set cursor off.
8417
52768e37 84182008-08-03 Robert Millan <rmh@aybabtu.com>
8419
8420 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
8421 of modules instead of assuming which platform provides what.
8422 * util/update-grub.in: Likewise.
8423
2d52f57f 84242008-08-03 Robert Millan <rmh@aybabtu.com>
8425
8426 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
8427 instead of `grub_install_dos_part' to determine whether a drive needs
8428 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 8429 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 8430
2a5cd121 84312008-08-02 Robert Millan <rmh@aybabtu.com>
8432
8433 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
8434
93808428 84352008-08-02 Robert Millan <rmh@aybabtu.com>
8436
8437 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
8438 of informational grub_dprintf() calls.
8439
3bd0a12a 84402008-08-02 Robert Millan <rmh@aybabtu.com>
8441
8442 * disk/memdisk.c (memdisk_size): Don't initialize.
8443 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
8444
8445 * include/grub/i386/pc/kernel.h
8446 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
8447 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
8448 (grub_memdisk_image_size, grub_arch_memdisk_addr)
8449 (grub_arch_memdisk_size): Remove.
8450
8451 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
8452 field (was only used to transfer a constant). Add `type' field to
8453 support multiple module types.
8454 (grub_module_iterate): New function.
8455
8456 * kern/device.c (grub_device_open): Do not hide error messages
8457 when grub_disk_open() fails. Use grub_print_error() instead.
8458
8459 * kern/i386/pc/init.c (grub_arch_modules_addr)
8460 (grub_arch_memdisk_size): Remove functions.
8461 (grub_arch_modules_addr): Return the module address in high memory
8462 (now that it isn't copied anymore).
8463
8464 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
8465 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
8466 decompression routine (grub_total_module_size already includes that
8467 now). Don't copy modules back to low memory.
8468
8469 * kern/main.c: Include `<grub/mm.h>'.
8470 (grub_load_modules): Split out (and use) ...
8471 (grub_module_iterate): ... this function, which iterates through
8472 module objects and runs a hook.
8473 Comment out grub_mm_init_region() call, as it would cause non-ELF
8474 modules to be overwritten.
8475
8476 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
8477 the memdisk image in its own region, make it part of the module list.
8478 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
8479 (main): Parse --memdisk|-m option, and pass user-provided path as
8480 parameter to generate_image().
8481 (add_segments): Pass `memdisk_path' down to load_modules().
8482 (load_modules): Embed memdisk image in module section when requested.
8483 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
8484 `header.type' instead of `header.offset'.
8485
8486 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
8487 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
8488 (memdisk_mod_LDFLAGS): New variables.
8489 * conf/i386-coreboot.rmk: Likewise.
8490 * conf/i386-ieee1275.rmk: Likewise.
8491
a927cc73 84922008-08-02 Robert Millan <rmh@aybabtu.com>
8493
8494 * loader/i386/pc/multiboot.c (playground, forward_relocator)
8495 (backward_relocator): New variables. Used to allocate and relocate
8496 the payload, respectively.
8497 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 8498 address, install the appropriate relocator code in each bound of
a927cc73 8499 the payload, and set the entry point such that
8500 grub_multiboot_real_boot() will jump to one of them.
8501
8502 * kern/i386/loader.S (grub_multiboot_payload_size)
8503 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8504 (grub_multiboot_payload_entry_offset): New variables.
8505 (grub_multiboot_real_boot): Set cpu context to what the relocator
8506 expects, and jump to the relocator instead of the payload.
8507
8508 * include/grub/i386/loader.h (grub_multiboot_payload_size)
8509 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8510 (grub_multiboot_payload_entry_offset): Export.
8511
b15d8a0c 85122008-08-01 Bean <bean123ch@gmail.com>
8513
8514 * normal/menu_entry.c (editor_getline): Don't return the original
8515 string as result, as it will be released by lexer once it has done
8516 using it.
8517
cdfb3d22 85182008-08-01 Robert Millan <rmh@aybabtu.com>
8519
8520 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
8521 within menuentries, not before them.
8522 util/grub.d/10_hurd.in: Likewise.
8523
9175e93d 85242008-08-01 Bean <bean123ch@gmail.com>
8525
8526 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
8527 (bufio_mod_SOURCES): New macro.
8528 (bufio_mod_CFLAGS): Likewise.
8529 (bufio_mod_LDFLAGS): Likewise.
8530
8531 * include/grub/bufio.h: New file.
8532
8533 * io/bufio.c: Likewise.
8534
8535 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
8536 (grub_video_reader_png): Use grub_buffile_open to open file.
8537
8538 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
8539 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
8540
8541 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
8542 (grub_video_reader_tga): Use grub_buffile_open to open file.
8543
8544 * font/manager.c: Include <grub/bufio.h>.
8545 (add_font): Use grub_buffile_open to open file.
8546
3d8383e7 85472008-07-31 Robert Millan <rmh@aybabtu.com>
8548
8549 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
8550 ELF segments, use a macro for arbitrarily accessing any of them instead
8551 of preparing a pointer that allows access to one at a time.
8552 (grub_multiboot_load_elf64): Likewise.
8553
16e641b6 85542008-07-31 Bean <bean123ch@gmail.com>
8555
8556 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
8557 GRUB_KERNEL_MACHINE_DATA_END.
8558
59198b72 85592008-07-30 Robert Millan <rmh@aybabtu.com>
8560
8561 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
8562 Increase from 0x50 to 0x60.
8563 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
8564 use UUIDs to identify the root drive for them. If that's not
8565 possible, abort.
8566 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
8567 check, for cross-disk installs.
8568
ae88bca3 85692008-07-30 Robert Millan <rmh@aybabtu.com>
8570
8571 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
8572 is non-empty, use it to set the `prefix' environment variable instead
8573 of the usual approach.
8574 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
8575 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
8576 environment variable instead of dummy make_install_device().
8577
8578 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
8579 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 8580 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 8581
8582 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
8583 New variable reference.
8584 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
8585 New macro. Defines offset of `grub_prefix' within startup.S (relative
8586 to `start').
8587 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
8588 section within startup.S (relative to `start').
8589 * include/grub/i386/coreboot/kernel.h: Likewise.
8590
8591 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
8592 Overwrite grub_prefix with its contents, at the beginning of the
8593 first segment.
8594 (main): Understand -p|--prefix.
8595
14f41dd1 85962008-07-30 Robert Millan <rmh@aybabtu.com>
8597
8598 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
8599
4ca049a3 86002008-07-30 Robert Millan <rmh@aybabtu.com>
8601
8602 * term/i386/pc/vga_text.c (grub_console_cls): Use
8603 grub_console_gotoxy() to go back to beginning of the screen.
8604 Found by Patrick Georgi <patrick.georgi@coresystems.de>
8605
2921d337 86062008-07-29 Christian Franke <franke@computer.org>
8607
8608 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
8609 Add conversion of emulated mount points on Cygwin.
8610
b609876d 86112008-07-29 Christian Franke <franke@computer.org>
8612
8613 * util/update-grub.in: Add a check for admin
8614 group on Cygwin.
8615 Remove old `grub.cfg.new' before creation.
8616 Add `-f' to `mv' to handle the different filesystem
8617 semantics of Windows.
8618
e93e4679 86192008-07-29 Bean <bean123ch@gmail.com>
8620
8621 * normal/main.c (get_line): Fix buffer overflow bug.
8622
41694fd0 86232008-07-28 Robert Millan <rmh@aybabtu.com>
8624
8625 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
8626 (struct grub_apple_header): New struct. Describes the layout of
8627 the partmap header.
8628 (apple_partition_map_iterate): Check the header magic as well as the
8629 partition magic (which was already being checked).
8630
cfd0b4e6 86312008-07-28 Pavel Roskin <proski@gnu.org>
8632
8633 * genmk.rb: Add a warning to the beginning of the output that
8634 it's a generated file and should not be edited.
8635
93cce016 86362008-07-28 Robert Millan <rmh@aybabtu.com>
8637
8638 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8639 with the same number are found, just use issue a warning with
8640 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 8641
cd1df915 86422008-07-27 Robert Millan <rmh@aybabtu.com>
8643
8644 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
8645 information.
8646
b70a8427 86472008-07-27 Bean <bean123ch@gmail.com>
8648
8649 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
8650 (grub_fat_find_dir): Ignore case when comparing filename.
8651
8f5e379f 86522008-07-27 Bean <bean123ch@gmail.com>
8653
8654 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
8655 smallino, as it's more descriptive, and i8count can be confused with
8656 the other field count.
8657 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
8658 inode type.
8659
a85cd5a0 86602008-07-27 Bean <bean123ch@gmail.com>
8661
8662 * commands/crc.c: New file.
8663
8664 * lib/crc.c: Likewise.
8665
8666 * include/grub/lib/crc.h: Likewise.
8667
8668 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
8669
8670 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
8671 (hexdump): Move this function to ...
8672
8673 * lib/hexdump.c: ... here.
8674
8675 * include/grub/hexdump.h: Renamed to ...
8676
8677 * include/grub/lib/hexdump.h: ... this.
8678
8679 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
8680
8681 * util/grub-editenv.c: Likewise.
8682
8683 * include/envblk.h: Renamed to ...
8684
8685 * include/lib/envblk.h: ... this.
8686
8687 * util/envblk.c: Renamed to ...
8688
8689 * lib/envblk.c: ... this.
8690
8691 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
8692 lib/hexdump.c.
8693 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
8694 (pkglib_MODULES): Add crc.mod.
8695 (hexdump_mod_SOURCES): Add lib/hexdump.c.
8696 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
8697 (crc_mod_SOURCES): New macro.
8698 (crc_mod_CFLAGS): Likewise.
8699 (crc_mod_LDFLAGS): Likewise.
8700
8701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
8702
8703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8704
8705 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8706
8707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8708
8709 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8710
c298def0 87112008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 8712
8713 * commands/help.c: Include <grub/term.h>.
8714 (TERM_WIDTH): Removed. Updated all users.
8715
cc349fb3 87162008-07-27 Pavel Roskin <proski@gnu.org>
8717
8718 * util/getroot.c (find_root_device): Rephrase a comment to avoid
8719 spurious warnings about a comment within a comment.
8720
9051607e 87212008-07-25 Robert Millan <rmh@aybabtu.com>
8722
8723 * util/getroot.c (find_root_device): Skip devices that match
8724 /dev/dm-[0-9]. This lets the real device be found for any type of
8725 abstraction (LVM, EVMS, RAID..).
8726 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
8727 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
8728 device is found first, find_root_device() will now skip it.
8729
01453bfc 87302008-07-24 Pavel Roskin <proski@gnu.org>
8731
8732 * include/grub/types.h: Use __builtin_bswap32() and
8733 __builtin_bswap64() with gcc 4.3 and newer.
8734
6af9849f 87352008-07-24 Christian Franke <franke@computer.org>
8736
3a0fa256 8737 * util/i386/pc/grub-install.in: If `--debug' is specified,
8738 pass `--verbose' to grub-setup.
8739 Abort script if make_system_path_relative_to_its_root() fails.
8740
7810e747 87412008-07-24 Bean <bean123ch@gmail.com>
8742
8743 * configure.ac: Fixed a bug caused by the previous cygwin patch,
8744 variable `target_platform' should be `platform'.
8745
42290e17 87462008-07-24 Bean <bean123ch@gmail.com>
8747
51cc5193 8748 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 8749 (grub_png_init_fixed_block): New function.
8750 (grub_png_decode_image_data): Handle fixed huffman code compression.
8751
2a8a80e4 87522008-07-24 Bean <bean123ch@gmail.com>
8753
8754 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
8755 (grub_pe2elf_SOURCES): New macro.
8756 (CLEANFILES): Add grub-pe2elf.
8757
8758 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
8759 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
8760 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
8761 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
8762 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
8763 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
8764 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
8765 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
8766 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
8767 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
8768 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
8769 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
8770 (GRUB_PE32_DT_FUNCTION): Likewise.
8771 (GRUB_PE32_REL_I386_DIR32): Likewise.
8772 (GRUB_PE32_REL_I386_REL32): Likewise.
8773 (grub_pe32_symbol): New structure.
8774 (grub_pe32_reloc): Likewise.
8775
8776 * util/grub-pe2elf.c: New file.
8777
8778 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
8779 start symbol in non pc platform.
8780
8781 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
8782
8783 The following patches are from Christian Franke.
8784
8785 * include/grub/dl.h: Remove .previous, gas supports this only
8786 for ELF format.
8787
8788 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
8789 Remove .type, gas supports this only for ELF format.
8790
8791 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
8792 nullbytes in symbol table. This fixes an infinite loop if table is
8793 zero filled.
8794
8795 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
8796 TARGET_IMG_LDFLAGS and EXEEXT.
8797
8798 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
8799 TARGET_IMG_LDFLAGS_AC.
8800 (grub_CHECK_STACK_ARG_PROBE): New function.
8801
8802 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
8803
8804 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
8805
8806 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
8807 to set TARGET_IMG_LD* accordingly.
8808 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
8809 Add call to grub_CHECK_STACK_ARG_PROBE.
8810 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
8811
8812 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
8813
8814 * genmk.rb: Add EXEEXT to CLEANFILES.
8815
12ccdb75 88162008-07-23 Robert Millan <rmh@aybabtu.com>
8817
8818 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
8819 define the codes for arrows and lines used for the menu).
8820 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
8821 as well.
8822
8823 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
8824 fonts, because the latter are too slow.
8825
18eeaf04 88262008-07-21 Bean <bean123ch@gmail.com>
8827
8828 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
8829 a20. Run keyboard test last, as it will cause macbook to halt.
8830
b095e2ad 88312008-07-18 Pavel Roskin <proski@gnu.org>
8832
8833 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
8834 load foreign architecture modules correctly anyway. Keep
8835 support for loading host architecture modules, whether we
8836 compile them or not.
8837
737feb35 88382008-07-17 Pavel Roskin <proski@gnu.org>
8839
3f4ce737 8840 * configure.ac: Use -m32 or -m64 regardless of whether we had to
8841 change target_cpu. The compiler default can mismatch target_cpu
8842 in any case.
8843
4ad2d049 8844 * disk/efi/efidisk.c: Fix format warnings on x86_64.
8845 * kern/efi/efi.c: Likewise.
8846
f6130a12 8847 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
8848 target compiler is functional.
8849 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
8850 are set up.
8851
58393a2d 8852 * configure.ac: Default to efi platform for x86_64-apple. Allow
8853 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
8854 adjustments from the rest, only do them if target is not
8855 explicitly given. Merge other adjustments with the final sanity
8856 check. Remove an extraneous check for supported CPU. Be
8857 specific which CPU and which platform is not supported.
8858
737feb35 8859 * configure.ac: Default to pc platform for x86_64.
8860
546f966a 88612008-07-17 Robert Millan <rmh@aybabtu.com>
8862
8863 Partial LinuxBIOS -> Coreboot rename.
8864
8865 * conf/i386-linuxbios.rmk: Renamed to ...
8866 * conf/i386-coreboot.rmk: ... this.
8867 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
8868 * configure.ac: Accept "coreboot" as input platform (but maintain
8869 compatibility with "linuxbios").
8870 * include/grub/i386/linuxbios: Renamed to ...
8871 * include/grub/i386/coreboot: ... this.
8872
20011694 88732008-07-17 Bean <bean123ch@gmail.com>
8874
8875 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 8876 (appleldr_mod_SOURCE): New variable.
20011694 8877 (appleldr_mod_CFLAGS): Likewise.
8878 (appleldr_mod_LDFLAGS): Likewise.
8879 (pci_mod_SOURCES): Likewise.
8880 (pci_mod_CFLAGS): Likewise.
8881 (pci_mod_LDFLAGS): Likewise.
8882 (lspci_mod_SOURCES): Likewise.
8883 (lspci_mod_CFLAGS): Likewise.
8884 (lspci_mod_LDFLAGS): Likewise.
8885
8886 * conf/x86_64-efi.rmk: New file.
8887
8888 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
8889 macro.
8890 (grub_efidisk_write): Likewise.
8891
8892 * include/efi/api.h (efi_call_0): New macro.
8893 (efi_call_1): Likewise.
8894 (efi_call_2): Likewise.
8895 (efi_call_3): Likewise.
8896 (efi_call_4): Likewise.
8897 (efi_call_5): Likewise.
8898 (efi_call_6): Likewise.
8899
8900 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
8901 grub_rescue_cmd_chainloader.
8902
8903 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
8904 (grub_pe32_optional_header): Change some fields based on i386 or
8905 x86_64 platform.
8906 (GRUB_PE32_PE32_MAGIC): Likewise.
8907
8908 * include/grub/efi/uga_draw.h: New file.
8909
8910 * include/grub/elf.h (STN_ABS): New constant.
8911 (R_X86_64_NONE): Relocation constant for x86_64.
8912 (R_X86_64_64): Likewise.
8913 (R_X86_64_PC32): Likewise.
8914 (R_X86_64_GOT32): Likewise.
8915 (R_X86_64_PLT32): Likewise.
8916 (R_X86_64_COPY): Likewise.
8917 (R_X86_64_GLOB_DAT): Likewise.
8918 (R_X86_64_JUMP_SLOT): Likewise.
8919 (R_X86_64_RELATIVE): Likewise.
8920 (R_X86_64_GOTPCREL): Likewise.
8921 (R_X86_64_32): Likewise.
8922 (R_X86_64_32S): Likewise.
8923 (R_X86_64_16): Likewise.
8924 (R_X86_64_PC16): Likewise.
8925 (R_X86_64_8): Likewise.
8926 (R_X86_64_PC8): Likewise.
8927
8928 * include/grub/i386/efi/pci.h: New file.
8929
8930 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
8931 Change it value based on platform.
8932 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
8933 (GRUB_E820_RAM): Likewise.
8934 (GRUB_E820_RESERVED): Likewise.
8935 (GRUB_E820_ACPI): Likewise.
8936 (GRUB_E820_NVS): Likewise.
8937 (GRUB_E820_EXEC_CODE): Likewise.
8938 (GRUB_E820_MAX_ENTRY): Likewise.
8939 (grub_e820_mmap): New structure.
8940 (linux_kernel_header): Change the efi field according to different
8941 kernel version, also field from linux_kernel_header.
8942
8943 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
8944
8945 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
8946 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
8947 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
8948 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
8949 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
8950 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
8951 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
8952 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
8953 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
8954 (GRUB_PCI_ADDR_IO_MASK): Likewise.
8955
8956 * include/grub/x86_64/efi/kernel.h: New file.
8957
8958 * include/grub/x86_64/efi/loader.h: Likewise.
8959
8960 * include/grub/x86_64/efi/machine.h: Likewise.
8961
8962 * include/grub/x86_64/efi/pci.h: Likewise.
8963
8964 * include/grub/x86_64/efi/time.h: Likewise.
8965
8966 * include/grub/x86_64/linux.h: Likewise.
8967
8968 * include/grub/x86_64/setjmp.h: Likewise.
8969
8970 * include/grub/x86_64/time.h: Likewise.
8971
8972 * include/grub/x86_64/types.h: Likewise.
8973
8974 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
8975 GRUB_TARGET_SIZEOF_VOID_P.
8976
8977 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
8978 (grub_efi_locate_handle): Likewise.
8979 (grub_efi_open_protocol): Likewise.
8980 (grub_efi_set_text_mode): Likewise.
8981 (grub_efi_stall): Likewise.
8982 (grub_exit): Likewise.
8983 (grub_reboot): Likewise.
8984 (grub_halt): Likewise.
8985 (grub_efi_exit_boot_services): Likewise.
8986 (grub_get_rtc): Likewise.
8987
8988 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
8989 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
8990 (grub_efi_allocate_pages): Wrap efi calls.
8991 (grub_efi_free_pages): Wrap efi calls.
8992 (grub_efi_get_memory_map): Wrap efi calls.
8993
8994 * kern/x86_64/dl.c: New file.
8995
8996 * kern/x86_64/efi/callwrap.S: Likewise.
8997
8998 * kern/x86_64/efi/startup.S: Likewise.
8999
9000 * loader/efi/appleloader.c: Likewise.
9001
9002 * loader/efi/chainloader.c (cmdline): New variable.
9003 (grub_chainloader_unload): Wrap efi calls.
9004 (grub_chainloader_boot): Likewise.
9005 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9006 command line.
9007
9008 * loader/efi/chainloader_normal.c (chainloader_command):
9009 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9010 command line.
9011
9012 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9013 method.
9014 (grub_e820_add_region): New function.
9015 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9016 booting.
9017 (grub_find_video_card): New function.
9018 (grub_linux_setup_video): New function.
9019 (grub_rescue_cmd_linux): Probe for video information.
9020
9021 * normal/x86_64/setjmp.S: New file.
9022
9023 * term/efi/console.c (map_char): New function.
9024 (grub_console_putchar): Map unicode char.
9025 (grub_console_checkkey): Wrap efi calls.
9026 (grub_console_getkey): Likewise.
9027 (grub_console_getwh): Likewise.
9028 (grub_console_gotoxy): Likewise.
9029 (grub_console_cls): Likewise.
9030 (grub_console_setcolorstate): Likewise.
9031 (grub_console_setcursor): Likewise.
9032
9033 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9034
59652a20 90352008-07-16 Pavel Roskin <proski@gnu.org>
9036
ef294055 9037 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9038 format strings.
9039
59652a20 9040 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9041 pointer, not an integer. This fixes a warning and prevents
9042 precision loss on 64-bit systems.
9043 (relocate_addresses): Remove unneeded cast.
9044
afc3b5d7 90452008-07-15 Pavel Roskin <proski@gnu.org>
9046
506b2b3e 9047 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9048
62ead89c 9049 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9050
c4cd51d7 9051 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9052 Fix comparison between signed and unsigned.
9053
0d3d8f28 9054 * include/grub/i386/ieee1275/console.h: Declare
9055 grub_console_init() and grub_console_fini().
9056
8804b286 9057 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9058 It's empty and unused.
9059
ee01cf35 9060 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9061 beginning to avoid warnings with some compilers.
9062
afc3b5d7 9063 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9064 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9065
e4e8eaa5 90662008-07-14 Pavel Roskin <proski@gnu.org>
9067
407aceb4 9068 * kern/env.c (grub_register_variable_hook): Don't copy empty
9069 string, it leaks memory. Pass "" to grub_env_set(), it should
9070 handle constant strings.
9071
e4e8eaa5 9072 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9073 * commands/cmp.c (grub_cmd_cmp): Likewise.
9074 * kern/dl.c (grub_dl_flush_cache): Likewise.
9075 (grub_dl_load_core): Likewise.
9076 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
9077 (grub_elf64_load_phdrs): Likewise.
9078
d4e2dad3 90792008-07-13 Pavel Roskin <proski@gnu.org>
9080
9081 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
9082 between signed and unsigned.
9083 (LzmaEnc_Finish): Fix warning about an unused parameter.
9084
aa24b516 90852008-07-13 Bean <bean123ch@gmail.com>
9086
9087 * Makefile.in (enable_lzo): New rule.
9088
9089 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
9090
9091 * configure.ac (ENABLE_LZO): New option --enable-lzo.
9092
9093 * boot/i386/pc/lnxboot.S: #include <config.h>.
9094
9095 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 9096 its value according to the compression algorithm used, lzo or lzma.
aa24b516 9097
9098 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
9099 compression algorithm according to configure macro.
9100
9101 * kern/i386/pc/startup.S (codestart): Likewise.
9102
9103 * kern/i386/pc/lzma_decode.S: New file.
9104
9105 * include/grub/lib/LzFind.h: Likewise.
9106
9107 * include/grub/lib/LzHash.h: Likewise.
9108
9109 * include/grub/lib/LzmaDec.h: Likewise.
9110
9111 * include/grub/lib/LzmaEnc.h: Likewise.
9112
9113 * include/grub/lib/LzmaTypes.h: Likewise.
9114
9115 * lib/LzFind.c: Likewise.
9116
9117 * lib/LzmaDec.c: Likewise.
9118
9119 * lib/LzmaEnc.c: Likewise.
9120
4ae821ac 91212008-07-13 Bean <bean123ch@gmail.com>
9122
9123 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
9124 (grub_ext4_extent_header): New structure.
9125 (grub_ext4_extent): Likewise.
9126 (grub_ext4_extent_idx): Likewise.
9127 (grub_ext4_find_leaf): New function.
9128 (grub_ext2_read_block): Handle extents.
9129
9a745147 91302008-07-12 Robert Millan <rmh@aybabtu.com>
9131
9132 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
9133
d49a4cf6 91342008-07-11 Robert Millan <rmh@aybabtu.com>
9135
9136 * util/grub.d/40_custom.in: New file. Example on how to add custom
9137 entries to /etc/grub.d.
9138 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
9139 40_custom (implicitly, by merging all the grub.d rules).
9140
947414b4 91412008-07-11 Pavel Roskin <proski@gnu.org>
9142
0059cf6f 9143 * commands/read.c (grub_getline): Fix invalid memory access.
9144 Don't add newline to the variable value.
9145
947414b4 9146 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
9147 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
9148 (serial_hw_get_port): Check validity of the port number.
9149 (grub_cmd_serial): Check return value of serial_hw_get_port().
9150
62a02d00 91512008-07-07 Pavel Roskin <proski@gnu.org>
9152
9153 * boot/i386/pc/diskboot.S (notification_string): Replace
9154 "Loading kernel" with just "loading". This is shorter, less
9155 confusing and saves a few bytes for possible future changes.
9156
3e5581b0 91572008-07-05 Pavel Roskin <proski@gnu.org>
9158
ea387a48 9159 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
9160 size for ATAPI devices, they are undefined. Output sector
9161 number in decimal form.
9162
3e5581b0 9163 * disk/ata.c: Use named constants for status bits.
9164
fdecb8fd 91652008-07-04 Pavel Roskin <proski@gnu.org>
9166
bcd35b90 9167 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
9168 grub_addr_t before casting it to the void pointer to fix a
9169 warning. Non-addressable regions are discarded earlier.
9170 (grub_arch_modules_addr): Cast _end to grub_addr_t.
9171 * kern/i386/linuxbios/table.c: Include grub/misc.h.
9172 (check_signature): Don't shadow table_header.
9173 (grub_linuxbios_table_iterate): Cast numeric constants to
9174 grub_linuxbios_table_header_t.
9175 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
9176 grub_stop().
9177
af58ab3d 9178 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
9179 prevent warnings.
9180
1759aa57 9181 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
9182 pointer, which can cause warnings. Support 64-bit addresses.
9183
fdecb8fd 9184 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
9185 of sizeof(long). This fixes PowerPC image generation on x86_64.
9186
8516d2a8 91872008-07-04 Robert Millan <rmh@aybabtu.com>
9188
9189 This fixes a performance issue when pc & gpt partmap iterators
9190 didn't abort iteration even after our hook found what it was
fe987087 9191 looking for (often causing expensive probes of non-existent drives).
8516d2a8 9192
9193 Some callers relied on previous buggy behaviour, since they would
34c44600 9194 raise an error when their own hooks caused early abortion of its
8516d2a8 9195 iteration.
9196
9197 * kern/device.c (grub_device_open): Improve error message.
9198 * disk/lvm.c (grub_lvm_open): Likewise.
9199 * disk/raid.c (grub_raid_open): Likewise.
9200
9201 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
9202 when hook requests it, independently of grub_errno.
9203 (pc_partition_map_probe): Do not fail when find_func() caused
9204 early abortion of pc_partition_map_iterate().
9205
9206 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
9207 when hook requests it, independently of grub_errno.
9208 (gpt_partition_map_probe): Do not fail when find_func() caused
9209 early abortion of gpt_partition_map_iterate().
9210
9211 * kern/partition.c (grub_partition_iterate): Abort parent iteration
9212 when hook requests it, independently of grub_errno. Do not fail when
9213 part_map_iterate_hook() caused early abortion of p->iterate().
9214
9215 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
9216 when grub_partition_iterate() returned with non-zero.
9217
277d0de9 92182008-07-03 Pavel Roskin <proski@gnu.org>
9219
9220 * disk/ata.c (grub_ata_pio_write): Check status before writing,
9221 like we do in grub_ata_pio_read().
9222 (grub_ata_readwrite): Always write individual sectors. Fix the
9223 sector count for the remainder.
9224 (grub_ata_write): Enable writing to ATA devices. Correctly
9225 report error for ATAPI devices.
9226
d4c9b428 92272008-07-02 Pavel Roskin <proski@gnu.org>
9228
e43fc690 9229 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
9230 warning.
9231
f707af42 9232 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
9233 for every read sector, we already increment it for the whole
9234 batch. This fixes reading more than 256 sectors at once.
9235
11e16b15 9236 * util/grub-editenv.c (cmd_info): Cast argument to long
9237 explicitly. ptrdiff_t reduces to int on i386.
9238
cbabfdd4 9239 * util/grub-editenv.c (main): Be specific which parameter is
9240 missing.
9241
b8fbce0a 9242 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
9243 (memdisk): Make memdisk_orig_addr a pointer.
9244
c9c8e606 9245 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
9246 for file offsets, use grub_off_t instead. Fix printf format
9247 warnings.
9248
ca62e598 9249 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
9250 there. Real unexpected warnings should not drown in the noise
9251 about known problems.
9252
ce8d1766 9253 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
9254 grub_disk_addr_t for memory addresses.
9255
00c7a56a 9256 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
9257 explicitly to fix a warning.
9258
08d3ef09 9259 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
9260
cb71ba20 9261 * Makefile.in (MODULE_LDFLAGS): New variable.
9262 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
9263 the linker accepts --build-id=none.
9264 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
9265 MODULE_LDFLAGS.
9266 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
9267
d4c9b428 9268 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
9269 those in Linux XFS code. Provide a way to access 64-bit parent
9270 inode.
9271 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
9272 the end of struct grub_xfs_dir_header.
9273
d4156eee 92742008-07-02 Bean <bean123ch@gmail.com>
9275
9276 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
9277 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9278 and GRUB_IEEE1275_FLAG_NO_ANSI.
9279
9280 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
9281 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9282 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
9283
9284 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
9285 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
9286
9287 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
9288 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
9289
9290 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
9291 esc sequence on non ANSI terminal.
9292 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
9293
9294 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
9295 beginning of file.
9296
2270f77b 92972008-07-02 Bean <bean123ch@gmail.com>
9298
9299 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
9300 (grub_editenv_SOURCES): New variable.
9301 (pkglib_MODULES): Add loadenv.mod.
9302 (loadenv_mod_SOURCES): New variable.
9303 (loadenv_mod_CFLAGS): Likewise.
9304 (loadenv_mod_LDFLAGS): Likewise.
9305
9306 * include/grub/envblk.h: New file.
9307
9308 * util/envblk.c: New file.
9309
9310 * util/grub-editenv.c: New file.
9311
9312 * commands/loadenv.c: New file.
9313
0e9e51ec 93142008-07-01 Pavel Roskin <proski@gnu.org>
9315
d89b7634 9316 * include/multiboot2.h (struct multiboot_tag_module): Use char,
9317 not unsigned char. This fixes warnings and is consistent with
9318 other tags.
9319
bf1835b1 9320 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
9321
8222a04b 9322 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
9323
6a42d99d 9324 * term/tparm.c (analyze): Always set *popcount.
9325
10b159d1 9326 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
9327 cast to fix a warning.
9328
b8789f6c 9329 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
9330 cast to suppress a warning.
9331
29d7e38a 9332 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
9333 grub_fshelp_read_file() expects.
9334
f341f669 9335 * fs/fat.c: Fix UUID calculation on big-endian systems. We
9336 write uuid as a 32-bit value in CPU byte order, so declare and
9337 use it as such.
9338
0e9e51ec 9339 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
9340 long if the format specifier expects it.
9341 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
9342 * partmap/pc.c (pc_partition_map_iterate): Likewise.
9343 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
9344 long to fix a warning.
9345 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
9346 grub_dprintf() arguments to fix warnings.
9347
3aefa857 93482008-06-30 Pavel Roskin <proski@gnu.org>
9349
56c7668b 9350 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
9351 install_bsd_part immediately before core.img is embedded or
9352 modified on disk. This fixes core.img verification if core.img
9353 cannot be embedded.
9354
3aefa857 9355 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
9356 core_path to calculate the blocklist.
9357 Patch from Javier Martín <lordhabbit@gmail.com>
9358
5444088d 93592008-06-29 Robert Millan <rmh@aybabtu.com>
9360
9361 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
9362 block to disk block.
9363 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
9364 Patch from Niels Böhm <bitbucket@arcor.de>
9365
674835c8 93662008-06-29 Robert Millan <rmh@aybabtu.com>
9367
9368 * util/update-grub_lib.in (font_path): Search for fonts in
9369 /boot/grub first, which is more likely to be readable (we aren't
9370 deciding where fonts live, just looking for them).
9371
f527dbc8 93722008-06-26 Pavel Roskin <proski@gnu.org>
9373
6c2d8df6 9374 * util/biosdisk.c (read_device_map): Don't leave dead map
9375 entries for devices failing stat() check.
9376
f527dbc8 9377 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
9378 core_path_dev for the core.img path on the target device.
9379
aebe3d13 93802008-06-26 Robert Millan <rmh@aybabtu.com>
9381
9382 * disk/fs_uuid.c: New file.
9383 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
9384 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
9385 (fs_uuid_mod_LDFLAGS): New variables.
9386 * include/grub/disk.h (grub_disk_dev_id): Add
9387 `GRUB_DISK_DEVICE_UUID_ID'.
9388 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
9389 implement iterate().
9390
37aaf354 93912008-06-26 Robert Millan <rmh@aybabtu.com>
9392
9393 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
9394 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
9395 Linux image includes no initrd.
9396
25ff262a 93972008-06-21 Javier Martín <lordhabbit@gmail.com>
9398
9399 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
9400 call to resolve the core image location that effectively appended the
9401 name twice.
9402
76a2bd44 94032008-06-21 Robert Millan <rmh@aybabtu.com>
9404
9405 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
9406 call from here ...
9407
9408 * util/grub.d/10_hurd.in: ... to here ...
9409 * util/grub.d/10_linux.in: ... and here.
9410
650e1c79 94112008-06-19 Robert Millan <rmh@aybabtu.com>
9412
fe987087 9413 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 9414 after it has been set by grub_machine_set_prefix().
9415
6ce63911 94162008-06-19 Robert Millan <rmh@aybabtu.com>
9417
9418 * commands/search.c (search_label, search_fs_uuid, search_file): Print
9419 search result when not saving to variable, not the other way around.
9420 When saving to variable, abort iteration as soon as a match is found.
9421
73940cec 94222008-06-19 Robert Millan <rmh@aybabtu.com>
9423
9424 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
9425 check for partition that provides /boot/grub. Its logic is flawed,
9426 as it prevents prepare_grub_to_access_device() from being called
9427 multiple times.
9428
3c62a39d 94292008-06-19 Robert Millan <rmh@aybabtu.com>
9430
9431 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
9432 "insmod" command directly when abstraction modules are needed,
fe987087 9433 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 9434 since it had already been processed).
9435
47395a42 94362008-06-19 Pavel Roskin <proski@gnu.org>
9437
9438 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
9439 changed. This is needed in case GRUB_LIBDIR changes.
9440 * conf/i386-ieee1275.rmk: Likewise.
9441 * conf/i386-linuxbios.rmk: Likewise.
9442 * conf/i386-pc.rmk: Likewise.
9443 * conf/powerpc-ieee1275.rmk: Likewise.
9444
a145ac2d 94452008-06-18 Pavel Roskin <proski@gnu.org>
9446
9447 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
9448 kernel_elf_symlist.c to symlist.c for consistency with other
9449 architectures. Update all users.
9450 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9451
7847c51e 94522008-06-18 Robert Millan <rmh@aybabtu.com>
9453
9454 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
9455 it in prefix.
9456
9457 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
9458 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
9459 a RAID device, run setup() for all members independently on whether
9460 LVM abstraction is being used.
9461 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
9462 If grub-mkimage has set `*install_dos_part == -2', don't override this
9463 value.
9464 Perform *install_dos_part adjustments independently on whether
9465 we're embedding or not.
9466 Clarify error message when image is too big for embedding.
9467 Remove duplicate *install_dos_part stanza.
9468
b23e5644 94692008-06-17 Robert Millan <rmh@aybabtu.com>
9470
9471 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
9472 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
9473 variables.
9474 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
9475 values in grub_ofconsole_normal_color and
9476 grub_ofconsole_highlight_color (they're not directly related to
9477 background and foreground).
9478 (grub_ofconsole_setcolorstate): Extract background and foreground
9479 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
9480
0aac2f79 94812008-06-17 Robert Millan <rmh@aybabtu.com>
9482
9483 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
9484 /boot/grub for the check in last commit, not /boot (they could be
9485 different partitions).
9486
3cca7ef3 94872008-06-16 Robert Millan <rmh@aybabtu.com>
9488
9489 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
9490 asked to setup access for the same partition that provides /boot,
9491 don't bother using UUIDs since our root already has the value we
9492 want.
9493
347396d8 94942008-06-16 Robert Millan <rmh@aybabtu.com>
9495
9496 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
9497 I2O devices.
9498 Patch from Sven Mueller <sven@debian.org>.
9499
991477f8 95002008-06-16 Robert Millan <rmh@aybabtu.com>
9501
9502 * util/update-grub.in: Check for $EUID instead of $UID.
9503 Reported by Vincent Zweije.
9504
d31a32a1 95052008-06-16 Bean <bean123ch@gmail.com>
9506
fe987087 9507 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 9508 (grub_ext2_read_block): Likewise.
9509 (grub_ext2_read_inode): Likewise.
9510 (grub_ext2_mount): Likewise.
9511 (grub_ext2_close): Likewise.
9512 (grub_ext3_get_journal): Removed.
9513
fe987087 9514 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 9515 (grub_reiserfs_read_symlink): Likewise.
9516 (grub_reiserfs_mount): Likewise.
9517 (grub_reiserfs_open): Likewise.
9518 (grub_reiserfs_read): Likewise.
9519 (grub_reiserfs_close): Likewise.
9520 (grub_reiserfs_get_journal): Removed.
9521
9522 * fs/fshelp.c (grub_fshelp_read): Removed.
9523 (grub_fshelp_map_block): Likewise.
9524
9525 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
9526 (grub_fshelp_journal): Likewise.
9527 (grub_fshelp_read): Likewise.
9528 (grub_fshelp_map_block): Likewise.
9529
3540a760 95302008-06-16 Pavel Roskin <proski@gnu.org>
9531
9532 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
9533 floating point anymore.
9534 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
9535
95614c84 95362008-06-15 Pavel Roskin <proski@gnu.org>
9537
9538 * commands/ls.c (grub_ls_list_files): Use integer calculations
9539 for human readable format, avoid floating point use.
9540 * kern/misc.c (grub_ftoa): Remove.
9541 (grub_vsprintf): Remove floating point support.
9542
50465dd6 95432008-06-15 Robert Millan <rmh@aybabtu.com>
9544
fe6b695a 9545 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 9546 devices.
9547 Reported by Max Vozeler.
9548
a9207284 95492008-06-15 Robert Millan <rmh@aybabtu.com>
9550
9551 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
9552 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
9553 skipped later.
9554 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
9555 the beginning of the prefix.
9556
9557 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
9558 It is assumed that if we have a memdisk, grub-mkimage has set
9559 grub_prefix to include the "(memdisk)" drive in it.
9560
a7cbd45a 95612008-06-15 Robert Millan <rmh@aybabtu.com>
9562
9563 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
9564 Initialize keyboard controller after registering the terminal, so that
9565 grub_printf() can be called from grub_keyboard_controller_init().
9566
21cf716a 95672008-06-15 Robert Millan <rmh@aybabtu.com>
9568
9569 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
9570 extent-btree which is written as big endian on disk.
9571 Reported by Alain Greppin <al@chilibi.org>.
9572
23a64d8e 95732008-06-14 Robert Millan <rmh@aybabtu.com>
9574
9575 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
9576 * util/i386/pc/grub-install.in (modules): Likewise.
9577
d687651c 95782008-06-13 Pavel Roskin <proski@gnu.org>
9579
9580 * commands/ls.c (grub_ls_list_files): Fix format warnings.
9581
dfe9ddd4 95822008-06-13 Bean <bean123ch@gmail.com>
9583
9584 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
9585
9586 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
9587
9588 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
9589 to indicate sparse block.
9590
16ae7781 95912008-06-12 Pavel Roskin <proski@gnu.org>
9592
e6d1a308 9593 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
9594 number, grub_fshelp_read() does it for us.
9595
16ae7781 9596 * fs/fshelp.c (grub_fshelp_read): New function. Implement
9597 linear disk read with journal translation.
9598 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
9599 * include/grub/fshelp.h: Declare grub_fshelp_read().
9600
40fd3a2b 96012008-06-09 Pavel Roskin <proski@gnu.org>
9602
9603 * fs/minix.c (grub_minix_mount): Handle error reading
9604 superblock.
9605
f5679726 96062008-06-08 Robert Millan <rmh@aybabtu.com>
9607
9608 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
9609 don't append the RAID prefix afterwards.
9610 Reported by Clint Adams.
9611
ce525529 96122008-06-08 Robert Millan <rmh@aybabtu.com>
9613
9614 Based on description from Pavel:
9615 * kern/disk.c (grub_disk_check_range): Rename to ...
9616 (grub_disk_adjust_range): ... this. Add a comment explaining the
9617 tasks performed by this function.
9618
ad4936a0 96192008-06-08 Robert Millan <rmh@aybabtu.com>
9620
9621 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
9622 `num_serial' (for consistency with other variables).
9623 (struct grub_ntfs_data): Add `uuid' member.
9624 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
9625 (grub_ntfs_uuid): New function.
9626 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
9627
dc20b0f9 96282008-06-07 Pavel Roskin <proski@gnu.org>
9629
9630 * util/biosdisk.c (open_device): Revert last change to the
9631 function, it broke installation. The sector needs to be
9632 different dependent on which device is opened.
9633
c5e3cfba 96342008-06-06 Robert Millan <rmh@aybabtu.com>
9635
9636 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
9637 rest of GRUB, and breakage doesn't happen if its value were modified.
9638
9639 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9640 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
9641 a constant (same value).
9642 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
9643 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
9644
26a1f8c4 96452008-06-06 Robert Millan <rmh@aybabtu.com>
9646
9647 * util/biosdisk.c (open_device): Do not modify sector offset when
9648 accessing a partition. kern/disk.c already handles this for us.
9649
25d6b327 96502008-06-06 Robert Millan <rmh@aybabtu.com>
9651
9652 * util/grub-emu.c (grub_machine_init): Move code in this function from
9653 here ...
9654 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
9655 segfault in case grub_printf() is called).
9656
9657 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
9658 grub_probe. Update all users not to explicitly add it again.
9659 (grub_device): New variable; contains corresponding device for grubdir.
9660 (fs_module, partmap_module, devabstraction_module): Pass
9661 `--device ${grub_device}' to grub_probe to avoid traversing /dev
9662 every time.
9663
9ece62fb 96642008-06-05 Robert Millan <rmh@aybabtu.com>
9665
9666 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
9667 is found, print it (same layout as with labels).
9668
1ad36d37 96692008-06-04 Robert Millan <rmh@aybabtu.com>
9670
9671 * util/biosdisk.c (get_drive): Rename to ...
9672 (find_grub_drive): ... this. Update all users.
9673
9674 (get_os_disk): Rename to ...
9675 (convert_system_partition_to_system_disk): ... this. Update all users.
9676
9677 (find_drive): Rename to ...
9678 (find_system_device): ... this. Update all users.
9679
e6a30859 96802008-06-04 Robert Millan <rmh@aybabtu.com>
9681
9682 * util/biosdisk.c (get_os_disk): Handle IDA devices.
9683 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9684 (make_device_map): Likewise.
9685
00c108a4 96862008-06-01 Robert Millan <rmh@aybabtu.com>
9687
9688 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
9689 before dereferencing it.
9690
9691 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
9692 union with fat12/fat16-specific ones. Add some new fields, including
9693 `num_serial' for both versions.
9694 (struct grub_fat_data): Add `uuid' member.
9695 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
9696 names. Initialize `data->uuid' using `num_serial'.
9697 (grub_fat_uuid): New function.
9698 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
9699
9700 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
9701 (grub_reiserfs_uuid): New function.
9702 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
9703 member.
9704
9705 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
9706 (grub_xfs_uuid): New function.
9707 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
9708
1385c5bb 97092008-06-01 Robert Millan <rmh@aybabtu.com>
9710
9711 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
9712 code that is backward compatible with pre-uuid search command.
9713
c682dfd7 97142008-05-31 Robert Millan <rmh@aybabtu.com>
9715
9716 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
9717 floppies after everything else, to ensure floppy drive isn't accessed
9718 unnecessarily (patch from Bean).
9719
b7db5d47 97202008-05-31 Robert Millan <rmh@aybabtu.com>
9721
9722 * commands/search.c (search_label, search_fs_uuid, search_file): Do
9723 not print device names when we were asked to set a variable.
9724
6e037aa9 97252008-05-31 Robert Millan <rmh@aybabtu.com>
9726
9727 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
9728 using "cursor-on" and "cursor-off" commands (understood at least by
9729 the Open Firmware flavour on OLPC).
9730
41305bc8 97312008-05-31 Michael Gorven <michael@gorven.za.net>
9732
9733 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
9734 on and off sequences.
9735
69ba137e 97362008-05-31 Robert Millan <rmh@aybabtu.com>
9737
9738 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
9739 * util/update-grub.in: Likewise.
9740
520ae21b 97412008-05-30 Pavel Roskin <proski@gnu.org>
9742
9743 * util/biosdisk.c (linux_find_partition): Simplify logic and
9744 make the code more universal. Keep special processing for
9745 devfs, but use a simple rule for all other devices. If the
9746 device ends with a number, append 'p' and the partition number.
9747 Otherwise, append only the partition number.
9748
5786569b 97492008-05-30 Robert Millan <rmh@aybabtu.com>
9750
9751 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
9752 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
9753 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
9754 the `root' parameter to Linux.
9755
51500452 97562008-05-30 Robert Millan <rmh@aybabtu.com>
9757
9758 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
9759 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
9760 --fs_uuid with --fs-uuid.
9761 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
9762 all filesystems support them).
9763
811d3878 97642008-05-30 Robert Millan <rmh@aybabtu.com>
9765
9766 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 9767 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 9768
cab63c95 97692008-05-30 Robert Millan <rmh@aybabtu.com>
9770
9771 * util/grub.d/00_header.in: Remove obsolete comment referencing
9772 convert_system_path_to_grub_path().
9773 * util/update-grub.in: Likewise.
9774 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
9775 (convert_system_path_to_grub_path): Add a warning message explaining
9776 that this function is deprecated. Rely on is_path_readable_by_grub()
9777 for the readability checks.
9778 (font_path): Use is_path_readable_by_grub() for the readability
9779 check rather than convert_system_path_to_grub_path().
9780
972e2f7a 97812008-05-30 Robert Millan <rmh@aybabtu.com>
9782
9783 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
9784 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
9785 converting it first.
9786 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
9787 grub.cfg for access to font file, and afterwards call it again to set
9788 the root device.
9789
62191274 97902008-05-30 Robert Millan <rmh@aybabtu.com>
9791
9792 * commands/search.c (options): Add --fs_uuid option.
9793 (search_fs_uuid): New function.
9794 (grub_cmd_search): Fix --set argument passing.
9795 Use search_fs_uuid() when requested via --fs_uuid.
9796 (grub_search_init): Update help message.
9797 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
9798 and redeclare it as an array of 16-bit words.
9799 (grub_ext2_uuid): New function.
9800 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
9801 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
9802 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
9803 (GRUB_DEVICE_BOOT_UUID): New variables.
9804 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
9805 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
9806 whenever possible.
9807 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
9808 just assume `root' variable has the right value.
9809 * util/grub.d/10_linux.in: Likewise.
9810 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
9811 via PRINT_FS_UUID.
9812 (main): Recognise `-t fs_uuid' argument.
9813
01b73ec8 98142008-05-30 Robert Millan <rmh@aybabtu.com>
9815
9816 * util/biosdisk.c (map): Redefine structure to hold information
9817 about GRUB drive name.
fe6b695a 9818 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 9819 drive names.
9820 (call_hook): Remove.
9821 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
9822 member. Assume drive has partitions.
9823 (grub_util_biosdisk_open): Access device names via `.device' struct
9824 member.
9825 (open_device): Likewise.
9826 (find_drive): Likewise.
9827 (read_device_map): Adjust map[] usage to match the new struct
9828 definition. Don't check for duplicates (still possible, but not cheap
9829 anymore).
9830 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
9831 (make_device_name): Remove assumption of BIOS-like drive names.
9832
22f16596 98332008-05-30 Pavel Roskin <proski@gnu.org>
9834
9835 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
9836 compiling execute.c doesn't need grub_script.tab.h anymore.
9837 (normal/command.c_DEPENDENCIES): Likewise.
9838 (normal/function.c_DEPENDENCIES): Likewise.
9839 * conf/i386-ieee1275.rmk: Likewise.
9840 * conf/i386-linuxbios.rmk: Likewise.
9841 * conf/i386-pc.rmk: Likewise.
9842 * conf/powerpc-ieee1275.rmk: Likewise.
9843 * conf/sparc64-ieee1275.rmk: Likewise.
9844
528ad8f2 98452008-05-29 Pavel Roskin <proski@gnu.org>
9846
d1dff95d 9847 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
9848 when scanning metadata for volume group name.
9849
528ad8f2 9850 * include/grub/script.h: Don't include grub_script.tab.h. It's
9851 a generated file, which may only be included from the files with
9852 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
9853 use union YYSTYPE, as the later allows forward declaration.
9854 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
9855
47248e08 98562008-05-29 Robert Millan <rmh@aybabtu.com>
9857
9858 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
9859 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
9860 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
9861 (grub_console_checkkey): Add grub_dprintf() call to report unknown
9862 scan codes.
9863
ee632529 98642008-05-29 Robert Millan <rmh@aybabtu.com>
9865
9866 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
9867 control key combinations.
9868
eee96e08 98692008-05-29 Robert Millan <rmh@aybabtu.com>
9870
9871 * util/powerpc/ieee1275/grub-install.in: Move from here ...
9872 * util/ieee1275/grub-install.in: ... to here.
9873 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
9874 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
9875 (grub_install_SOURCES): Likewise.
9876
da9a6a94 98772008-05-29 Robert Millan <rmh@aybabtu.com>
9878
9879 * fs/affs.c: Update copyright year.
9880 * fs/ext2.c: Likewise.
9881 * fs/fshelp.c: Likewise.
9882 * fs/hfsplus.c: Likewise.
9883 * fs/ntfs.c: Likewise.
9884 * fs/xfs.c: Likewise.
9885 * include/grub/fshelp.h: Likewise.
9886 * util/grub-mkdevicemap.c: Likewise.
9887
12e65f3a 98882008-05-28 Robert Millan <rmh@aybabtu.com>
9889
9890 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
9891 might need to be fatfs to support some firmware implementations
9892 (e.g. OFW or EFI).
9893
23023641 98942008-05-28 Robert Millan <rmh@aybabtu.com>
9895
9896 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
9897 devices.
9898 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9899 (make_device_map): Likewise.
9900
887d2619 99012008-05-20 Bean <bean123ch@gmail.com>
9902
9903 * fs/fshelp.c (grub_fshelp_map_block): New function.
9904 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
9905 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
9906
9907 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
9908 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
9909 (grub_fshelp_journal): New structure.
9910 (grub_fshelp_map_block): New function prototype.
9911 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
9912 (grub_fshelp_map_block): Likewise.
9913
9914 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
9915 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
9916 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
9917 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
9918 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
9919 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
9920 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
9921 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
9922 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
9923 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
9924 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
9925 (grub_ext2_sblock): New members for journal support.
9926 (grub_ext3_journal_header): New structure.
9927 (grub_ext3_journal_revoke_header): Likewise.
9928 (grub_ext3_journal_block_tag): Likewise.
9929 (grub_ext3_journal_sblock): Likewise.
9930 (grub_fshelp_node): New members logfile and journal.
9931 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
9932 grub_fshelp_map_block to get real block number.
9933 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
9934 number.
9935 (grub_ext2_read_inode): Likewise.
9936 (grub_ext3_get_journal): New function.
9937 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
9938 (grub_ext2_close): Release memory used by journal.
9939
9940 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
9941 (REISERFS_MAGIC_DESC_BLOCK): New macro.
9942 (grub_reiserfs_transaction_header): Renamed to
9943 grub_reiserfs_description_block, replace field data with real_blocks.
9944 (grub_reiserfs_commit_block): New structure.
9945 (grub_reiserfs_data): New member journal.
9946 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
9947 number.
9948 (grub_reiserfs_read_symlink): Likewise.
9949 (grub_reiserfs_iterate_dir): Likewise.
9950 (grub_reiserfs_open): Likewise.
9951 (grub_reiserfs_read): Likewise.
9952 (grub_reiserfs_get_journal): New function.
9953 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
9954 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
9955 using grub_reiserfs_get_journal.
9956 (grub_reiserfs_close): Release memory used by journal.
9957
9958 * fs/affs.c (grub_affs_read_block): Change block type to
9959 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
9960
9961 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
9962
9963 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
9964
9965 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
9966
9967 * fs/udf.c (grub_udf_read_block): Change block type to
9968 grub_disk_addr_t. Use type cast to avoid warning.
9969
9970 * fs/xfs.c (grub_xfs_read_block): Likewise.
9971
b7c6bed5 99722008-05-16 Christian Franke <franke@computer.org>
9973
9974 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
9975 to ensure that break with ESC will always work.
9976 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
9977 Remove ESC from keyboard queue.
9978
eedf167f 99792008-05-16 Christian Franke <franke@computer.org>
9980
9981 * util/biosdisk.c: [__CYGWIN__] Add includes.
9982 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
9983 (get_os_disk): Move variable declarations to OS specific
9984 parts to avoid warning.
9985 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
9986 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
9987 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
9988 Cygwin.
9989 * util/getroot.c: [__CYGWIN__] Add includes.
9990 (strip_extra_slashes): Fix "/" case.
9991 [__CYGWIN__] (get_win32_path): New function.
9992 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
9993 [__CYGWIN__] (find_root_device): Disable.
9994 [__CYGWIN__] (get_bootsec_serial): New function.
9995 [__CYGWIN__] (find_cygwin_root_device): Likewise.
9996 [__linux__] (grub_guess_root_device): Add early returns to simplify
9997 structure.
9998 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
9999 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
10000 check for Linux only.
10001
a079699e 100022008-05-15 Bean <bean123ch@gmail.com>
10003
10004 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10005 keyboard hang problem in apple's intel mac.
10006
1cf4059a 100072008-05-09 Robert Millan <rmh@aybabtu.com>
10008
10009 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10010 devices.
10011 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10012 (make_device_map): Likewise.
10013 Reported by Aurelien Jarno <aurel32@debian.org>
10014
ed759390 100152008-05-07 Ian Campbell <ijc@hellion.org.uk>
10016
10017 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10018 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10019 (make_device_map): Output entries for xvd type disks.
10020
b56c4eaa 100212008-05-07 Robert Millan <rmh@aybabtu.com>
10022
10023 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10024 devices.
10025 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10026 (make_device_map): Likewise.
10027 Reported by Roland Dreier <rdreier@cisco.com>
10028
7f8866ed 100292008-05-07 Robert Millan <rmh@aybabtu.com>
10030
10031 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10032 grub_strstr() call. Correct a few mistakes in failure path handling.
10033
b0346e0f 100342008-05-06 Robert Millan <rmh@aybabtu.com>
10035
10036 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10037 Do not print a trailing slash (therefore, the root directory is an
10038 empty string).
10039 (convert_system_path_to_grub_path): Do not remove trailing slash
10040 from make_system_path_relative_to_its_root() output.
10041
10042 * util/i386/pc/grub-install.in: Add trailing slash to output from
10043 make_system_path_relative_to_its_root().
10044
6cf12cbd 100452008-05-06 Robert Millan <rmh@aybabtu.com>
10046
10047 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10048 ensures that output lines aren't intermangled with those sent to
10049 stderr (via grub_util_info()).
10050 * util/grub-probe.c (grub_refresh): Likewise.
10051 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10052
0fbb3117 100532008-05-05 Christian Franke <franke@computer.org>
10054
10055 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10056 Add Cygwin device names.
10057 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10058 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10059 (check_device): Return error instead of success on empty name.
10060 (make_device_map): Move label inside linux specific code to
10061 prevent compiler warning.
10062
8124cdb7 100632008-04-30 Robert Millan <rmh@aybabtu.com>
10064
10065 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10066 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10067 first boot option.
10068 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10069
094c01d0 100702008-04-29 Robert Millan <rmh@aybabtu.com>
10071
10072 * docs/grub.cfg: New file (example GRUB configuration).
10073
f4b1fc02 100742008-04-26 Robert Millan <rmh@aybabtu.com>
10075
329ce2a5 10076 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
10077 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
10078 and `disk/ieee1275/nand.c'.
f4b1fc02 10079
25f16ec1 100802008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 10081
25f16ec1 10082 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
10083 i386-linuxbios.
10084
10085 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
10086 change the buffer size to 4096 for cdrom device.
10087
10088 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
10089 and nand.mod.
10090 (_linux_mod_SOURCES): New variable.
10091 (_linux_mod_CFLAGS): Likewise.
10092 (_linux_mod_LDFLAGS): Likewise.
10093 (linux_mod_SOURCES): Likewise.
10094 (linux_mod_CFLAGS): Likewise.
10095 (linux_mod_LDFLAGS): Likewise.
10096 (nand_mod_SOURCES): Likewise.
10097 (nand_mod_CFLAGS): Likewise.
10098 (nand_mod_LDFLAGS): Likewise.
10099
10100 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
10101 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
10102 type property. (nand device in olpc don't have this property)
10103
10104 * include/grub/disk.h (grub_disk_dev_id): New macro
10105 GRUB_DISK_DEVICE_NAND_ID.
10106
10107 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
10108 function prototype.
10109 (grub_rescue_cmd_initrd): Likewise.
10110
10111 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
10112 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
10113 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 10114
25f16ec1 10115 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
10116 GRUB_MACHINE_IEEE1275 is defined.
10117
10118 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
10119 Use NESTED_FUNC_ATTR attribute on the hook parameter.
10120
10121 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
10122 on nested function heap_init.
10123 (grub_upper_mem): New variable for i386-ieee1275.
10124 (grub_get_extended_memory): New function for i386-ieee1275.
10125 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
10126
10127 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
10128 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
10129 property.
f19dbdb7 10130
25f16ec1 10131 * loader/i386/ieee1275/linux.c: New file.
10132
10133 * loader/i386/ieee1275/linux_normal.c: New file.
10134
10135 * disk/ieee1275/nand.c: New file.
10136
e89d61e9 101372008-04-18 Thomas Schwinge <tschwinge@gnu.org>
10138
10139 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
10140 value.
10141 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
10142
602566f6 101432008-04-18 Robert Millan <rmh@aybabtu.com>
10144
10145 Restructures early code path on ieee1275 to unify grub_main() as
10146 the first C function that is executed in every platform.
10147
10148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
10149 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
10150 cmain().
10151 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
10152 * kern/ieee1275/cmain.c (cmain): Rename to ...
10153 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
10154 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
10155 at the beginning.
10156
57490c2b 101572008-04-18 Robert Millan <rmh@aybabtu.com>
10158
10159 * util/update-grub.in: Fix syntax error when setting
10160 `GRUB_PRELOAD_MODULES'.
10161 Reported by Stephane Chazelas <stephane@artesyncp.com>
10162
1977517d 101632008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
10164
10165 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
10166 section into account, newer toolchains generate unique build ids
10167 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 10168 we want build ids to be preserved
1977517d 10169 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
10170 far from other sections don't cause the raw binary images grow
10171 size
10172
bfb1f1a2 101732008-04-15 Robert Millan <rmh@aybabtu.com>
10174
10175 * disk/lvm.c: Update copyright year.
10176 * kern/misc.c: Likewise.
10177
01979850 101782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10179
10180 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 10181 there is no memory left for physical volume name.
01979850 10182
0a1150e2 101832008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10184
10185 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
10186 volume name mapping to support bigger than 9 character names properly.
10187
82ead3fe 101882008-04-13 Robert Millan <rmh@aybabtu.com>
10189
10190 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
10191 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
10192
e54a72f5 101932008-04-13 Christian Franke <franke@computer.org>
10194
10195 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
10196 to create a floppy emulation boot CD when non emulation mode
10197 does not work.
10198 Enable Joliet CD filesystem extension.
10199
9fe86034 102002008-04-13 Robert Millan <rmh@aybabtu.com>
10201
10202 * kern/misc.c (grub_strncat): Fix off-by-one error.
10203 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
10204
10205 * kern/env.c (grub_env_context_close): Clear current context, not
10206 previous one.
10207 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
10208
10209 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
10210
7ceeee39 102112008-04-13 Robert Millan <rmh@aybabtu.com>
10212
10213 Improve robustness when handling LVM.
10214
10215 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 10216 (and leave `*p' unmodified).
7ceeee39 10217 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
10218 through it.
10219 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
10220 iterating through it.
10221 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
10222 through it.
fe6b695a 10223 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 10224 when due) on each grub_lvm_getvalue() or grub_strstr() call.
10225 Don't assume `vg->pvs != NULL' when iterating through it.
10226
58cd3d85 102272008-04-13 Robert Millan <rmh@aybabtu.com>
10228
10229 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
10230 * genmk.rb (partmap): New variable.
10231 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
10232 (#{partmap}): New target rule.
10233 * genpartmaplist.sh: New file.
10234 * Makefile.in (pkglib_DATA): Add partmap.lst.
10235 (partmap.lst): New target rule.
10236 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
10237 modules (including all partition maps), instead of preloading them.
10238
78b51059 102392007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
10240
10241 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
10242 `linux-boot-prober' (if installed) to detect other operating
10243 systems which are installed on the computer and add them to
10244 the boot menu.
10245 * conf/common.rmk: Build and install 30_os-prober.
10246
a91627b4 102472008-04-12 Robert Millan <rmh@aybabtu.com>
10248
10249 * kern/powerpc/ieee1275/init.c: Move from here ...
10250 * kern/ieee1275/init.c: ... to here. Update all users.
10251
10252 * kern/powerpc/ieee1275/cmain.c: Move from here ...
10253 * kern/ieee1275/cmain.c: ... to here. Update all users.
10254
10255 * kern/powerpc/ieee1275/openfw.c: Move from here ...
10256 * kern/ieee1275/openfw.c: ... to here. Update all users.
10257
10258 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
10259 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
10260
322562ea 102612008-04-10 Pavel Roskin <proski@gnu.org>
10262
10263 * configure.ac: Always use "_cv_" in cache variables for
10264 compatibility with Autoconf 2.62.
10265
a02a73c5 102662008-04-07 Robert Millan <rmh@aybabtu.com>
10267
10268 Revert grub/machine/init.h addition by Pavel (since it breaks on
10269 i386-ieee1275 and others):
10270 * util/i386/pc/misc.c: Remove grub/machine/init.h.
10271 * util/powerpc/ieee1275/misc.c: Likewise.
10272
25c024b1 102732008-04-07 Robert Millan <rmh@aybabtu.com>
10274
10275 * util/grub-probe.c (probe): Improve error message.
10276
3cbd2f98 102772008-04-07 Robert Millan <rmh@aybabtu.com>
10278
10279 * util/biosdisk.c (read_device_map): Skip devices that don't exist
10280 (this prevents the presence of a bogus entry from ruining the whole
10281 thing).
10282
87a297bf 102832008-04-06 Pavel Roskin <proski@gnu.org>
10284
36747a62 10285 * util/biosdisk.c: Include grub/util/biosdisk.h.
10286 * util/grub-fstest.c (execute_command): Make static.
10287 * util/grub-mkdevicemap.c (check_device): Likewise.
10288 * util/i386/pc/misc.c: Include grub/machine/init.h.
10289 * util/powerpc/ieee1275/misc.c: Likewise.
10290 * util/lvm.c: Include grub/util/lvm.h.
10291 * util/misc.c: Include grub/kernel.h, grub/misc.h and
10292 grub/cache.h.
10293 * util/raid.c: Include grub/util/raid.h.
10294 (grub_util_getdiskname): Make static.
10295
87a297bf 10296 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
10297 grub_hostfs_fini(), as they are called from grub_init_all() and
10298 grub_fini_all() respectively. This fixes an infinite loop in
10299 grub-fstest due to double registration of hostfs.
10300 Reported by Christian Franke <Christian.Franke@t-online.de>
10301
f6ce7629 103022008-04-05 Pavel Roskin <proski@gnu.org>
10303
10304 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
10305 all 8 functions. Otherwise, probe function 0 only.
10306
070e49e4 103072008-04-04 Pavel Roskin <proski@gnu.org>
10308
8b088a4c 10309 * commands/lspci.c (grub_lspci_iter): Print the bus number
10310 correctly.
10311
4f657021 10312 * commands/lspci.c (grub_pci_classes): Fix typos.
10313 (grub_lspci_iter): Don't print func twice. Print vendor ID
10314 before device ID, as it's normally done.
10315
070e49e4 10316 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
10317 Fix signedness warnings.
10318 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
10319 Likewise.
10320 * util/ieee1275/get_disk_name.c: Include config.h so that
10321 _GNU_SOURCE is defined and getline() is declared. Mark an
10322 unused argument as such. Fix a signedness warning.
10323
ba7328dc 103242008-04-02 Pavel Roskin <proski@gnu.org>
10325
26887f22 10326 * genkernsyms.sh.in: Use more robust assignments for CC and
10327 srcdir. Quote srcdir.
10328 * gensymlist.sh.in: Likewise. Assert at the compile time that
10329 the symbol table is not empty.
10330
ba7328dc 10331 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
10332 * fs/cpio.c (grub_cpio_read): Likewise.
10333
0f582c6b 103342008-04-01 Pavel Roskin <proski@gnu.org>
10335
4b6e1995 10336 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
10337 * disk/host.c (grub_host_open): Likewise.
10338 * disk/loopback.c (grub_loopback_open): Likewise.
10339 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
10340 disk->id as in disk/host.c, not a multi-character constant.
10341
828a2768 10342 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
10343 later is obsolete, potentially dangerous and sets a bad example.
10344 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
10345 * util/misc.c (grub_util_get_image_size): Likewise.
10346
2bb4fb47 10347 * disk/loopback.c (options): Improve help for "--partitions".
10348
0f582c6b 10349 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
10350 options to align them with the short options, e.g. "echo -e".
10351
a33224e0 103522008-03-31 Bean <bean123ch@gmail.com>
10353
10354 * video/reader/png.c (grub_png_data): New member is_16bit and
10355 image_data.
10356 (grub_png_decode_image_header): Detect 16 bit png image.
10357 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
10358 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
10359 (grub_video_reader_png): Release memory occupied by image_data.
10360
10361 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
10362 4096 bytes.
10363 (grub_nfs_mount): Skip the test for sector per cluster.
10364
10365 * include/grub/ntfs.h (MAX_SPC): Removed.
10366
86cb4f54 103672008-03-31 Bean <bean123ch@gmail.com>
10368
10369 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
10370 (grub_probe_SOURCES): Add fs/afs.c.
10371 (grub_fstest_SOURCES): Likewise.
10372 (afs_mod_SOURCES): New variable.
10373 (afs_mod_CFLAGS): Likewise.
10374 (afs_mod_LDFLAGS): Likewise.
10375
10376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
10377 (grub_emu_SOURCES): Likewise.
10378
10379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10380
10381 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10382
10383 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10384
10385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10386
10387 * fs/afs.c: New file.
10388
17c74c21 103892008-03-30 Pavel Roskin <proski@gnu.org>
10390
4cb68e89 10391 * disk/host.c: Include grub/misc.h to fix a warning.
10392 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
10393 warnings about implicit declarations.
10394
8790bb04 10395 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
10396 variable.
10397 * include/grub/i386/loader.h: Change declaration of
10398 grub_linux_boot() to match what grub_loader_set() expects.
10399 * util/getroot.c (grub_guess_root_device): Return const char* to
10400 fix a warning.
10401 * util/grub-probe.c (probe): Fix a warning about uninitialized
10402 abstraction_name variable.
10403 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
10404 second argument as unused to fix a warning.
10405
9a3f3296 10406 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
10407 missing grub_error() call.
10408
0ecef90d 10409 * util/update-grub_lib.in: Define datarootdir, since Autoconf
10410 2.60 and newer uses it to define datadir.
10411
0bf6d401 10412 * commands/sleep.c: Fix warning about implicit declaration.
10413 * disk/memdisk.c: Likewise.
10414 * loader/aout.c: Likewise.
10415 * loader/i386/bsd_normal.c: Likewise.
10416 * util/grub-probe.c: Likewise.
10417
7cdacf97 10418 * commands/i386/cpuid.c (has_longmode): Make static.
10419 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
10420 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
10421
17c74c21 10422 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
10423 GDT. This is more robust, as %ds can change.
10424 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
10425 calling real_to_prot().
10426 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
10427
80a3e68b 104282008-03-28 Pavel Roskin <proski@gnu.org>
10429
10430 * kern/i386/pc/startup.S: Assert that uncompressed functions
10431 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
10432 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
10433 code, as they push parts of the code (error handlers) beyond
10434 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
10435 code as correctness and size.
10436
77bcd272 104372008-03-28 Pavel Roskin <proski@gnu.org>
10438
10439 * kern/i386/pc/startup.S
10440 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
10441 data block address to the real mode, keep offset minimal. This
10442 works around a bug in AWARD BIOS on old Athlon systems, which
10443 makes CD detection hang.
10444
c5dfd43b 104452008-03-26 Pavel Roskin <proski@gnu.org>
10446
10447 * normal/color.c (grub_parse_color_name_pair): Make `name' a
10448 const.
10449 * include/grub/normal.h: Add grub_parse_color_name_pair()
10450 declaration.
10451
bf962df2 104522008-03-24 Bean <bean123ch@gmail.com>
10453
10454 * disk/i386/pc/biosdisk.c (cd_start): Removed.
10455 (cd_count): Removed.
10456 (cd_drive): New variable.
10457 (grub_biosdisk_get_drive): Don't check for (cdN) device.
10458 (grub_biosdisk_call_hook): Likewise.
10459 (grub_biosdisk_iterate): Change cdrom detection method.
10460 (grub_biosdisk_open): Replace cd_start with cd_drive.
10461 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
10462 detect cdrom device.
10463
10464 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
10465 Removed.
10466 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
10467 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
10468 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
10469 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
10470 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
10471 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
10472 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
10473 (grub_biosdisk_cdrp): New structure.
10474 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
10475
10476 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
10477
10478 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
10479 device.
10480
10481 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
10482 New function.
10483
68e7fc7a 104842008-03-20 Robert Millan <rmh@aybabtu.com>
10485
10486 Remove 2 TiB limit in ata.mod.
10487 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
10488 (grub_ata_dumpinfo): Print sector count with 0x%llx.
10489 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
10490 grub_uint64_t instead of grub_uint32_t.
10491
38ad2cf5 104922008-03-05 Bean <bean123ch@gmail.com>
10493
10494 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
10495 (grub_multiboot): Set boot device.
10496
10497 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
10498
2b89344e 104992008-03-02 Bean <bean123ch@gmail.com>
10500
10501 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
10502 symlink_buffer.
10503
87a95d1f 105042008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
10505
10506 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
10507 texinfo.tex.
10508
10509 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
10510 modified.
10511
10512 * docs/fdl.texi: New file.
f19dbdb7 10513
87a95d1f 10514 * docs/mdate-sh: New file. Copied from gnulib.
10515 * docs/texinfo.tex: Likewise.
10516
10517 * config.guess: Updated from gnulib.
10518 * install-sh: Likewise.
10519
7dc15d8e 105202008-02-28 Robert Millan <rmh@aybabtu.com>
10521
10522 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
10523 (aout_mod_SOURCES): New variable.
10524 (aout_mod_CFLAGS): Likewise.
10525 (aout_mod_LDFLAGS): Likewise.
10526
10527 * conf/i386-ieee1275.rmk: Likewise.
10528
b00ab696 105292008-02-28 Robert Millan <rmh@aybabtu.com>
10530
10531 * util/update-grub.in: Reorganise terminal validity check. Accept
10532 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
10533 Based on suggestion by Franklin PIAT.
10534
79ca2d78 105352008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
10536
10537 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
10538 function.
10539 * util/getroot.c (grub_util_check_block_device): New function that
10540 returns the given argument if it is a block device and returns NULL else.
10541 * util/grub-probe.c (argument_is_device): New variable.
10542 (probe): Promote device_name from a variable to an argument. Receive
10543 device_name from grub_util_check_block_device() if path is NULL and from
10544 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 10545 (options): Introduce new parameter '-d, --device'.
79ca2d78 10546 (main): Add description of the new parameter to the help screen.
10547 Rename path variable to argument. Set argument_is_device if the '-d'
10548 option is given. Pass argument to probe() depending on
10549 argument_is_device.
10550
0d16e571 105512008-02-24 Bean <bean123ch@gmail.com>
10552
10553 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
10554 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
10555 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
10556 (GRUB_ISO9660_VOLDESC_PART): Likewise.
10557 (GRUB_ISO9660_VOLDESC_END): Likewise.
10558 (grub_iso9660_primary_voldesc): New member escape.
10559 (grub_iso9660_data): New member joliet.
10560 (grub_iso9660_convert_string): New function.
10561 (grub_iso9660_mount): Detect joliet extension.
10562 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
10563 (grub_iso9660_iso9660_label): Likewise.
10564
10565 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
10566 (grub_setup_SOURCES): Add fs/udf.c.
10567 (grub_fstest_SOURCES): Likewise.
10568 (udf_mod_SOURCES): New variable.
10569 (udf_mod_CFLAGS): Likewise.
10570 (udf_mod_LDFLAGS): Likewise.
10571
10572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
10573 (grub_emu_SOURCES): Likewise.
10574
10575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10576
10577 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10578
10579 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10580
10581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10582
10583 * fs/udf.c: New file.
10584
8a594a17 105852008-02-24 Robert Millan <rmh@aybabtu.com>
10586
10587 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
10588 (normal/lexer.c_DEPENDENCIES): New variables.
10589 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10590 (normal/lexer.c_DEPENDENCIES): Likewise.
10591 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
10592 (normal/lexer.c_DEPENDENCIES): Likewise.
10593 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
10594 (normal/lexer.c_DEPENDENCIES): Likewise.
10595 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10596 (normal/lexer.c_DEPENDENCIES): Likewise.
10597 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10598 (normal/lexer.c_DEPENDENCIES): Likewise.
10599
2dc33c03 106002008-02-23 Robert Millan <rmh@aybabtu.com>
10601
10602 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
10603 since they were intended to be in hex. This didn't break previously
10604 because of a bug in gpt_partition_map_iterate() (see below).
10605
10606 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
10607 when checking the validity of GPT header.
10608 Remove `partno', since it always provides the same information as `i'.
10609
f6f4cfb0 106102008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
10611
10612 * include/grub/efi/time.h: Fix a wrong comment.
10613
79ff665f 106142008-02-19 Pavel Roskin <proski@gnu.org>
10615
10616 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
10617 message.
10618
d38e24c2 106192008-02-19 Bean <bean123ch@gmail.com>
10620
10621 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
10622 (aout_mod_SOURCES): New variable.
10623 (aout_mod_CFLAGS): Likewise.
10624 (aout_mod_LDFLAGS): Likewise.
10625 (_bsd_mod_SOURCES): New variable.
10626 (_bsd_mod_CFLAGS): Likewise.
10627 (_bsd_mod_LDFLAGS): Likewise.
10628 (bsd_mod_SOURCES): New variable.
10629 (bsd_mod_CFLAGS): Likewise.
10630 (bsd_mod_LDFLAGS): Likewise.
10631
10632 * include/grub/aout.h: New file.
10633
10634 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
10635
10636 * include/grub/i386/bsd.h: New file.
10637
10638 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
10639 to make it public.
10640
10641 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
10642 function is called, so that it's possible to change it inside the hook.
10643 (grub_elf64_load): Likewise.
10644 (grub_elf_file): Don't close the file if elf header is not found.
10645 (grub_elf_close): Close the file if grub_elf_file fails (The new
10646 grub_elf_file won't close it).
10647 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
10648 (grub_elf64_size): Likewise.
10649
10650 * kern/i386/loader.S (grub_unix_real_boot): New function.
10651
10652 * loader/aout.c: New file.
10653
10654 * loader/i386/bsd.c: New file.
10655
10656 * loader/i386/bsd_normal.c: New file.
10657
10658 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
10659
10660 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 10661 can test other formats.
d38e24c2 10662
b93bdb0f 106632008-02-19 Robert Millan <rmh@aybabtu.com>
10664
10665 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
10666 (grub_gpt_partition_type_empty): Redefine with macro from
10667 `<grub/gpt_partition.h>'.
10668 (gpt_partition_map_iterate): Adjust partition type comparison.
10669
10670 Export `entry' as partmap-specific `part.data' struct.
10671 (grub_gpt_header, grub_gpt_partentry): Move from here ...
10672
10673 * include/grub/gpt_partition.h (grub_gpt_header)
10674 (grub_gpt_partentry): ... to here (new file).
10675
10676 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
10677
10678 (grub_gpt_partition_type_bios_boot): New const variable, defined
10679 with macro from `<grub/gpt_partition.h>'.
10680
10681 (setup): Replace `first_start' with `embed_region', which keeps
10682 track of the embed region (and is partmap-agnostic).
10683
10684 Replace find_first_partition_start() with find_usable_region(),
10685 which finds a usable region for embedding using partmap-specific
10686 knowledge (supports PC/MSDOS and GPT).
10687
10688 Fix all assumptions that the embed region start at sector 1, using
10689 `embed_region.start' from now on. Similarly, use `embed_region.end'
10690 rather than `first_start' to calculate available size.
10691
10692 In grub_util_info() message, replace "into after the MBR" with an
10693 indication of the specific sector our embed region starts at.
10694
66cb40f6 106952008-02-19 Robert Millan <rmh@aybabtu.com>
10696
10697 * DISTLIST: Replace `commands/ieee1275/halt.c' and
10698 `commands/ieee1275/reboot.c' with `commands/halt.c' and
10699 `commands/reboot.c'.
10700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10701 (halt_mod_SOURCES): Likewise.
10702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10703 (halt_mod_SOURCES): Likewise.
10704
b7202015 107052008-02-17 Christian Franke <franke@computer.org>
10706
10707 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
10708
32b0fc49 107092008-02-17 Robert Millan <rmh@aybabtu.com>
10710
10711 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10712 set `first_start' to 0 for non-PC/MSDOS partition maps.
10713
aca63502 107142008-02-16 Robert Millan <rmh@aybabtu.com>
10715
10716 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10717 do not assume partition map is PC/MSDOS before performing checks that
10718 are specific to that layout.
10719
0de8be86 107202008-02-13 Robert Millan <rmh@aybabtu.com>
10721
10722 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
10723 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
10724 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
10725
c3db8364 107262008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
10727
10728 * configure.ac: Only a cosmetic change on the handling of
10729 -fno-stack-protector.
10730
f714229e 107312008-02-12 Alexandre Boeglin <alex@boeglin.org>
10732
c3db8364 10733 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
10734 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
10735 reboot.c.
f714229e 10736 (grub_install_SOURCES): Add halt.mod and reboot.mod.
10737 (halt_mod_SOURCES): New variable.
10738 (halt_mod_CFLAGS): Likewise.
10739 (halt_mod_LDFLAGS): Likewise.
10740 (reboot_mod_SOURCES): Likewise.
10741 (reboot_mod_CFLAGS): Likewise.
10742 (reboot_mod_LDFLAGS): Likewise.
10743
c3db8364 10744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
10745 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
10746 reboot.c.
f714229e 10747 (halt_mod_SOURCES): Likewise.
10748 (reboot_mod_SOURCES): Likewise.
10749
c3db8364 10750 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
10751 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 10752 (reboot_mod_SOURCES): Likewise.
10753
10754 * commands/i386/pc/reboot.c: merge this file ...
10755
10756 * commands/ieee1275/reboot.c: ... and this file ...
10757
10758 * commands/reboot.c: ... to this file.
c3db8364 10759 Add some precompiler directive to include the correct header for
10760 each machine.
f714229e 10761
10762 * commands/ieee1275/halt.c: move this file ...
10763
10764 * commands/halt.c: ... to here.
c3db8364 10765 Add some precompiler directive to include the correct header for
10766 each machine.
f714229e 10767
10768 * include/grub/efi/efi.h (grub_reboot): New function declaration.
10769 (grub_halt): Likewise.
10770
10771 * kern/efi/efi.c (grub_reboot): New function.
10772 (grub_halt): Likewise.
10773
c74493e0 107742008-02-12 Robert Millan <rmh@aybabtu.com>
10775
10776 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
10777 /dev (like it is done for /dev/mapper). This doesn't provide support
10778 for EVMS, but at least it is now easy to identify the problem when it
10779 arises.
10780
d0db4b04 107812008-02-11 Robert Millan <rmh@aybabtu.com>
10782
10783 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
10784 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
10785 comparing it with -1, not 0.
10786
bf748642 107872008-02-10 Robert Millan <rmh@aybabtu.com>
10788
10789 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
10790 `disk/lvm.c'.
10791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10792 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10793
10794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
10795 `disk/lvm.c' to the end of the list.
10796 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10798
b5db202a 107992008-02-10 Robert Millan <rmh@aybabtu.com>
10800
10801 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
10802 grub_print_error() instead. This will let user know why we're entering
10803 rescue mode.
10804 Based on suggestions from Sam Morris.
10805
83abee31 108062008-02-10 Alexandre Boeglin <alex@boeglin.org>
10807
10808 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
10809 on remaining N args, instead of "--" arg N times.
10810
78d5a08b 108112008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
10812
10813 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
10814 (fill_with_default_glyph): Changed to use unknown_glyph for fill
10815 pattern for unknown glyphs.
10816
68807e5f 108172008-02-09 Robert Millan <rmh@aybabtu.com>
10818
10819 * configure.ac: Probe for `help2man'.
10820 * Makefile.in (builddir): New variable.
10821 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
10822 or otherwise add a few flags/options to it.
10823 (install-local): For every executable utility or script that is
10824 installed, invoke $(HELP2MAN) to install a manpage based on --help
10825 output.
10826
10827 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
10828 that it doesn't prevent --help from working in build tree.
10829
10830 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
10831 with `bug-grub@gnu.org'.
10832 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
10833 * util/update-grub.in (usage): New function.
10834 Implement proper argument check, with support for --help and --version
10835 (as well as existing -y).
10836
108372008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 10838
10839 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
10840 avoid overwriting previous output.
10841 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
10842
c1962162 108432008-02-09 Robert Millan <rmh@aybabtu.com>
10844
10845 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
10846 drawing the menu.
10847
3dac2e3f 108482008-02-09 Robert Millan <rmh@aybabtu.com>
10849
10850 * commands/sleep.c: New file.
10851 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
10852 (sleep_mod_SOURCES): New variable.
10853 (sleep_mod_CFLAGS): Likewise.
10854 (sleep_mod_LDFLAGS): Likewise.
10855
7a634e08 108562008-02-09 Robert Millan <rmh@aybabtu.com>
10857
10858 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
10859 situations in which we can deduce the RAID size and the superblock
10860 doesn't match it.
10861
b92f0c18 108622008-02-09 Robert Millan <rmh@aybabtu.com>
10863
10864 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
10865 and return a grub_diskmemberlist_t composed of LVM physical volumes.
10866 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
10867
10868 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
10869 and return a grub_diskmemberlist_t composed of physical array members.
10870 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
10871
10872 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
10873 prototype.
10874 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
10875 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
10876 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
10877
10878 * util/grub-probe.c (probe): Move partmap probing code from here ...
10879 (probe_partmap): ... to here.
10880 (probe): Use probe_partmap() once for the disk we're probing, and
10881 additionally, when such disk contains a memberlist() struct member,
10882 once for each disk that is contained in the structure returned by
10883 memberlist().
10884
91a4bf68 108852008-02-09 Robert Millan <rmh@aybabtu.com>
10886
10887 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
10888 environment variable to 'all' in order to obtain debug output from
10889 non-util/ code.
10890 * util/i386/pc/grub-setup.c (main): Likewise.
10891
a96f9caa 108922008-02-08 Robert Millan <rmh@aybabtu.com>
10893
10894 * disk/raid.c (grub_raid_scan_device): Check for
10895 `array->device[sb.this_disk.number]' rather than for
10896 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 10897 guaranteed to be accessible.
a96f9caa 10898
b37a9222 108992008-02-08 Robert Millan <rmh@aybabtu.com>
10900
10901 * disk/raid.c: Update copyright.
10902 * fs/cpio.c: Likewise.
10903 * include/grub/raid.h: Likewise.
10904 * loader/i386/pc/multiboot.c: Likewise.
10905 * util/hostfs.c: Likewise.
10906
5626aee1 109072008-02-08 Robert Millan <rmh@aybabtu.com>
10908
10909 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
10910 to a grub_disk_t array.
10911 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
10912 `device[x]'.
10913 (grub_raid_scan_device): Replace `device[x].name' accesses with
10914 `device[x]->name'. Simplify initialization of `array->device[x]'.
10915
554f0187 109162008-02-08 Robert Millan <rmh@aybabtu.com>
10917
10918 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
10919 grub_dprintf() calls.
10920 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
10921 error message.
10922
1ec8425d 109232008-02-07 Christian Franke <franke@computer.org>
10924
10925 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
10926 instead of fseek and ftell to support large files.
10927 (grub_hostfs_read): Likewise.
10928
f2156fda 109292008-02-07 Robert Millan <rmh@aybabtu.com>
10930
10931 Patch from Jeroen Dekkers.
10932 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 10933 failure, since successfully reading all array members might not be
f2156fda 10934 required.
10935
9216e0e7 109362008-02-06 Robert Millan <rmh@aybabtu.com>
10937
10938 * util/grub-probe.c (probe): Simplify partmap probing (with the
10939 assumption that the first word up to the underscore equals to
10940 the module name).
10941
b0dfd29a 109422008-02-06 Christian Franke <franke@computer.org>
10943
10944 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
10945 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
10946 last block of a cpio or tar stream.
10947 Check for "TRAILER!!!" instead of any empty data
10948 block to detect last block of a cpio stream.
10949 (grub_cpio_dir): Fix constness of variable np.
10950 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
10951 cpio or tar trailer is detected. This fixes a crash
10952 on open of a non existing file.
10953
c32865bf 109542008-02-05 Bean <bean123ch@gmail.com>
10955
10956 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
10957 address of entry.
10958 (grub_multiboot_load_elf64): Likewise.
10959 (grub_multiboot): Initialize mbi structure.
10960
10961 * util/grub-fstest.c: Don't include unused header file script.h.
10962
fe6b695a 10963 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 10964 of file.
10965 (grub_fstest_SOURCES): Likewise.
10966
409480b7 109672008-02-05 Robert Millan <rmh@aybabtu.com>
10968
10969 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
10970 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
10971 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
10972 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
10973
10974 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
10975 (translation_table): Replace hardcoded values with macros
10976 provided by `<grub/term.h>'.
10977
10978 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
10979 (keyboard_map): Correct/add a few values, with macros provided
10980 by `<grub/term.h>'.
10981 (keyboard_map_shift): Zero values that don't differ from their
10982 `keyboard_map' equivalents.
10983 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
10984 Discard the second scan code that is always sent by Caps lock.
10985 Only use `keyboard_map_shift' when it provides a non-zero value,
10986 otherwise fallback to `keyboard_map'.
10987
99fadbaa 109882008-02-04 Bean <bean123ch@gmail.com>
10989
10990 * Makefile.in (enable_grub_fstest): New variable.
10991
10992 * conf/common.rmk (grub_fstest_init.lst): New rule.
10993 (grub_fstest_init.h): Likewise.
10994 (grub_fstest_init.c): Likewise.
10995 (util/grub-fstest.c_DEPENDENCIES): New variable.
10996 (grub_fstest_SOURCES): Likewise.
10997
10998 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
10999
11000 * util/grub-fstest.c: New file.
11001
bf567c50 110022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11003
11004 Make grub-setup handle a separate root device.
f19dbdb7 11005
bf567c50 11006 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11007 so that the root device can be compared with the destination
11008 device.
11009 When embedding the core image, if the root and destination devices
11010 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11011 0xFF.
11012 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 11013
9be6b98b 110142008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11015
11016 Add support for having a grub directory in a different drive. This
11017 is still only the data handling part.
f19dbdb7 11018
9be6b98b 11019 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11020 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11021 (grub_root_drive): New variable.
11022
11023 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11024 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11025 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11026 as it was.
11027
11028 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11029
11030 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11031 macro.
11032 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11033
11034 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11035 is bogus, because PXE booting does not specify any drive
11036 correctly.
11037
11038 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11039 am not sure if this is really correct.
11040
11041 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11042 is always identical to the boot drive when booting from a CD.
11043
11044 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11045 longer.
11046 (root_drive): New variable.
11047 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11048 (setup_sectors): Push %dx right after popping it, because %dh will
11049 be modified later.
11050 (copy_buffer): Restore %dx.
11051
e0ca0677 110522008-02-03 Robert Millan <rmh@aybabtu.com>
11053
11054 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11055 use `cdboot.img' for cdrom images.
11056
3b3f6629 110572008-02-03 Robert Millan <rmh@aybabtu.com>
11058
11059 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11060 only setup gfxterm when `font' command has succeeded.
11061
d42b3672 110622008-02-03 Robert Millan <rmh@aybabtu.com>
11063
11064 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11065 (grub_rescue_cmd_multiboot_loader)
11066 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11067
fa370ea6 110682008-02-03 Pavel Roskin <proski@gnu.org>
11069
e0c5dacb 11070 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 11071 %edx and %esi from stack only after grub_gate_a20() is called.
11072 grub_gate_a20() clobbers %edx.
11073
f2a76e1d 110742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11075
11076 * configure.ac (AC_INIT): Bumped to 1.96.
11077
11078 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
11079 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
11080 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
11081 video/readers/png.c.
11082
90fd32d1 110832008-02-03 Bean <bean123ch@gmail.com>
9be665dd 11084
11085 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
11086 (cdboot_img_SOURCES): New variable.
11087 (cdboot_img_ASFLAGS): New variable.
11088 (cdboot_img_LDFLAGS): New variable.
11089
11090 * boot/i386/pc/cdboot.S: New file.
11091
11092 * disk/i386/pc/biosdisk.c (cd_start): New variable.
11093 (cd_count): Likewise.
11094 (grub_biosdisk_get_drive): Add support for cd device.
11095 (grub_biosdisk_call_hook): Likewise.
11096 (grub_biosdisk_iterate): Likewise.
11097 (grub_biosdisk_open): Likewise.
11098 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
11099 (grub_biosdisk_rw): Support reading from cd device.
11100 (GRUB_MOD_INIT): Iterate cd devices.
11101
11102 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
11103 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
11104 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
11105
11106 * kern/i386/pc/init.c (make_install_device): Check for cd device.
11107
4020aa53 111082008-02-02 Robert Millan <rmh@aybabtu.com>
11109
11110 * commands/read.c: New file.
11111 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
11112 (read_mod_SOURCES): New variable.
11113 (read_mod_CFLAGS): Likewise.
11114 (read_mod_LDFLAGS): Likewise.
11115
e03a1132 111162008-02-02 Robert Millan <rmh@aybabtu.com>
11117
11118 * normal/main.c (grub_normal_execute): Check for `menu->size' when
11119 determining whether menu has to be displayed.
11120
58c69220 111212008-02-02 Marco Gerards <marco@gnu.org>
11122
11123 * bus/pci.c: New file.
11124
11125 * include/grub/pci.h: Likewise.
11126
11127 * include/grub/i386/pc/pci.h: Likewise.
11128
11129 * commands/lspci.c: Likewise.
11130
11131 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
11132 `lspci.mod'.
11133 (pci_mod_SOURCES): New variable.
11134 (pci_mod_CFLAGS): Likewise.
11135 (pci_mod_LDFLAGS): Likewise.
11136 (lspci_mod_SOURCES): Likewise.
11137 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 11138 (lspci_mod_LDFLAGS): Likewise.
58c69220 11139
c004e1b4 111402008-02-02 Bean <bean123ch@gmail.com>
11141
11142 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
11143 (grub_ufs_get_file_block): Fix indirect block calculation problem.
11144
11145 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
11146 (grub_xfs_btree_node): New structure.
11147 (grub_xfs_btree_root): New structure.
11148 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
11149 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
11150 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11151 (GRUB_XFS_EXTENT_SIZE): Likewise.
11152 (grub_xfs_read_block): Support btree format type.
11153 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
11154 Use directory block as basic unit.
11155
11156 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
11157
11158 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
11159 __attribute__ ((__regparm__ (1))).
11160
f95562bf 111612008-02-01 Robert Millan <rmh@aybabtu.com>
11162
11163 Correct a mistake in previous commit.
11164
11165 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
11166 top.
11167 (normal/command.c_DEPENDENCIES): New variable.
11168
7d31f41f 111692008-02-01 Robert Millan <rmh@aybabtu.com>
11170
11171 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
11172 top.
11173 (normal/command.c_DEPENDENCIES): New variable.
11174 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
11175 * conf/i386-ieee1275.rmk: Likewise.
11176 * conf/i386-linuxbios.rmk: Likewise.
11177 * conf/i386-pc.rmk: Likewise.
11178 * conf/sparc64-ieee1275.rmk: Likewise.
11179 * conf/powerpc-ieee1275.rmk: Likewise.
11180 (grub_emu_SOURCES): Add `fs/fshelp.c'.
11181
11182 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
11183
60b6be74 111842008-02-01 Robert Millan <rmh@aybabtu.com>
11185
11186 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
11187 call at beginning of function.
11188
078522ab 111892008-01-31 Pavel Roskin <proski@gnu.org>
11190
11191 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 11192 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
11193 (grub_mkrescue_SOURCES): Likewise.
078522ab 11194 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
11195
ccaa8a5f 111962008-01-30 Robert Millan <rmh@aybabtu.com>
11197
11198 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
11199 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
11200 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
11201 (grub_probe_SOURCES): ... to here.
11202
11203 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
11204 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
11205 * conf/i386-ieee1275.rmk: Likewise.
11206 * conf/i386-linuxbios.rmk: Likewise.
11207 * conf/powerpc-ieee1275.rmk: Likewise.
11208
ae5a9cd7 112092008-01-30 Tristan Gingold <gingold@free.fr>
11210
11211 * kern/rescue.c: Silently accept empty lines.
11212
70bc2ef2 112132008-01-29 Bean <bean123ch@gmail.com>
11214
11215 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
11216 (real_code_2): Code cleanup and change comment style.
11217 (move_memory): Avoid using 32-bit address mode.
11218
6a4d50ea 112192008-01-29 Bean <bean123ch@gmail.com>
11220
11221 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
11222 (png_mod_SOURCES): New variable.
11223 (png_mod_CFLAGS): Likewise.
11224 (png_mod_LDFLAGS): Likewise.
11225
11226 * video/readers/png.c: New file.
11227
11cc30ac 112282008-01-28 Robert Millan <rmh@aybabtu.com>
11229
11230 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
11231 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
11232 `ifndef GRUB_MOD_GAP' hack.
11233 * util/elf/grub-mkimage.c (add_segments): Likewise.
11234
3abc589f 112352008-01-27 Robert Millan <rmh@aybabtu.com>
11236
11237 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
11238 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 11239 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 11240
e1907778 112412008-01-27 Robert Millan <rmh@aybabtu.com>
11242
11243 Get grub-emu to build again (including parallel builds).
11244
11245 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
11246 Split into ...
11247 (util/grub-emu.c_DEPENDENCIES): ... this, ...
11248 (normal/execute.c_DEPENDENCIES): ... this, ...
11249 (grub-emu_DEPENDENCIES): ... and this.
11250
11251 * conf/i386-efi.rmk: Likewise.
11252 * conf/i386-linuxbios.rmk: Likewise.
11253 * conf/i386-ieee1275.rmk: Likewise.
11254 * conf/powerpc-ieee1275.rmk: Likewise.
11255 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
11256
2216b101 112572008-01-27 Robert Millan <rmh@aybabtu.com>
11258
11259 * NEWS: Add a few items.
11260
f75172d9 112612008-01-27 Robert Millan <rmh@aybabtu.com>
11262
11263 Fix parallel builds with grub-emu. Based on earlier commit for
11264 grub-probe and grub-setup.
11265
11266 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11267 (util/grub-emu.c_DEPENDENCIES): ... this.
11268 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11269 (util/grub-emu.c_DEPENDENCIES): ... this.
11270 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11271 (util/grub-emu.c_DEPENDENCIES): ... this.
11272 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11273 (util/grub-emu.c_DEPENDENCIES): ... this.
11274 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11275 (util/grub-emu.c_DEPENDENCIES): ... this.
11276
3f51de77 112772008-01-27 Pavel Roskin <proski@gnu.org>
11278
11279 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
11280 to create a gap between _end and the modules added to the image
11281 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
11282 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
11283 * util/elf/grub-mkimage.c (add_segments): Likewise.
11284
2033f53e 112852008-01-26 Pavel Roskin <proski@gnu.org>
11286
11287 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
11288 just return an error.
11289
22da1f6f 112902008-01-26 Bean <bean123ch@gmail.com>
11291
11292 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
11293 (grub_reiserfs_get_item): Save offset of the next item.
11294 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
11295
2a9525e6 112962008-01-25 Robert Millan <rmh@aybabtu.com>
11297
11298 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
11299 make all filesystem sources appear together (possibly fixing omissions
11300 while at it).
11301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11303 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11305
11306 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
11307 add `kern/file.c'.
11308 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
11309 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11310 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
11311 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11312
11313 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
11314 (probe): Add a sanity check to make sure of our ability to read
11315 requested files when probing for filesystem type.
11316
11317 * genmk.rb: Update copyright year (2007).
11318
11319 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
11320 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
11321 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
11322 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
11323 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
11324 : Remove function prototypes.
11325
b95f71b5 113262008-01-25 Robert Millan <rmh@aybabtu.com>
11327
11328 Revert my previous commits (based on wrong assumption of how grub_errno
11329 works).
11330
fe6b695a 11331 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 11332 * kern/file.c (grub_file_open): Likewise.
11333
d08bbb49 113342008-01-24 Pavel Roskin <proski@gnu.org>
11335
11336 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
11337 that hang if GRUB tries to setup colors.
11338 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
11339 colors for firmwares that don't support it.
11340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
11341 Recognize Open Hack'Ware, set flags to work around its
11342 limitations.
11343
605e36ed 113442008-01-24 Robert Millan <rmh@aybabtu.com>
11345
11346 * kern/file.c (grub_file_open): Do not account previous failures of
11347 unrelated functions when grub_errno is checked for.
11348 Reported by Oleg Strikov.
11349
bac332a1 113502008-01-24 Bean <bean123ch@gmail.com>
11351
11352 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
11353 (grub_ufs_sblock): New member volume name.
11354 (grub_ufs_find_file): Fix string copy bug.
11355 (grub_ufs_label): Implement this function properly.
11356
11357 * fs/hfs.c (grub_hfs_cnid_type): New enum.
11358 (grub_hfs_iterate_records): Use the correct file number for extents
11359 and catalog file. Fix problem in next index calculation.
11360 (grub_hfs_find_node): Replace recursive function call with loop.
11361 (grub_hfs_iterate_dir): Replace recursive function call with loop.
11362
15c80c09 113632008-01-23 Robert Millan <rmh@aybabtu.com>
11364
11365 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
11366 `<grub/symbol.h>' and `<grub/multiboot.h>'.
11367 (grub_multiboot2_real_boot): New function prototype.
11368
11369 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
11370 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
11371
11372 * kern/i386/ieee1275/init.c (grub_os_area_addr)
11373 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
11374
305338fd 113752008-01-23 Robert Millan <rmh@aybabtu.com>
11376
11377 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
11378 #ifdef'ed out grub_printf().
11379
3ea52685 113802008-01-23 Robert Millan <rmh@aybabtu.com>
11381
11382 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
11383 grub_dprintf calls, since they make "debug=all" mode unusable.
11384 (grub_console_checkkey): Likewise.
11385
5882ae4b 113862008-01-23 Robert Millan <rmh@aybabtu.com>
11387
11388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11389 `term/i386/pc/at_keyboard.c'.
11390 (pkglib_MODULES): Add `serial.mod'.
11391 (serial_mod_SOURCES): New variable.
11392 (serial_mod_CFLAGS): Likewise.
11393 (serial_mod_LDFLAGS): Likewise.
11394
11395 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
11396 `<grub/powerpc/ieee1275/console.h>'.
11397 (grub_keyboard_controller_init): New function prototype.
11398 (grub_console_checkkey): Likewise.
11399 (grub_console_getkey): Likewise.
11400
11401 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
11402 keyboard on i386.
11403
11404 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
11405 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
11406
06ab5303 114072008-01-23 Robert Millan <rmh@aybabtu.com>
11408
11409 * kern/i386/pc/init.c (make_install_device): When memdisk image is
11410 present, "(memdisk)/boot/grub" becomes the default prefix.
11411
11412 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
11413 a memdisk tarball with all the modules. Add --overlay=DIR option that
11414 allows users to overlay additional files into the image.
11415
dbb475a4 114162008-01-23 Robert Millan <rmh@aybabtu.com>
11417
11418 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
11419 and `machine/memory.h'.
11420 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
11421 (_multiboot_mod_SOURCES): New variable.
11422 (_multiboot_mod_CFLAGS): Likewise.
11423 (_multiboot_mod_LDFLAGS): Likewise.
11424 (multiboot_mod_SOURCES): Likewise.
11425 (multiboot_mod_CFLAGS): Likewise.
11426 (multiboot_mod_LDFLAGS): Likewise.
11427
11428 * include/grub/i386/ieee1275/loader.h: New file.
11429
11430 * include/grub/i386/ieee1275/machine.h: Likewise.
11431
11432 * include/grub/i386/ieee1275/memory.h: Likewise.
11433
11434 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
11435 variable declaration.
11436 (grub_os_area_size): Likewise.
11437
11438 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
11439 (grub_lower_mem, grub_upper_mem): New variables.
11440 (grub_stop_floppy): New function (just to make
11441 grub_multiboot2_real_boot() happy).
11442
11443 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
11444 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
11445 (grub_stop): New function.
11446 Include `"../realmode.S"' and `"../loader.S"'.
11447
11448 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
11449 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
11450
11451 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
11452 rely on grub_multiboot2_real_boot() for final boot.
11453
25638629 114542008-01-22 Robert Millan <rmh@aybabtu.com>
11455
11456 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
11457 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
11458 device that doesn't look like an SD card.
11459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
11460 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
11461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
11462 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
11463 found.
11464
9dad816d 114652008-01-22 Robert Millan <rmh@aybabtu.com>
11466
11467 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
11468 avoid claiming over our own code.
11469
34842f2d 114702008-01-22 Bean <bean123ch@gmail.com>
11471
11472 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
11473 (jpeg_mod_SOURCES): New variable.
11474 (jpeg_mod_CFLAGS): Likewise.
11475 (jpeg_mod_LDFLAGS): Likewise.
11476
11477 * video/readers/jpeg.c : New file.
11478
44023a28 114792008-01-22 Bean <bean123ch@gmail.com>
11480
11481 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
11482 there are no more items.
11483
bc2d8ac6 114842008-01-21 Robert Millan <rmh@aybabtu.com>
11485
11486 * kern/mm.c (grub_mm_init_region): Improve debug message.
11487
261bd4bc 114882008-01-21 Robert Millan <rmh@aybabtu.com>
11489
11490 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
11491 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
11492 address.
11493 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
11494 a C macro.
11495 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
11496 Indicates start of upper memory.
11497 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
11498 (generate_image): Abort when image size is big enough to corrupt
11499 upper memory.
11500
11501 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
11502 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
11503 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11504 instead of hardcoding 0xA0000.
11505 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
11506 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11507 instead of hardcoding 0xA0000.
11508
f970b55e 115092008-01-21 Robert Millan <rmh@aybabtu.com>
11510
11511 * disk/memdisk.c (memdisk_size): New variable.
11512 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
11513 `memdisk_size'.
11514 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
11515 image to dynamic memory.
11516 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
11517 `memdisk_size'. Free memdisk block.
11518
1a8b0526 115192008-01-21 Robert Millan <rmh@aybabtu.com>
11520
11521 Fix detection of very small filesystems (like tar).
11522
11523 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
11524 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
11525 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
11526 a problem with this disk).
11527
6e9b4aab 115282008-01-21 Robert Millan <rmh@aybabtu.com>
11529
11530 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
11531 on grub_biosdisk_rw_standard() error.
11532
0d8837b2 115332008-01-21 Robert Millan <rmh@aybabtu.com>
11534
11535 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
11536 recent changes.
11537 * kern/elf.c: Likewise.
11538 * kern/ieee1275/ieee1275.c: Likewise.
11539 * kern/powerpc/ieee1275/openfw.c: Likewise.
11540 * term/ieee1275/ofconsole.c: Likewise.
11541
ffd36e34 115422008-01-21 Robert Millan <rmh@aybabtu.com>
11543
11544 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
11545
3f0093d0 11546 * include/grub/kernel.h (grub_arch_memdisk_addr)
11547 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 11548
3f0093d0 11549 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
11550 (grub_arch_memdisk_size): ... to here.
ffd36e34 11551
6c391b21 115522008-01-21 Robert Millan <rmh@aybabtu.com>
11553
11554 Mostly based on bugfix from Bean.
11555
11556 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
11557 attribute with hook() parameter.
11558 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
11559 declaration.
11560 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
11561 attribute with hook() parameter.
11562 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
11563 declaration.
11564
55a581dc 115652008-01-21 Robert Millan <rmh@aybabtu.com>
11566
11567 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
11568 (pkglib_MODULES): Add `memdisk.mod'.
11569 (memdisk_mod_SOURCES): New variable.
11570 (memdisk_mod_CFLAGS): Likewise.
11571 (memdisk_mod_LDFLAGS): Likewise.
11572
11573 * disk/memdisk.c: New file.
11574
11575 * include/grub/disk.h (grub_disk_dev_id): Add
11576 `GRUB_DISK_DEVICE_MEMDISK_ID'.
11577
11578 * include/grub/i386/pc/kernel.h
11579 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
11580 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
11581 (grub_kernel_image_size): New variable declaration.
11582 (grub_total_module_size): Likewise.
11583 (grub_memdisk_image_size): Likewise.
11584
11585 * include/grub/i386/pc/memory.h
11586 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
11587
11588 * include/grub/kernel.h: Include `<grub/symbol.h>'.
11589 (grub_arch_memdisk_addr): New variable declaration.
11590 (grub_arch_memdisk_size): Likewise.
11591
11592 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
11593 (grub_arch_memdisk_size): Likewise.
11594
11595 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
11596 (codestart): Replace hardcoded `0x100000' with
11597 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
11598
11599 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
11600 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
11601 not NULL, append the contents of the file it refers to, at the end of
11602 the compressed kernel image. Initialize `grub_memdisk_image_size'
11603 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
11604 (options): Add "memdisk"|'m' option.
11605 (main): Parse --memdisk|-m option, and pass user-provided path as
11606 parameter to generate_image().
11607
3d7f54c9 116082008-01-20 Robert Millan <rmh@aybabtu.com>
11609
11610 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
11611 grub_dprintf() calls from here ...
11612 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
11613
0bf74728 116142008-01-20 Robert Millan <rmh@aybabtu.com>
11615
11616 Fix detection of "real mode" when /options/real-mode? doesn't exist.
11617
11618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
11619 declaration.
11620 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
11621 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
11622 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 11623 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 11624 property).
11625 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
11626 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
11627
33bf70a7 116282008-01-19 Robert Millan <rmh@aybabtu.com>
11629
fe6b695a 11630 Get rid of confusing function (superseded by
33bf70a7 11631 `grub_ieee1275_get_integer_property')
11632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
11633 prototype.
11634 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
11635 function.
11636 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
11637 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 11638 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 11639
e2da7d26 116402008-01-19 Robert Millan <rmh@aybabtu.com>
11641
11642 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
11643 command after "shut-down", since implementations differ on which
11644 the command for halt is.
11645
59f1fd8d 116462008-01-19 Robert Millan <rmh@aybabtu.com>
11647
11648 * include/grub/i386/linuxbios/console.h: Add header protection.
11649 (grub_keyboard_controller_init): New function prototype.
11650 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
11651 (KEYBOARD_COMMAND_READ): Likewise.
11652 (KEYBOARD_COMMAND_WRITE): Likewise.
11653 (KEYBOARD_SCANCODE_SET1): Likewise.
11654 (grub_keyboard_controller_write): New function.
11655 (grub_keyboard_controller_read): Likewise.
11656 (grub_keyboard_controller_init): Likewise.
11657
11658 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
11659 (grub_console_init): On coreboot/LinuxBIOS, call
11660 grub_keyboard_controller_init().
11661
5f5a7c15 116622008-01-19 Robert Millan <rmh@aybabtu.com>
11663
11664 PowerPC changes provided by Pavel Roskin.
11665
11666 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
11667 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
11668 don't rely on cmain() doing it.
11669 * kern/i386/ieee1275/startup.S (_start): Store %eax in
11670 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
11671
1210e168 116722008-01-16 Robert Millan <rmh@aybabtu.com>
11673
11674 * include/grub/i386/linuxbios/memory.h
11675 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
11676 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
11677 receive `table_header' as argument. Instead, probe for it in the
11678 known memory ranges where it can be present.
11679 (grub_available_iterate): Do not pass a fixed `table_header' address
11680 to grub_linuxbios_table_iterate().
11681
3d04eab8 116822008-01-15 Robert Millan <rmh@aybabtu.com>
11683
11684 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
11685 * conf/i386-ieee1275.rmk: New file.
11686 * include/grub/i386/ieee1275/console.h: Likewise.
11687 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
11688 * include/grub/i386/ieee1275/kernel.h: Likewise.
11689 * include/grub/i386/ieee1275/time.h: Likewise.
11690 * kern/i386/ieee1275/init.c: Likewise.
11691 * kern/i386/ieee1275/startup.S: Likewise.
11692
d1bc1b73 116932008-01-15 Robert Millan <rmh@aybabtu.com>
11694
11695 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
11696 when pointers are 32-bit (but still do set it to one when they are
11697 64-bit).
11698
66a65807 116992008-01-15 Robert Millan <rmh@aybabtu.com>
11700
11701 * include/grub/ieee1275/ieee1275.h
11702 (grub_ieee1275_get_integer_property): New function prototype.
11703
11704 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
11705 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 11706 grub_ieee1275_get_property() to handle endianness.
66a65807 11707
11708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
11709 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 11710 where appropriate.
66a65807 11711 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
11712 (grub_map): Likewise.
11713 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
11714
a83ccafd 117152008-01-15 Bean <bean123ch@gmail.com>
11716
11717 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
11718 (grub_script_execute_cmdline): Reset grub_errno.
11719
11720 * normal/main.c (read_config_file): Reset grub_errno.
11721
11722 * normal/parse.y (script_init): New.
11723 (script): Move function and menuentry here.
11724 (delimiter): New.
11725 (command): Add delimiter at the end of command.
11726 (commands): Adjust to match the new command.
11727 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 11728 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 11729 (if): Use the new commands.
11730
11731 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
11732
df6ecfc6 117332008-01-15 Robert Millan <rmh@aybabtu.com>
11734
11735 * normal/menu.c (run_menu): Move timeout message from here ...
11736 (print_timeout): ... to here.
11737 (run_menu): Use print_timeout() once during initial draw to print
11738 the whole message, and again in every clock tick to update only
11739 the number of seconds.
11740
87ae25eb 117412008-01-15 Robert Millan <rmh@aybabtu.com>
11742
11743 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
11744 actual size of `available' from grub_ieee1275_get_property(), and
11745 restrict parsing to that bound.
11746
47bf09a4 117472008-01-15 Christian Franke <franke@computer.org>
11748
11749 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
11750 (argp_program_version): Remove variable.
11751 (argp_program_bug_address): Likewise.
11752 (options): Convert from struct argp_option to struct option.
11753 (struct arguments): Remove.
11754 (parse_opt): Remove.
11755 (usage): New function.
11756 (main): Replace struct args members by simple variables.
11757 Replace argp_parse() by getopt_long().
11758 Add switch to evaluate options.
11759 Add missing "(...)" around root_dev in prefix string.
11760
c86f1469 117612008-01-14 Robert Millan <rmh@aybabtu.com>
11762
11763 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
11764 for grub_ieee1275_exit(), in order to improve portability.
11765
e622c559 117662008-01-14 Robert Millan <rmh@aybabtu.com>
11767
11768 * util/grub.d/10_linux.in (prefix): Define.
11769 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
11770
44cb1ec8 117712008-01-13 Pavel Roskin <proski@gnu.org>
11772
11773 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
11774 grub_errno if no errors have been detected.
11775
1eb8c802 117762008-01-12 Robert Millan <rmh@aybabtu.com>
11777
11778 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
11779 (grub_util_get_dev_abstraction): New function prototype.
11780
11781 * util/getroot.c: Include `<grub/util/getroot.h>'
11782 (grub_util_get_grub_dev): Move detection of abstraction type to ...
11783 (grub_util_get_dev_abstraction): ... here (new function).
11784
11785 * util/grub-probe.c: Convert PRINT_* to an enum. Add
11786 `PRINT_ABSTRACTION'.
11787 (probe): Probe for abstraction type when requested.
11788 (main): Understand `--target=abstraction'.
11789
11790 * util/i386/efi/grub-install.in: Add abstraction module to core
11791 image when it is found to be necessary.
11792 * util/i386/pc/grub-install.in: Likewise.
11793 * util/powerpc/ieee1275/grub-install.in: Likewise.
11794
11795 * util/update-grub_lib.in (font_path): Return system path without
11796 converting to GRUB path.
11797 * util/update-grub.in: Convert system path returned by font_path()
11798 to a GRUB path. Use `grub-probe -t abstraction' to determine what
11799 abstraction module is needed for loading fonts (if any). Export
11800 that as `GRUB_PRELOAD_MODULES'.
11801 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
11802 insmod commands).
11803
52bd3de9 118042008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
11805
11806 Remove some unused code from reiserfs.
f19dbdb7 11807
52bd3de9 11808 * fs/reiserfs.c (struct grub_reiserfs_key)
11809 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
11810 (struct grub_reiserfs_node_body): Removed.
11811 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11812 Likewise.
11813 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11814 Likewise.
11815 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11816 Likewise.
11817 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11818 Likewise.
11819 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11820 Likewise.
11821 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
11822 Likewise.
11823 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11824 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11825 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11826
2f80039d 118272008-01-10 Robert Millan <rmh@aybabtu.com>
11828
11829 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
11830 Determines if a file is garbage left by packaging systems, etc.
11831 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
11832 for processing /etc/grub.d scripts.
11833 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
11834 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
11835 as a condition for processing Linux images.
11836
87888032 118372008-01-10 Pavel Roskin <proski@gnu.org>
11838
11839 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
11840 to compile reiserfs.c on PowerPC.
11841
7e54fced 118422008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 11843
11844 * kern/device.c (grub_device_iterate): Do not abort device iteration
11845 when one of the devices cannot be opened.
11846 * kern/disk.c (grub_disk_open): Do not account previous failures of
11847 unrelated functions when grub_errno is checked for.
11848
5aa541e6 118492008-01-08 Robert Millan <rmh@aybabtu.com>
11850
11851 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
11852 `! grub_linux_is_bzimage', change order of address comparison to make
11853 it more intuitive, and improve "too big zImage" error message.
11854
7076340d 118552008-01-08 Robert Millan <rmh@aybabtu.com>
11856
11857 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
11858 `$(update-grub_DATA)'.
11859 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
11860 targets.
11861
9ca70333 118622008-01-07 Robert Millan <rmh@aybabtu.com>
11863
11864 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
11865 which instruction is modified by grub-setup during installation
11866 (since it wasn't obvious by only looking at this file).
11867
38ccf575 118682008-01-07 Robert Millan <rmh@aybabtu.com>
11869
11870 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
11871 listing actual TODO items.
11872
f5db4291 118732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11874
868967cf 11875 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
11876 correctly.
11877 (grub_reiserfs_get_key_offset): Likewise.
11878 (grub_reiserfs_set_key_offset): Likewise.
11879 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 11880 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 11881
11882 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
11883 better to remove the bitfield version completely.
f19dbdb7 11884
868967cf 118852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 11886
f5db4291 11887 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
11888 allocated from the heap, due to the fshelp implementation.
11889 (grub_reiserfs_dir): Free NODE, due to the same reason.
11890
492e6d9d 118912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11892
11893 Mostly from Vincent Pelletier:
f19dbdb7 11894
492e6d9d 11895 * fs/reiserfs.c: New file.
f19dbdb7 11896
492e6d9d 11897 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
11898 (reiserfs_mod_SOURCES): New variable.
11899 (reiserfs_mod_CFLAGS): Likewise.
11900 (reiserfs_mod_LDFLAGS): Likewise.
11901
11902 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
11903 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
11904 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
11905 normal/color.c.
11906
9ce3e7c1 119072008-01-06 Robert Millan <rmh@aybabtu.com>
11908
11909 * normal/color.c: Remove `<grub/env.h>'.
11910
f3b58148 119112008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
11912
11913 * include/grub/normal.h: Include <grub/env.h>.
11914
7ac3bcfa 119152008-01-05 Robert Millan <rmh@aybabtu.com>
11916
11917 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
11918 usage example with `(hd0,1)'.
fb358190 11919 Reported by Samuel Thibault.
7ac3bcfa 11920
c8ee99d7 119212008-01-05 Robert Millan <rmh@aybabtu.com>
11922
11923 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
11924 (grub_linux_boot_zimage): Rename to ...
11925 (grub_linux_boot): ... this.
11926 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
11927 (grub_linux_boot_zimage): Conditionalize zImage copy.
11928
11929 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
11930 (grub_linux_boot_bzimage): Remove prototype.
11931 (grub_linux_boot_zimage): Rename to ...
11932 (grub_linux_boot): ... this.
11933
11934 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
11935 (grub_linux_boot): Remove function.
11936
0ece25b1 119372008-01-05 Robert Millan <rmh@aybabtu.com>
11938
11939 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
11940 (grub_env_write_color_highlight): Likewise.
11941 (grub_wait_after_message): Likewise.
11942
11943 * normal/color.c: New file.
11944
11945 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11946 (normal_mod_DEPENDENCIES): Likewise.
11947
11948 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11949 (normal_mod_DEPENDENCIES): Likewise.
11950
11951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11952 (normal_mod_DEPENDENCIES): Likewise.
11953
11954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
11955 (normal_mod_DEPENDENCIES): Likewise.
11956
11957 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
11958 for waiting after a message is printed.
11959 * normal/main.c (read_config_file): Likewise.
11960 (grub_normal_init): Register grub_env_write_color_normal() and
11961 grub_env_write_color_highlight() hooks. Mark `color_normal' and
11962 `color_highlight' variables as global.
11963
11964 * normal/menu.c (grub_wait_after_message): New function.
11965 (grub_color_menu_normal): New variable. Replaces ...
11966 (GRUB_COLOR_MENU_NORMAL): ... this macro.
11967 (grub_color_menu_highlight): New variable. Replaces ...
11968 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
11969 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
11970 `GRUB_TERM_COLOR_STANDARD'.
11971 (print_message): Use `grub_setcolorstate' to reload colors. Rename
11972 `normal_code' and `highlight_code' to `old_color_normal' and
11973 `old_color_highlight', respectively.
11974 (grub_menu_init_page): Update colors when drawing the menu, based on
11975 `menu_color_normal' and `menu_color_highlight' variables.
11976 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
11977 a message is printed.
11978
182dd4e5 119792008-01-05 Robert Millan <rmh@aybabtu.com>
11980
11981 * kern/env.c (grub_env_context_open): Propagate hooks for global
11982 variables to new context.
11983
11984 * kern/main.c (grub_set_root_dev): Export `root' variable.
11985
ddf8f6ad 119862008-01-05 Robert Millan <rmh@aybabtu.com>
11987
11988 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 11989 discs unconditionally, since udev and others have options to provide
ddf8f6ad 11990 them.
11991
d8b43d9b 119922008-01-05 Robert Millan <rmh@aybabtu.com>
11993
11994 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
11995
2bff2de3 119962008-01-04 Christian Franke <franke@computer.org>
11997
11998 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
11999 of eisa_mmap.
12000
97eab917 120012008-01-03 Pavel Roskin <proski@gnu.org>
12002
12003 * kern/i386/linuxbios/init.c: Put "void" to all function
12004 declarations with no arguments.
12005 * kern/powerpc/ieee1275/init.c: Likewise.
12006 * term/i386/pc/at_keyboard.c: Likewise.
12007 * term/i386/pc/vga_text.c: Likewise.
12008 * util/grub-mkdevicemap.c: Likewise.
12009
b9416d00 120102008-01-02 Robert Millan <rmh@aybabtu.com>
12011
12012 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12013 message when loaded image is out of bounds.
12014 (grub_multiboot_load_elf64): Likewise.
12015
92695df9 120162008-01-02 Pavel Roskin <proski@gnu.org>
12017
12018 * util/grub.d/10_linux.in: Try version without ".old" when
12019 looking for initrd. It's better to use initrd from the newer
12020 kernel of the same version than no initrd at all.
12021
d98d9cad 120222008-01-01 Robert Millan <rmh@aybabtu.com>
12023
12024 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12025
dbfdce36 120262008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12027
f19dbdb7 12028 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 12029 grub_video_get_active_render_target.
12030 (grub_video_adapter): Added unmap_color and get_active_render_target.
12031
f19dbdb7 12032 * video/video.c: Added grub_video_unmap_color and
dbfdce36 12033 grub_video_get_active_render_target.
12034 (grub_video_get_info): Changed method to accept NULL pointer as an
12035 argument to allow detection of active video adapter.
12036
12037 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12038 grub_video_vbe_unmap_color_int.
12039 Added grub_video_vbe_unmap_color and
12040 grub_video_vbe_get_active_render_target.
12041 (grub_video_vbe_adapter): Added unmap_color and
12042 get_active_render_target.
12043
f19dbdb7 12044 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 12045 with grub_video_vbe_unmap_color_int.
12046
12047 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12048 (DEFAULT_NORMAL_COLOR): Likewise.
12049 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12050 (DEFAULT_FG_COLOR): Removed.
12051 (DEFAULT_BG_COLOR): Likewise.
12052 (DEFAULT_CURSOR_COLOR): Changed value.
12053 (grub_virtual_screen): Added standard_color_setting,
12054 normal_color_setting, highlight_color_setting and term_color.
12055 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12056 (bitmap_width): Added.
12057 (bitmap_height): Likewise.
12058 (bitmap): Likewise.
12059 (set_term_color): Likewise.
12060 (grub_virtual_screen_setup): Changed to use new terminal coloring
12061 settings.
12062 (grub_gfxterm_init): Added init for bitmap.
12063 (grub_gfxterm_fini): Added destroy for bitmap.
12064 (redraw_screen_rect): Updated to use background bitmap and new
12065 terminal coloring.
12066 (scroll_up): Added optimization for case when there is no bitmap.
12067 (grub_gfxterm_cls): Fixed to use correct background color.
12068 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12069 coloring.
12070 (grub_virtual_screen_setcolor): Likewise.
12071 (grub_virtual_screen_getcolor): Added.
12072 (grub_gfxterm_background_image_cmd): Likewise.
12073 (grub_video_term): Added setcolor and getcolor.
12074 (MOD_INIT): Added registration of background_image command.
12075 (MOD_TERM): Added unregistration for background_image command.
12076
c3c20931 120772007-12-30 Pavel Roskin <proski@gnu.org>
12078
12079 * loader/multiboot_loader.c: Fix multiboot command
12080 unregistration. Fix all typos in the word "multiboot".
12081
df266716 120822007-12-29 Pavel Roskin <proski@gnu.org>
94239199 12083
12084 * util/grub.d/10_linux.in: Refactor search for initrd. Add
12085 support for initrd names used in Fedora.
12086
fc6e896c 120872007-12-26 Bean <bean123ch@gmail.com>
12088
12089 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
12090 (cpio_mod_SOURCES): New variable.
12091 (cpio_mod_CFLAGS): Likewise.
12092 (cpio_mod_LDFLAGS): Likewise.
12093
12094 * fs/cpio.c: New file.
12095
12096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
12097
12098 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12099
12100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12101
12102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12103
533110ad 121042007-12-25 Robert Millan <rmh@aybabtu.com>
12105
12106 * include/grub/term.h (struct grub_term): Add `getcolor' function.
12107 (grub_getcolor): New function.
12108
12109 * kern/term.c (grub_getcolor): New function.
12110 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
12111 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
12112 (print_entry): Set normal and highlight colors to
12113 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
12114 respectively, before printing and restore them to old
12115 values afterwards.
12116 (grub_menu_init_page): Likewise. Fill an additional colored space
12117 that would otherwise be left blank.
12118
12119 * term/efi/console.c (grub_console_getcolor): New function.
12120 (struct grub_console_term.getcolor): New variable.
12121 * term/i386/pc/console.c (grub_console_getcolor): New function.
12122 (struct grub_console_term.getcolor): New variable.
12123 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
12124 (struct grub_console_term.getcolor): New variable.
12125
12126 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
12127 (struct grub_console_term.setcolor): Remove variable.
12128 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
12129 (struct grub_console_term.setcolor): Remove variable.
12130 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
12131 (struct grub_console_term.setcolor): Remove variable.
12132 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
12133 (struct grub_console_term.setcolor): Remove variable.
12134
4931827f 121352007-12-25 Robert Millan <rmh@aybabtu.com>
12136
12137 * configure.ac: Search for possible unifont.hex locations, and
12138 define UNIFONT_HEX if found.
12139
12140 * Makefile.in (UNIFONT_HEX): Define variable.
12141 (DATA): Rename to ...
12142 (PKGLIB): ... this. Update all users.
12143 (PKGDATA): New variable.
12144 (pkgdata_IMAGES): Rename to ...
12145 (pkglib_IMAGES): ... this. Update all users.
12146 (pkgdata_MODULES): Rename to ...
12147 (pkglib_MODULES): ... this. Update all users.
12148 (pkgdata_PROGRAMS): Rename to ...
12149 (pkglib_PROGRAMS): ... this. Update all users.
12150 (pkgdata_DATA): Rename to ...
12151 (pkglib_DATA): ... this. Update all users.
12152 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
12153 (unicode.pff, ascii.pff): New rules.
12154 (all-local): Add `$(PKGDATA)' dependency.
12155 (install-local): Process `$(PKGDATA)'.
12156
12157 * util/update-grub_lib.in (font_path): Search for *.pff files in
12158 a few more locations, including `${pkgdata}'.
12159
57e57e31 121602007-12-23 Robert Millan <rmh@aybabtu.com>
12161
12162 Patch from Bean <bean123ch@gmail.com>:
12163 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
12164 `size'.
12165
4bc72aa9 121662007-12-21 Bean <bean123ch@gmail.com>
12167
12168 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
12169 (ntfscomp_mod_SOURCES): New variable.
12170 (ntfscomp_mod_CFLAGS): Likewise.
12171 (ntfscomp_mod_LDFLAGS): Likewise.
12172
12173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
12174 (grub_probe_SOURCES): Likewise.
12175 (grub_emu_SOURCES): Likewise.
12176
12177 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12178 (grub_emu_SOURCES): Likewise.
12179
12180 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12181 (grub_emu_SOURCES): Likewise.
12182
12183 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12184 (grub_emu_SOURCES): Likewise.
12185
12186 * fs/ntfs.c (grub_ntfscomp_func): New variable.
12187 (read_run_list): Renamed to grub_ntfs_read_run_list.
12188 (decomp_nextvcn): Moved to ntfscomp.c.
12189 (decomp_getch): Likewise.
12190 (decomp_get16): Likewise.
12191 (decomp_block): Likewise.
12192 (read_block): Likewise.
12193 (read_data): Partially moved to ntfscomp.c.
12194 (fixup): Change unsigned to grub_uint16_t.
12195 (read_mft): Change unsigned long to grub_uint32_t.
12196 (read_attr): Likewise.
12197 (read_data): Likewise.
12198 (read_run_data): Likewise.
12199 (read_run_list): Likewise.
12200 (read_mft): Likewise.
12201
12202 * fs/ntfscomp.c: New file.
12203
12204 * include/grub/ntfs.h: New file.
12205
af680a87 122062007-12-16 Robert Millan <rmh@aybabtu.com>
12207
12208 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
12209 IDE disk check, since Linux is known to support 20 IDE disks.
12210 Reported by Colin Watson.
12211
84be7599 122122007-12-15 Bean <bean123ch@gmail.com>
12213
12214 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
12215 (lnxboot_img_SOURCES): New variable.
12216 (lnxboot_img_ASFLAGS): Likewise.
12217 (lnxboot_img_LDFLAGS): Likewise.
12218
12219 * boot/i386/pc/lnxboot.S: New file.
12220
6af9db01 122212007-11-24 Pavel Roskin <proski@gnu.org>
12222
12223 * configure.ac: Test if '--build-id=none' is supported by the
12224 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
12225 objcopy to generate incorrect binary files (binutils
12226 2.17.50.0.18-1 as shipped by Fedora 8).
12227 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
12228 linking, so that build ID doesn't break the test.
12229
7361cfe6 122302007-11-24 Pavel Roskin <proski@gnu.org>
12231
12232 * include/grub/i386/time.h: use "void" in the argument list
12233 of grub_cpu_idle().
12234 * include/grub/powerpc/time.h: Likewise.
12235 * include/grub/sparc64/time.h: Likewise.
12236
1593e10c 122372007-11-18 Christian Franke <franke@computer.org>
12238
12239 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
12240 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
12241 This fixes the problem that function keys did not work in grub-emu.
12242
3b8db1a8 122432007-11-18 Christian Franke <franke@computer.org>
12244
12245 * disk/host.c (grub_host_open): Remove attribute unused from
12246 name parameter. Add check for "host". This fixes the problem
12247 that grub-emu does not find partitions.
12248
2e29408d 122492007-11-18 Christian Franke <franke@computer.org>
12250
12251 * util/hostfs.c (is_dir): New function.
12252 (grub_hostfs_dir): Handle missing dirent.d_type case.
12253 (grub_hostfs_read): Add missing fseek().
12254 (grub_hostfs_label): Clear label pointer. This fixes a crash
12255 of grub-emu on "ls (host)".
12256
398cd047 122572007-11-18 Christian Franke <franke@computer.org>
12258
12259 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
12260 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
12261 to 64 bit boundary by default.
12262
c405c391 122632007-11-18 Bean <bean123ch@gmail.com>
12264
12265 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
12266 (hexdump_mod_SOURCES): New variable.
12267 (hexdump_mod_CFLAGS): Likewise.
12268 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 12269
c405c391 12270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12271
12272 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12273
12274 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12275
12276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12277
12278 * include/grub/hexdump.h: New file.
12279
12280 * commands/hexdump.c: New file.
12281
5cced7fd 122822007-11-10 Robert Millan <rmh@aybabtu.com>
12283
12284 * commands/i386/pc/play.c (beep_off): Switch order of arguments
12285 in grub_outb() calls.
12286 (beep_on): Likewise.
12287
8b714eb0 122882007-11-10 Christian Franke <franke@computer.org>
12289
12290 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
12291 (grub_menu_run): Likewise.
12292
ce0f1839 122932007-11-10 Robert Millan <rmh@aybabtu.com>
12294
12295 * include/grub/i386/efi/machine.h: New file.
12296 * include/grub/i386/linuxbios/machine.h: Likewise.
12297 * include/grub/i386/pc/machine.h: Likewise.
12298 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12299 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12300
12301 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
12302 (serial_hw_io_addr): New variable.
12303 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
12304 instead of `(unsigned short *) 0x400'.
12305
270c237d 123062007-11-10 Bean <bean123ch@gmail.com>
12307
12308 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
12309
a87783bf 123102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12311
12312 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
12313 (vga_mod_SOURCES): Added.
12314 (vga_mod_CFLAGS): Likewise.
12315 (vga_mod_LDFLAGS): Likewise.
12316
12317 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
12318 grub_outb() calls.
12319 (set_map_mask): Likewise.
12320 (set_read_map): Likewise.
12321 (set_read_address): Likewise.
12322 (vga_font): Removed variable.
12323 (get_vga_glyph): Removed function.
12324 (invalidate_char): Likewise.
12325 (write_char): Changed to use grub_font_get_glyph() for font
12326 information.
12327 (grub_vga_putchar): Likewise.
12328 (grub_vga_getcharwidth): Likewise.
12329
6433b448 123302007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12331
12332 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
12333 flags.
12334 (pxeboot_img_LDFLAGS): Likewise.
12335 (diskboot_img_LDFLAGS): Likewise.
12336 (kernel_img_LDFLAGS): Likewise.
12337
49178511 123382007-11-06 Robert Millan <rmh@aybabtu.com>
12339
12340 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
12341 in grub_outb() calls.
12342 (serial_hw_init): Likewise.
12343
53b052de 123442007-11-05 Robert Millan <rmh@aybabtu.com>
12345
12346 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
12347 spaces. Skip non-regular files.
12348
5ab33bba 123492007-11-05 Robert Millan <rmh@aybabtu.com>
12350
12351 * kern/disk.c (grub_disk_firmware_fini)
12352 (grub_disk_firmware_is_tainted): New variables.
12353
12354 * include/grub/disk.h (grub_disk_firmware_fini)
12355 (grub_disk_firmware_is_tainted): Likewise.
12356
12357 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
12358 (grub_disk_biosdisk_fini): ... to here.
12359 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
12360 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
12361 is set. Register grub_disk_biosdisk_fini() in
12362 `grub_disk_firmware_fini'.
12363
12364 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
12365 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
12366 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
12367 to finish existing firmware disk interface.
12368
12369 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
12370 (ata_mod_SOURCES): New variable.
12371 (ata_mod_CFLAGS): Likewise.
12372 (ata_mod_LDFLAGS): Likewise.
12373
0149ab7c 123742007-11-05 Robert Millan <rmh@aybabtu.com>
12375
12376 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
12377 (grub_ata_wait): Reimplement using grub_millisleep().
12378
12379 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
12380 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
12381
be7ac41e 123822007-11-03 Marco Gerards <marco@gnu.org>
12383
12384 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
12385 (CRTC_ADDR_PORT): New macro.
12386 (CRTC_DATA_PORT): Likewise.
12387 (CRTC_CURSOR): Likewise.
12388 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12389 (CRTC_CURSOR_ADDR_LOW): Likewise.
12390 (update_cursor): New function.
12391 (grub_console_real_putchar): Call `update_cursor'.
12392 (grub_console_gotoxy): Likewise.
12393 (grub_console_cls): Set the default color when clearing the
12394 screen.
12395 (grub_console_setcursor): Implemented.
12396
bb06ab2e 123972007-11-03 Marco Gerards <marco@gnu.org>
12398
12399 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
12400 become activate.
12401 (grub_ata_pio_write): Likewise.
12402
12403 (grub_atapi_identify): Wait after issuing an ATA command.
12404 (grub_atapi_packet): Likewise.
12405 (grub_ata_identify): Likewise.
12406 (grub_ata_readwrite): Likewise.
12407
cf8f780b 124082007-11-03 Marco Gerards <marco@gnu.org>
12409
12410 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
12411 (grub_ata_pio_write): Likewise.
12412 (grub_ata_readwrite): Use `grub_error', instead of
12413 returning `grub_errno'.
12414
ed649e54 124152007-11-03 Marco Gerards <marco@gnu.org>
12416
12417 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
12418 grub_ata_pio_write once for every single sector, instead of for
12419 multiple sectors.
12420
ca25d8f0 124212007-10-31 Robert Millan <rmh@aybabtu.com>
12422
12423 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
12424
12425 * conf/i386-linuxbios.rmk: New file.
12426
12427 * kern/i386/pc/hardware.c: Likewise.
12428 * term/i386/pc/at_keyboard.c: Likewise.
12429 * term/i386/pc/vga_text.c: Likewise.
12430
12431 * include/grub/i386/linuxbios/boot.h: Likewise.
12432 * include/grub/i386/linuxbios/console.h: Likewise.
12433 * include/grub/i386/linuxbios/init.h: Likewise.
12434 * include/grub/i386/linuxbios/kernel.h: Likewise.
12435 * include/grub/i386/linuxbios/loader.h: Likewise.
12436 * include/grub/i386/linuxbios/memory.h: Likewise.
12437 * include/grub/i386/linuxbios/serial.h: Likewise.
12438 * include/grub/i386/linuxbios/time.h: Likewise.
12439
12440 * kern/i386/linuxbios/init.c: Likewise.
12441 * kern/i386/linuxbios/startup.S: Likewise.
12442 * kern/i386/linuxbios/table.c: Likewise.
12443
e911ecc1 124442007-10-31 Marco Gerards <marco@gnu.org>
12445
12446 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
12447 (ata_mod_SOURCES): New variable.
12448 (ata_mod_CFLAGS): Likewise.
12449 (ata_mod_LDFLAGS): Likewise.
12450
12451 * disk/ata.c: New file.
12452
12453 * include/grub/disk.h (grub_disk_dev_id): Add
12454 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 12455
7f66d0e0 124562007-10-31 Robert Millan <rmh@aybabtu.com>
12457
12458 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
12459 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
12460
12461 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
12462 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
12463
12464 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
12465 `<grub/types.h>'.
12466
12467 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
12468
5cd7dd46 124692007-10-27 Robert Millan <rmh@aybabtu.com>
12470
3236ca65 12471 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 12472
2ebfc90f 124732007-10-22 Robert Millan <rmh@aybabtu.com>
12474
12475 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
12476 `"../realmode.S"'.
12477 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
12478
73fcb0f3 124792007-10-22 Robert Millan <rmh@aybabtu.com>
12480
12481 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
12482 (pkgdata_MODULES): Add `biosdisk.mod'.
12483 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
12484 variables.
12485
12486 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
12487 (grub_biosdisk_init): Replace with ...
12488 (GRUB_MOD_INIT(biosdisk)): ... this.
12489 (grub_biosdisk_fini): Replace with ...
12490 (GRUB_MOD_FINI(biosdisk)): ... this.
12491
12492 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
12493 (grub_machine_init): Remove call to grub_biosdisk_init().
12494 (grub_machine_fini): Remove call to grub_machine_fini().
12495
12496 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
12497
3381d274 124982007-10-22 Robert Millan <rmh@aybabtu.com>
12499
12500 * include/grub/time.h: New file.
12501 * include/grub/i386/time.h: Likewise.
12502 * include/grub/powerpc/time.h: Likewise.
12503 * include/grub/sparc64/time.h: Likewise.
12504
12505 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
12506 instances to ...
12507 (KERNEL_MACHINE_TIME_HEADER): ... this.
12508 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12509 instances to ...
12510 (KERNEL_MACHINE_TIME_HEADER): ... this.
12511 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12512 instances to ...
12513 (KERNEL_MACHINE_TIME_HEADER): ... this.
12514
12515 * kern/i386/efi/init.c: Include `<grub/time.h>'.
12516 (grub_millisleep): New function.
12517 * kern/i386/pc/init.c: Include `<grub/time.h>'.
12518 (grub_millisleep): New function.
12519 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
12520 Remove `grub/machine/time.h' include.
12521 (grub_millisleep): New function.
12522 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
12523 Remove `grub/machine/time.h' include.
12524 (grub_millisleep): New function.
12525
12526 * include/grub/misc.h (grub_div_roundup): New function.
12527
12528 * kern/misc.c: Include `<grub/time.h>'.
12529 (grub_millisleep_generic): New function.
12530
12531 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
12532 Add `time.h'.
12533 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
12534 Add `time.h'.
12535 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
12536 `machine/time.h'. Add `time.h'.
12537 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
12538
a39a0312 125392007-10-21 Robert Millan <rmh@aybabtu.com>
12540
12541 * include/grub/misc.h (grub_max): New function.
12542
2aad70e2 125432007-10-21 Robert Millan <rmh@aybabtu.com>
12544
12545 * util/misc.c (grub_util_info): Call fflush() before returning.
12546
54b71c4b 125472007-10-20 Robert Millan <rmh@aybabtu.com>
12548
12549 * genmk.rb (Image): Copy `extra_flags' from here ...
12550 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
12551
12552 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
12553 to `argc' and `args' arguments.
12554
a979f513 125552007-10-17 Robert Millan <rmh@aybabtu.com>
12556
12557 * kern/i386/loader.S: New file.
12558
12559 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
12560 * kern/i386/loader.S (grub_linux_prot_size)... to here.
12561 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
12562 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
12563 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
12564 * kern/i386/loader.S (grub_linux_real_addr)... to here.
12565 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
12566 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
12567 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
12568 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
12569 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
12570 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
12571 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
12572 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
12573
12574 * kern/i386/realmode.S: New file.
12575
12576 * kern/i386/pc/startup.S (protstack): Moved from here ...
12577 * kern/i386/realmode.S (protstack)... to here.
12578 * kern/i386/pc/startup.S (gdt): Moved from here ...
12579 * kern/i386/realmode.S (gdt)... to here.
12580 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
12581 * kern/i386/realmode.S (prot_to_real)... to here.
12582
12583 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
12584 `kern/i386/realmode.S'.
12585
825fc8fd 125862007-10-17 Robert Millan <rmh@aybabtu.com>
12587
12588 * include/grub/i386/loader.h: New file.
12589
12590 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
12591 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12592 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12593 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12594 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
12595 * include/grub/i386/loader.h (grub_linux_prot_size)
12596 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12597 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12598 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12599 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
12600
12601 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
12602
e179b2f4 126032007-10-15 Robert Millan <rmh@aybabtu.com>
12604
12605 * normal/misc.c (grub_normal_print_device_info): Do not probe for
12606 filesystem when dev->disk is unset.
12607 Do probe for filesystem even when dev->disk->has_partitions is set.
12608 In case a filesystem is found, always report it.
12609 In case it isn't, if dev->disk->has_partitions is set, report that
12610 a partition table was found instead of reporting that no filesystem
12611 could be identified.
12612
5db82af6 126132007-10-12 Robert Millan <rmh@aybabtu.com>
12614
12615 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
12616 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
12617
68f6ac74 12618 * include/grub/types.h (grub_host_to_target16): New macro.
12619 (grub_host_to_target32): Likewise.
12620 (grub_host_to_target64): Likewise.
12621 (grub_target_to_host16): Likewise.
12622 (grub_target_to_host32): Likewise.
12623 (grub_target_to_host64): Likewise.
5db82af6 12624
12625 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
12626 Renamed from to ...
12627 (GRUB_MOD_ALIGN): ...this. Update all users.
12628
68f6ac74 12629 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
12630 grub_host_to_target32.
12631 Replace grub_be_to_cpu32 with grub_target_to_host32.
12632 (load_modules): Likewise.
12633 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
12634 Replace grub_be_to_cpu32 with grub_target_to_host32.
12635 Replace grub_cpu_to_be16 with grub_host_to_target16.
12636 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 12637
3cf497cc 126382007-10-12 Robert Millan <rmh@aybabtu.com>
12639
12640 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
12641 * util/elf/grub-mkimage.c: ... here.
12642
12643 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
12644 `util/powerpc/ieee1275/grub-mkimage.c'.
12645
c8cc3692 126462007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 12647
c8cc3692 12648 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
12649 and make it easier to figure out.
12650 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
12651 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
12652 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
12653 leave us with less than HEAP_MIN_SIZE total heap.
12654 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 12655
5c58b791 126562007-10-03 Robert Millan <rmh@aybabtu.com>
12657
12658 * include/grub/i386/io.h: New file.
12659 * commands/i386/pc/play.c (inb): Removed.
12660 (outb): Removed.
12661 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12662 with grub_outb().
afcd2ef8 12663 * term/i386/pc/serial.c (inb): Removed.
12664 (outb): Removed.
12665 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12666 with grub_outb().
12667 * term/i386/pc/vga.c (inb): Removed.
12668 (outb): Removed.
12669 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12670 with grub_outb().
5c58b791 12671
1a477ed6 126722007-10-02 Robert Millan <rmh@aybabtu.com>
12673
12674 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
12675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12676 Reported by Marcin Kurek.
12677
6b5d80fa 126782007-09-07 Robert Millan <rmh@aybabtu.com>
12679
12680 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
12681 SmartFirmware version updates (as released by Sven Luther), and avoid
12682 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
12683 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
12684 known broken.
12685
5618afbf 126862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12687
12688 From Hitoshi Ozeki:
12689 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
12690 when merging two regions.
12691
6139dcd9 126922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12693
508e39ee 12694 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
12695 * normal/completion.c (grub_normal_do_completion): Likewise.
12696 Reported by Hitoshi Ozeki.
12697
126982007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12699
6139dcd9 12700 Do not use devices at boot in chainloading.
f19dbdb7 12701
6139dcd9 12702 * loader/i386/pc/chainloader.c (boot_drive): New variable.
12703 (boot_part_addr): Likewise.
12704 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
12705 with BOOT_DRIVE and BOOT_PART_ADDR.
12706 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
12707 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
12708
38da6516 127092007-08-29 Robert Millan <rmh@aybabtu.com>
12710
12711 Patch from Simon Peter <dn.tlp@gmx.net>:
12712 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
12713 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
12714 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
12715 util/i386/pc/grub-setup.c_DEPENDENCIES.
12716 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
12717 util/grub-probe.c_DEPENDENCIES.
12718 * conf/powerpc-ieee1275.rmk: Likewise.
12719
29d0928c 127202007-08-28 Robert Millan <rmh@aybabtu.com>
12721
12722 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
12723 to tell grub-mkdevicemap how to name devices.
12724 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
12725 feature).
12726
12727 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
12728 util/i386/get_disk_name.c.
12729 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
12730 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
12731 util/ieee1275/get_disk_name.c.
12732
12733 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
12734
12735 * DISTLIST: Add util/i386/get_disk_name.c and
12736 util/ieee1275/get_disk_name.c.
12737
12738 * util/grub-mkdevicemap.c: Replace device naming logic with
12739 grub_util_get_disk_name() calls.
12740
5a0d3cca 127412007-08-20 Robert Millan <rmh@aybabtu.com>
12742
12743 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
12744 (so that it works for both plural and singular quantities).
12745
8b72db2f 127462007-08-05 Robert Millan <rmh@aybabtu.com>
12747
12748 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
12749 so that [xz] isn't taken into account when determining order.
12750
352466bf 127512007-08-02 Marco Gerards <marco@gnu.org>
12752
12753 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
12754 `include/multiboot2.h', `include/grub/elfload.h',
12755 `include/multiboot.h', `include/grub/multiboot.h',
12756 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
12757 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
12758 `kern/elf.c', `loader/multiboot_loader.c',
12759 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
12760 `loader/i386/pc/multiboot2.c',
12761 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
12762 `util/i386/pc/grub-mkrescue.in'. Remove
12763 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
12764 `include/grub/i386/pc/util/biosdisk.h' and
12765 `include/grub/powerpc/ieee1275/multiboot.h'.
12766
8f096014 127672007-08-02 Bean <bean123ch@gmail.com>
12768
12769 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
12770 (ntfs_mod_SOURCES): New variable.
12771 (ntfs_mod_CFLAGS): Likewise.
12772 (ntfs_mod_LDFLAGS): Likewise.
12773
12774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
12775 (grub_probe_SOURCES): Likewise.
12776 (grub_emu_SOURCES): Likewise.
12777
12778 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12779 (grub_emu_SOURCES): Likewise.
12780
12781 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12782 (grub_emu_SOURCES): Likewise.
f19dbdb7 12783
8f096014 12784 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
12785
12786 * fs/ntfs.c: New file.
12787
9959f7db 127882007-08-02 Bean <bean123ch@gmail.com>
12789
12790 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
12791
12792 * file.h (grub_file): Likewise.
12793
12794 * fshelp.h (grub_fshelp_read_file): Likewise.
12795
12796 * util/i386/pc/grub-setup.c (setup): Likewise.
12797 (save_first_sector): Likewise.
12798 (save_blocklists): Likewise.
f19dbdb7 12799
9959f7db 12800 * fs/affs.c (grub_affs_read_file): Likewise.
12801
12802 * fs/ext2.c (grub_ext2_read_file): Likewise.
12803
12804 * fs/fat.c (grub_fat_read_data): Likewise.
12805
12806 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
12807
12808 * fs/hfs.c (grub_hfs_read_file): Likewise.
12809
12810 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
12811
12812 * fs/jfs.c (grub_jfs_read_file): Likewise.
12813
12814 * fs/minix.c (grub_minix_read_file): Likewise.
12815
12816 * fs/sfs.c (grub_sfs_read_file): Likewise.
12817
12818 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 12819
9959f7db 12820 * fs/xfs.c (grub_xfs_read_file): Likewise.
12821
12822 * command/blocklist.c (read_blocklist): Likewise.
12823 (print_blocklist): Likewise.
12824
0a203f83 128252007-08-02 Marco Gerards <marco@gnu.org>
12826
12827 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
12828 `util/hostfs.c'.
12829
12830 * disk/host.c: New file.
12831
12832 * util/hostfs.c: Likewise.
12833
12834 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
12835 return `GRUB_ERR_BAD_FS'.
12836 * fs/sfs.c (grub_sfs_mount): Likewise.
12837 * fs/xfs.c (grub_xfs_mount): Likewise.
12838
12839 * include/grub/disk.h (enum grub_disk_dev_id): Add
12840 `GRUB_DISK_DEVICE_HOST_ID'.
12841
12842 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
12843
e5dfe777 128442007-07-24 Jerone Young <jerone@gmail.com>
12845
f19dbdb7 12846 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 12847 modules for compilation.
12848 * conf/powerpc-ieee1275.rmk: Likewise.
12849
12850 * include/multiboot.h: Move multiboot definitions to one file. Rename
12851 many definitions to not get grub specific.
12852 * include/multiboot2.h: Create header with multiboot 2 definitions.
12853 * include/grub/multiboot.h: Header for grub specific function
12854 prototypes and definitions.
12855 * include/grub/multiboot2.h: Likewise.
12856 * include/grub/multiboot_loader.h: Likewise.
12857 * include/grub/i386/pc/multiboot.h: Removed.
12858 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
12859
12860 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
12861 and 2 to allow for one multiboot and module commands.
12862 * loader/multiboot2.c: Add multiboot2 functionality.
12863 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
12864 and definition names.
12865 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
12866 2 functions.
12867 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
12868 ieee1275 specific multiboot2 code.
12869
12870 * kern/i386/pc/startup.S: Change headers and definition names for
12871 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
12872
daf0f0ba 128732007-07-22 Robert Millan <rmh@aybabtu.com>
12874
12875 * geninitheader.sh: Process file specified in first parameter rather
12876 than hardcoding grub_modules_init.lst.
fe6b695a 12877 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 12878 than hardcoding grub_modules_init.h.
12879
12880 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
12881 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
12882 grub_probe_init.[ch] and grub_setup_init.[ch].
12883
12884 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
12885 grub_modules_init.h with grub_emu_init.h.
12886 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
12887 grub_probe_init.[ch] files.
12888 * conf/i386-efi.rmk: Likewise.
12889 * conf/i386-pc.rmk: Likewise.
12890 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
12891 grub_setup_init.[ch] files.
12892
12893 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
12894 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
12895 to initialize modules rather than a list of hardcoded functions.
12896 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
12897 grub_init_all() to initialize modules rather than a list of hardcoded
12898 functions.
12899
54cdc1cc 129002007-07-22 Robert Millan <rmh@aybabtu.com>
12901
12902 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12903 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
12904
ad0686cc 129052007-07-22 Robert Millan <rmh@aybabtu.com>
12906
12907 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12908 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
12909 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
12910 flag when running on SmartFirmware.
12911 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
12912 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
12913 was set.
12914
12915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12916 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
12917 rather than decreasing it.
12918
12919 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
12920 there's not enough space to do it, fail in the same way as when it
12921 can't be done because there are no partitions.
12922
12923 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
12924 when nvsetenv failed.
12925
969c02ec 129262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12927
12928 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
12929 because this rule is automatically generated.
12930 (grub-mkrescue): Removed for the same reason as above.
12931
5a79f472 129322007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
12933
12934 Migrate to GNU General Public License Version 3.
f19dbdb7 12935
5a79f472 12936 * COPYING: Replaced with the plain text version of GPLv3.
12937
12938 * config.guess: Updated from gnulib.
12939 * config.sub: Likewise.
12940
12941 * geninit.sh: Output a GPLv3 copyright notice.
12942 * geninitheader.sh: Likewise.
12943 * genmodsrc.sh: Likewise.
12944 * gensymlist.sh.in: Likewise.
12945
12946 * boot/i386/pc/boot.S: Upgraded to GPLv3.
12947 * boot/i386/pc/diskboot.S: Likewise.
12948 * boot/i386/pc/pxeboot.S: Likewise.
12949 * commands/blocklist.c: Likewise.
12950 * commands/boot.c: Likewise.
12951 * commands/cat.c: Likewise.
12952 * commands/cmp.c: Likewise.
12953 * commands/configfile.c: Likewise.
12954 * commands/echo.c: Likewise.
12955 * commands/help.c: Likewise.
12956 * commands/ls.c: Likewise.
12957 * commands/search.c: Likewise.
12958 * commands/terminal.c: Likewise.
12959 * commands/test.c: Likewise.
12960 * commands/videotest.c: Likewise.
12961 * commands/i386/cpuid.c: Likewise.
12962 * commands/i386/pc/halt.c: Likewise.
12963 * commands/i386/pc/play.c: Likewise.
12964 * commands/i386/pc/reboot.c: Likewise.
12965 * commands/i386/pc/vbeinfo.c: Likewise.
12966 * commands/i386/pc/vbetest.c: Likewise.
12967 * commands/ieee1275/halt.c: Likewise.
12968 * commands/ieee1275/reboot.c: Likewise.
12969 * commands/ieee1275/suspend.c: Likewise.
12970 * disk/loopback.c: Likewise.
12971 * disk/lvm.c: Likewise.
12972 * disk/raid.c: Likewise.
12973 * disk/efi/efidisk.c: Likewise.
12974 * disk/i386/pc/biosdisk.c: Likewise.
12975 * disk/ieee1275/ofdisk.c: Likewise.
12976 * font/manager.c: Likewise.
12977 * fs/affs.c: Likewise.
12978 * fs/ext2.c: Likewise.
12979 * fs/fat.c: Likewise.
12980 * fs/fshelp.c: Likewise.
12981 * fs/hfs.c: Likewise.
12982 * fs/hfsplus.c: Likewise.
12983 * fs/iso9660.c: Likewise.
12984 * fs/jfs.c: Likewise.
12985 * fs/minix.c: Likewise.
12986 * fs/sfs.c: Likewise.
12987 * fs/ufs.c: Likewise.
12988 * fs/xfs.c: Likewise.
12989 * hello/hello.c: Likewise.
12990 * include/grub/acorn_filecore.h: Likewise.
12991 * include/grub/arg.h: Likewise.
12992 * include/grub/bitmap.h: Likewise.
12993 * include/grub/boot.h: Likewise.
12994 * include/grub/cache.h: Likewise.
12995 * include/grub/device.h: Likewise.
12996 * include/grub/disk.h: Likewise.
12997 * include/grub/dl.h: Likewise.
12998 * include/grub/elfload.h: Likewise.
12999 * include/grub/env.h: Likewise.
13000 * include/grub/err.h: Likewise.
13001 * include/grub/file.h: Likewise.
13002 * include/grub/font.h: Likewise.
13003 * include/grub/fs.h: Likewise.
13004 * include/grub/fshelp.h: Likewise.
13005 * include/grub/gzio.h: Likewise.
13006 * include/grub/hfs.h: Likewise.
13007 * include/grub/kernel.h: Likewise.
13008 * include/grub/loader.h: Likewise.
13009 * include/grub/lvm.h: Likewise.
13010 * include/grub/misc.h: Likewise.
13011 * include/grub/mm.h: Likewise.
13012 * include/grub/net.h: Likewise.
13013 * include/grub/normal.h: Likewise.
13014 * include/grub/parser.h: Likewise.
13015 * include/grub/partition.h: Likewise.
13016 * include/grub/pc_partition.h: Likewise.
13017 * include/grub/raid.h: Likewise.
13018 * include/grub/rescue.h: Likewise.
13019 * include/grub/script.h: Likewise.
13020 * include/grub/setjmp.h: Likewise.
13021 * include/grub/symbol.h: Likewise.
13022 * include/grub/term.h: Likewise.
13023 * include/grub/terminfo.h: Likewise.
13024 * include/grub/tparm.h: Likewise.
13025 * include/grub/types.h: Likewise.
13026 * include/grub/video.h: Likewise.
13027 * include/grub/efi/api.h: Likewise.
13028 * include/grub/efi/chainloader.h: Likewise.
13029 * include/grub/efi/console.h: Likewise.
13030 * include/grub/efi/console_control.h: Likewise.
13031 * include/grub/efi/disk.h: Likewise.
13032 * include/grub/efi/efi.h: Likewise.
13033 * include/grub/efi/pe32.h: Likewise.
13034 * include/grub/efi/time.h: Likewise.
13035 * include/grub/i386/linux.h: Likewise.
13036 * include/grub/i386/setjmp.h: Likewise.
13037 * include/grub/i386/types.h: Likewise.
13038 * include/grub/i386/efi/kernel.h: Likewise.
13039 * include/grub/i386/efi/loader.h: Likewise.
13040 * include/grub/i386/efi/time.h: Likewise.
13041 * include/grub/i386/pc/biosdisk.h: Likewise.
13042 * include/grub/i386/pc/boot.h: Likewise.
13043 * include/grub/i386/pc/chainloader.h: Likewise.
13044 * include/grub/i386/pc/console.h: Likewise.
13045 * include/grub/i386/pc/init.h: Likewise.
13046 * include/grub/i386/pc/kernel.h: Likewise.
13047 * include/grub/i386/pc/loader.h: Likewise.
13048 * include/grub/i386/pc/memory.h: Likewise.
13049 * include/grub/i386/pc/multiboot.h: Likewise.
13050 * include/grub/i386/pc/serial.h: Likewise.
13051 * include/grub/i386/pc/time.h: Likewise.
13052 * include/grub/i386/pc/vbe.h: Likewise.
13053 * include/grub/i386/pc/vbeblit.h: Likewise.
13054 * include/grub/i386/pc/vbefill.h: Likewise.
13055 * include/grub/i386/pc/vbeutil.h: Likewise.
13056 * include/grub/i386/pc/vga.h: Likewise.
13057 * include/grub/ieee1275/ieee1275.h: Likewise.
13058 * include/grub/ieee1275/ofdisk.h: Likewise.
13059 * include/grub/powerpc/libgcc.h: Likewise.
13060 * include/grub/powerpc/setjmp.h: Likewise.
13061 * include/grub/powerpc/types.h: Likewise.
13062 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13063 * include/grub/powerpc/ieee1275/console.h: Likewise.
13064 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13065 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13066 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13067 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13068 * include/grub/powerpc/ieee1275/time.h: Likewise.
13069 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13070 * include/grub/sparc64/libgcc.h: Likewise.
13071 * include/grub/sparc64/setjmp.h: Likewise.
13072 * include/grub/sparc64/types.h: Likewise.
13073 * include/grub/sparc64/ieee1275/console.h: Likewise.
13074 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13075 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13076 * include/grub/sparc64/ieee1275/time.h: Likewise.
13077 * include/grub/util/biosdisk.h: Likewise.
13078 * include/grub/util/getroot.h: Likewise.
13079 * include/grub/util/lvm.h: Likewise.
13080 * include/grub/util/misc.h: Likewise.
13081 * include/grub/util/raid.h: Likewise.
13082 * include/grub/util/resolve.h: Likewise.
13083 * io/gzio.c: Likewise.
13084 * kern/device.c: Likewise.
13085 * kern/disk.c: Likewise.
13086 * kern/dl.c: Likewise.
13087 * kern/elf.c: Likewise.
13088 * kern/env.c: Likewise.
13089 * kern/err.c: Likewise.
13090 * kern/file.c: Likewise.
13091 * kern/fs.c: Likewise.
13092 * kern/loader.c: Likewise.
13093 * kern/main.c: Likewise.
13094 * kern/misc.c: Likewise.
13095 * kern/mm.c: Likewise.
13096 * kern/parser.c: Likewise.
13097 * kern/partition.c: Likewise.
13098 * kern/rescue.c: Likewise.
13099 * kern/term.c: Likewise.
13100 * kern/efi/efi.c: Likewise.
13101 * kern/efi/init.c: Likewise.
13102 * kern/efi/mm.c: Likewise.
13103 * kern/i386/dl.c: Likewise.
13104 * kern/i386/efi/init.c: Likewise.
13105 * kern/i386/efi/startup.S: Likewise.
13106 * kern/i386/pc/init.c: Likewise.
13107 * kern/i386/pc/lzo1x.S: Likewise.
13108 * kern/i386/pc/startup.S: Likewise.
13109 * kern/ieee1275/ieee1275.c: Likewise.
13110 * kern/powerpc/cache.S: Likewise.
13111 * kern/powerpc/dl.c: Likewise.
13112 * kern/powerpc/ieee1275/cmain.c: Likewise.
13113 * kern/powerpc/ieee1275/crt0.S: Likewise.
13114 * kern/powerpc/ieee1275/init.c: Likewise.
13115 * kern/powerpc/ieee1275/openfw.c: Likewise.
13116 * kern/sparc64/cache.S: Likewise.
13117 * kern/sparc64/dl.c: Likewise.
13118 * kern/sparc64/ieee1275/init.c: Likewise.
13119 * kern/sparc64/ieee1275/openfw.c: Likewise.
13120 * loader/efi/chainloader.c: Likewise.
13121 * loader/efi/chainloader_normal.c: Likewise.
13122 * loader/i386/efi/linux.c: Likewise.
13123 * loader/i386/efi/linux_normal.c: Likewise.
13124 * loader/i386/pc/chainloader.c: Likewise.
13125 * loader/i386/pc/chainloader_normal.c: Likewise.
13126 * loader/i386/pc/linux.c: Likewise.
13127 * loader/i386/pc/linux_normal.c: Likewise.
13128 * loader/i386/pc/multiboot.c: Likewise.
13129 * loader/i386/pc/multiboot_normal.c: Likewise.
13130 * loader/powerpc/ieee1275/linux.c: Likewise.
13131 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13132 * normal/arg.c: Likewise.
13133 * normal/cmdline.c: Likewise.
13134 * normal/command.c: Likewise.
13135 * normal/completion.c: Likewise.
13136 * normal/execute.c: Likewise.
13137 * normal/function.c: Likewise.
13138 * normal/lexer.c: Likewise.
13139 * normal/main.c: Likewise.
13140 * normal/menu.c: Likewise.
13141 * normal/menu_entry.c: Likewise.
13142 * normal/misc.c: Likewise.
13143 * normal/parser.y: Likewise.
13144 * normal/script.c: Likewise.
13145 * normal/i386/setjmp.S: Likewise.
13146 * normal/powerpc/setjmp.S: Likewise.
13147 * normal/sparc64/setjmp.S: Likewise.
13148 * partmap/acorn.c: Likewise.
13149 * partmap/amiga.c: Likewise.
13150 * partmap/apple.c: Likewise.
13151 * partmap/gpt.c: Likewise.
13152 * partmap/pc.c: Likewise.
13153 * partmap/sun.c: Likewise.
13154 * term/gfxterm.c: Likewise.
13155 * term/terminfo.c: Likewise.
13156 * term/efi/console.c: Likewise.
13157 * term/i386/pc/console.c: Likewise.
13158 * term/i386/pc/serial.c: Likewise.
13159 * term/i386/pc/vesafb.c: Likewise.
13160 * term/i386/pc/vga.c: Likewise.
13161 * term/ieee1275/ofconsole.c: Likewise.
13162 * util/biosdisk.c: Likewise.
13163 * util/console.c: Likewise.
13164 * util/genmoddep.c: Likewise.
13165 * util/getroot.c: Likewise.
13166 * util/grub-emu.c: Likewise.
13167 * util/grub-mkdevicemap.c: Likewise.
13168 * util/grub-probe.c: Likewise.
13169 * util/lvm.c: Likewise.
13170 * util/misc.c: Likewise.
13171 * util/raid.c: Likewise.
13172 * util/resolve.c: Likewise.
13173 * util/update-grub.in: Likewise.
13174 * util/update-grub_lib.in: Likewise.
13175 * util/grub.d/00_header.in: Likewise.
13176 * util/grub.d/10_hurd.in: Likewise.
13177 * util/grub.d/10_linux.in: Likewise.
13178 * util/i386/efi/grub-install.in: Likewise.
13179 * util/i386/efi/grub-mkimage.c: Likewise.
13180 * util/i386/pc/grub-install.in: Likewise.
13181 * util/i386/pc/grub-mkimage.c: Likewise.
13182 * util/i386/pc/grub-mkrescue.in: Likewise.
13183 * util/i386/pc/grub-setup.c: Likewise.
13184 * util/i386/pc/misc.c: Likewise.
13185 * util/powerpc/ieee1275/grub-install.in: Likewise.
13186 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
13187 * util/powerpc/ieee1275/misc.c: Likewise.
13188 * video/bitmap.c: Likewise.
13189 * video/video.c: Likewise.
13190 * video/i386/pc/vbe.c: Likewise.
13191 * video/i386/pc/vbeblit.c: Likewise.
13192 * video/i386/pc/vbefill.c: Likewise.
13193 * video/i386/pc/vbeutil.c: Likewise.
13194 * video/readers/tga.c: Likewise.
13195
3572d015 131962007-07-02 Robert Millan <rmh@aybabtu.com>
13197
13198 * conf/i386-efi.rmk: Replace obsolete reference to
13199 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
13200 with util/getroot.c.
13201 * conf/powerpc-ieee1275.rmk: Likewise.
13202 * conf/sparc64-ieee1275.rmk: Likewise.
13203
13204 * util/grub-emu.c (main): Fix unchecked pointer handling.
13205
2c2a681b 132062007-07-02 Robert Millan <rmh@aybabtu.com>
13207
13208 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
13209 invocation to fail, in order to support partition-less media.
13210
13211 * util/i386/pc/grub-install.in: Likewise.
13212
13213 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
13214 which fs or partmap modules are needed (akin to its sister scripts).
13215
13216 Also use grub-probe to get rid of unportable /proc/mounts check.
13217
13218 Print the same informational message that the other scripts do, before
fe6b695a 13219 exiting.
2c2a681b 13220
6193defe 132212007-06-23 Robert Millan <rmh@aybabtu.com>
13222
fe6b695a 13223 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 13224 a font file can be found and, if so, echo the GRUB path to it.
13225
13226 * util/update-grub.in: Handle multiple terminals depending on user
13227 input, platform availability and font file presence. Propagate
13228 variables of our findings to /etc/grub.d/ children.
13229
13230 * util/grub.d/00_header.in: Handle multiple terminals, based on
13231 environment setup by update-grub.
13232
eface1dc 132332007-06-23 Robert Millan <rmh@aybabtu.com>
13234
ba50d28f 13235 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 13236
bf697e28 132372007-06-21 Robert Millan <rmh@aybabtu.com>
13238
13239 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
13240 indicate end of data section in kernel image.
13241 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
13242 GRUB_KERNEL_MACHINE_DATA_END.
13243
13244 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
13245 space for it.
13246 * kern/i386/efi/startup.S: Likewise.
13247
13248 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
13249 during image generation. Implement --prefix option to override this
13250 patch.
13251 * util/i386/efi/grub-mkimage.c: Likewise.
13252
13253 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
13254 code to make path relative to its root into a separate function.
13255
13256 * util/i386/pc/grub-install.in: Use newly provided
13257 make_system_path_relative_to_its_root() to convert ${grubdir}, then
13258 pass the result to grub-install --prefix.
13259
baa574b4 132602007-06-13 Robert Millan <rmh@aybabtu.com>
13261
13262 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
13263 DEFAULT_DEVICE_MAP.
13264 * util/grub-emu.c: Use above definitions from misc.h instead of
13265 defining them.
13266 * util/grub-mkdevicemap.c: Likewise.
13267 * util/i386/pc/grub-setup.c: Likewise.
13268 * util/grub-probe.c: Likewise.
13269 (probe): Abort with grub_util_error() when either
13270 grub_guess_root_device or grub_util_get_grub_dev fails.
13271
0215dcbf 132722007-06-12 Robert Millan <rmh@aybabtu.com>
13273
13274 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
13275 "pager" assignment.
13276 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
13277 "pcdata".
13278 * util/grub-probe.c (probe): Likewise for "drive_name".
13279
8af2ab7b 132802007-06-11 Robert Millan <rmh@aybabtu.com>
13281
13282 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
13283 not just the cdrom one.
13284
59d31694 132852007-06-11 Robert Millan <rmh@aybabtu.com>
13286
13287 * util/i386/pc/grub-mkrescue.in: Add "set -e".
13288 Add --pkglibdir=DIR option to override pkglibdir.
13289 Mention --image-type=TYPE in help output.
13290 Fix --grub-mkimage (it was a no-op).
fe6b695a 13291 Abort gracefully when no parameter is given.
59d31694 13292
7ee367e4 132932007-06-11 Robert Millan <rmh@aybabtu.com>
13294
13295 * util/i386/pc/grub-mkrescue.in: New file.
13296 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
13297 * Makefile.in: Handle bin_SCRIPTS.
13298
29b0ed46 132992007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
13300
13301 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
13302 list of video modes.
13303
c0f90770 133042007-06-06 Robert Millan <rmh@aybabtu.com>
13305
13306 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
13307 file doesn't exist, or if it is in a filesystem grub can't read.
13308
13309 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
13310 not abort if GRUB_DRIVE could not be defined. Rearrange generated
13311 header comment to fit in 80 columns when the variables are resolved.
13312
13313 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
13314 could be identified by update-grub. Remove redundant check for
fe6b695a 13315 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 13316 handles that).
13317
fb36dc26 133182007-06-04 Robert Millan <rmh@aybabtu.com>
13319
13320 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
13321
13322 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
13323
13324 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
13325
0c68c93e 133262007-06-04 Robert Millan <rmh@aybabtu.com>
13327
13328 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
13329
13330 * include/grub/partition.h: Declare grub_apple_partition_map_init and
13331 grub_apple_partition_map_fini.
13332
13333 * util/biosdisk.c
13334 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
13335 to access >2 TiB disks).
13336
13337 Print disk->total_sectors with %llu instead of %lu, since this
13338 variable is always 64-bit (prevents wrong disk size from being displayed
13339 on either >2 TiB disk or big-endian CPU).
13340
13341 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
13342 into a generic case that supports all (sane) partition maps.
13343
13344 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
13345 breaks big-endian.
13346
13347 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
13348 and grub_apple_partition_map_fini() after that.
13349
0f23eb74 133502007-06-01 Robert Millan <rmh@aybabtu.com>
13351
13352 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
13353
13354 * util/grub.d/00_header.in: Only enable gfxterm when
13355 convert_system_path_to_grub_path() succeeds.
13356
42c71976 133572007-05-20 Robert Millan <rmh@aybabtu.com>
13358
13359 * util/update-grub_lib.in: New file.
13360 * DISTLIST: Add update-grub_lib.in.
13361 * conf/common.rmk: Generate update-grub_lib and install it in
13362 $(lib_DATA).
13363 * Makefile.in: Add install routine for $(lib_DATA).
13364
13365 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
13366 function provided by update-grub_lib to support arbitrary paths of
13367 unifont.pff.
13368 * util/update-grub.in: Use convert_system_path_to_grub_path() to
13369 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
13370
5beb2291 133712007-05-19 Robert Millan <rmh@aybabtu.com>
13372
13373 * commands/i386/cpuid.c: New module.
13374 * DISTLIST: Add it.
13375 * conf/i386-efi.rmk: Enable cpuid.mod.
13376 * conf/i386-pc.rmk: Likewise.
13377
7262eca1 133782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13379
13380 * kern/disk.c (grub_disk_read): Check return value of
13381 grub_realloc().
13382
260ba823 133832007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13384
13385 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
13386 arrays.
13387 * disk/raid.c (grub_raid_open): Likewise.
13388
1ecb6cf2 133892007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13390
13391 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
13392 stack instead of on the heap.
13393
13394 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
13395 before doing a read on it.
13396
13397 * configure.ac: Only use -fno-stack-protector for the target
13398 environment.
f19dbdb7 13399
21c8cbb1 134002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13401
13402 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
13403 __attribute_ ((unused)) to mode_type argument.
13404
13405 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 13406
21c8cbb1 13407 * kern/misc.c (memcmp): Fix prototype.
13408
13409 * include/grub/partition.h [GRUB_UTIL]
13410 (grub_gpt_partition_map_init): Add prototype.
13411 (grub_gpt_partition_map_fini): Likewise.
13412
13413 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
13414 at the right place.
13415
13416 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
13417 (grub_fat_read_data): Likewise.
13418 (grub_fat_find_dir): Likewise.
13419
13420 * font/manager.c (find_glyph): Make table a const.
13421 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 13422
849d55d3 134232007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
13424
13425 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
13426 code, first search for device in /dev/mapper, then in /dev.
13427 (grub_util_get_grub_dev): New function.
13428 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
13429 prototype.
13430 * util/grub-probe.c (probe): Remove check for RAID, call
13431 grub_util_get_grub_dev() instead of
13432 grub_util_biosdisk_get_grub_dev().
13433 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
13434 grub_util_biosdisk_get_grub_dev().
13435 * util/i386/pc/grub-setup.c (main): Likewise.
13436
8fff7c2f 134372007-05-16 Robert Millan <rmh@aybabtu.com>
13438
13439 * DISTLIST: Update for the latest changes.
13440 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
13441 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
13442 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
13443 grub/util/biosdisk.h.
13444 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
13445 grub/util/biosdisk.h.
13446
48e12b52 134472007-05-16 Robert Millan <rmh@aybabtu.com>
13448
13449 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
13450
46b9d128 134512007-05-16 Robert Millan <rmh@aybabtu.com>
13452
13453 * util/i386/efi/grub-install.in: New.
13454 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
13455 newly added grub-install.
13456 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
13457 include.
13458 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
13459 grub/util/biosdisk.h.
13460 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
13461 grub/util/biosdisk.h.
13462
2d1a40a9 134632007-05-16 Robert Millan <rmh@aybabtu.com>
13464
13465 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
13466 * include/grub/util/biosdisk.h: ... here.
13467 * util/i386/pc/biosdisk.c: Moved to ...
13468 * util/biosdisk.c: ... here.
13469 * util/i386/pc/getroot.c: Moved to ...
13470 * util/getroot.c: ... here.
13471 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
13472 * util/grub-mkdevicemap.c: ... here.
13473 * util/i386/pc/grub-probe.c: Moved to ...
13474 * util/grub-probe.c: ... here.
13475
9e26e3bc 134762007-05-15 Robert Millan <rmh@aybabtu.com>
13477
13478 * util/update-grub.in: Remove duplicated line in grub.cfg header
13479 message.
13480
57f96397 134812007-05-13 Robert Millan <rmh@aybabtu.com>
13482
13483 * util/update-grub.in: Fix a few assumptions about the devices holding
13484 /, /boot and /boot/grub being the same.
13485 * util/grub.d/00_header.in: Likewise.
13486 * util/grub.d/10_hurd.in: Likewise.
13487 * util/grub.d/10_linux.in: Likewise.
13488
13489 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
13490 patterns. Use that to define the `.old' suffix as older than `'.
13491
13492 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
13493
13494 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
13495 the grub.cfg header message.
13496
2e610d62 134972007-05-11 Robert Millan <rmh@aybabtu.com>
13498
13499 * util/update-grub.in: Create device.map if it doesn't already exist,
13500 before attempting to run grub-probe.
13501 Check for grub-probe and grub-mkdevicemap with the same code
13502 grub-install is using.
13503 Remove test mode.
13504
3f6a10ef 135052007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
13506
13507 * Makefile.in: Add the datarootdir autoconf variable.
13508
02e7b75e 135092007-05-09 Robert Millan <rmh@aybabtu.com>
13510
13511 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 13512 fail gracefully if dev->disk->partition == NULL.
02e7b75e 13513
75f396cc 135142007-05-07 Robert Millan <rmh@aybabtu.com>
13515
13516 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
13517 determine partition map module.
13518 * util/i386/pc/grub-install.in: Use this feature to decide which
13519 partition module to load, instead of hardcoding pc and gpt.
13520
da65cb36 135212007-05-07 Robert Millan <rmh@aybabtu.com>
13522
13523 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
13524 source directory differs from build directory.
13525
b57d6a91 135262007-05-05 Robert Millan <rmh@aybabtu.com>
13527
13528 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
13529 initialisation.
13530
509d00f1 135312007-05-05 Robert Millan <rmh@aybabtu.com>
13532
13533 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
13534
c48f23ef 135352007-05-05 Robert Millan <rmh@aybabtu.com>
13536
13537 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
13538 command-line arguments via ${GRUB_CMDLINE_LINUX}.
13539
20b97658 135402007-05-05 Robert Millan <rmh@aybabtu.com>
13541
13542 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
13543 (grub_probe_SOURCES): Likewise.
13544 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
13545 GPT and initialize dos_part and bsd_part accordingly.
13546 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
13547 install_bsd_part.
13548 (main): Activate gpt module for use during partition identification,
13549 and deactivate it afterwards.
13550 * util/i386/pc/grub-install.in: Add gpt module to core.img.
13551 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
13552 partition identification, and deactivate it afterwards.
13553
99123174 135542007-05-05 Robert Millan <rmh@aybabtu.com>
13555
13556 * term/i386/pc/console.c (grub_console_fini): Call
13557 grub_term_set_current() before grub_term_unregister().
13558
ebd97f6e 135592007-05-04 Robert Millan <rmh@aybabtu.com>
13560
13561 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
13562 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
13563 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
13564 and update-grub_DATA.
13565 * conf/common.rmk: Build and install update-grub components.
13566 * conf/common.mk: Regenerate.
13567 * util/update-grub.in: New. Core of update-grub.
13568 * util/grub.d/00_header.in: New. Generates grub.cfg header.
13569 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
13570 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
13571 * util/grub.d/README: New. Document grub.d directory layout.
13572
b06a264d 135732007-05-01 Robert Millan <rmh@aybabtu.com>
13574
13575 * util/grub-emu.c: Move initialization functions
13576 grub_util_biosdisk_init() and grub_init_all() before
13577 grub_util_biosdisk_get_grub_dev(), which relies on them.
13578
41f0050e 135792007-04-19 Robert Millan <rmh@aybabtu.com>
13580
13581 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
13582 it is used later.
13583
04582bb3 135842007-04-18 Jerone Young <jerone@gmail.com>
13585
f19dbdb7 13586 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 13587 stanza.
13588
08db4632 135892007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 13590
08db4632 13591 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
13592 continue on and look for device node with real device name.
13593
801b76be 135942007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 13595
fe6b695a 13596 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 13597 ability.
13598 * Makefile.in: Add autoconf package transformation code.
13599 * util/i386/pc/grub-install.in: Likewise.
13600 * util/powerpc/ieee1275/grub-install.in: Likewise.
13601
6795c4e1 136022007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
13603
13604 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
13605 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
13606 (EXT2_REVISION): Likewise.
13607 (EXT2_INODE_SIZE): Likewise.
13608 (struct grub_ext2_block_group): Added a missing member
13609 "used_dirs".
13610 (grub_ext2_read_inode): Divide by the inode size in a superblock
13611 instead of 128 to obtain INODES_PER_BLOCK.
13612 Use the macro EXT2_INODE_SIZE instead of directly using
13613 SBLOCK->INODE_SIZE.
13614
d70af616 136152007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
13616
13617 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
13618 superblock instead of the structure size to compute an
13619 offset. This fixes the problem that GRUB could not read a
13620 filesystem when inode size is different from 128-byte.
13621
3b801603 136222007-03-05 Marco Gerards <marco@gnu.org>
13623
13624 * normal/main.c (read_config_file): When "menu" is not set, create
13625 an initial context.
13626
4785bfe4 136272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13628
13629 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
13630 (HEAP_LIMIT): New macro.
13631 (grub_claim_heap): Claim memory up to `heaplimit'.
13632
a0cbb023 136332007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13634
13635 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
13636 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
13637 (_start): Likewise.
13638 (grub_arch_modules_addr): Return address after `_end'.
13639 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
13640 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
13641 (add_segments): Calculate `_end' from phdr size and location.
13642 (ALIGN_UP): Moved to ...
13643 * include/grub/misc.h: here.
13644 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13645 New macro.
13646 (GRUB_IEEE1275_MODULE_BASE): Removed.
13647
fd7d8eba 136482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13649
13650 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
13651 loop boundary.
13652
9b09e6fc 136532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13654
13655 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
13656 All users updated.
13657 (grub_elf64_load_hook_t): Likewise.
13658 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
13659 debug output.
13660
3ce27299 136612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13662
13663 * kern/mm.c: Update copyright.
13664 (grub_mm_debug): Correct syntax error.
13665 (grub_mm_dump_free): New function.
13666 (grub_debug_free): Call `grub_free'.
13667 * include/grub/mm.h: Update copyright.
13668 (grub_mm_dump_free): Add declaration.
13669
077d5fee 136702007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13671
13672 * include/grub/ieee1275/ieee1275.h: Update copyright.
13673 * kern/powerpc/ieee1275/init.c: Likewise.
13674 * kern/powerpc/ieee1275/openfw.c: Likewise.
13675
13676 * loader/powerpc/ieee1275/linux.c: Likewise.
13677 * include/grub/elfload.h: Likewise.
13678 * kern/elf.c: Likewise.
13679 (grub_elf32_load): Pass `base' and `size' parameters. Update all
13680 callers.
13681 (grub_elf64_load): Likewise.
13682 (grub_elf32_load_segment): Move to a nested function.
13683 (grub_elf64_load_segment): Likewise.
13684
dc946850 136852007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13686
13687 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
13688 prototype.
13689 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
13690 (grub_heap_len): Likewise.
13691 (HEAP_SIZE): New macro.
13692 (grub_claim_heap): New function.
13693 (grub_machine_init): Don't claim heap directly. Call
13694 `grub_claim_heap'.
13695 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
13696 (grub_available_iterate): New function.
13697
baa2a121 136982007-02-03 Thomas Schwinge <tschwinge@gnu.org>
13699
13700 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
13701 * configure.ac: Use it for testing the HOST and TARGET compilers.
13702
4fe9862e 137032006-12-13 Thomas Schwinge <tschwinge@gnu.org>
13704
13705 * Makefile.in (enable_grub_emu): New variable.
13706 * configure.ac (--enable-grub-emu): New option.
13707 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
13708 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
13709 * conf/i386-pc.rmk: Likewise.
13710 * conf/powerpc-ieee1275.rmk: Likewise.
13711 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
13712
a8aa5762 137132006-12-12 Marco Gerards <marco@gnu.org>
13714
13715 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
13716
13717 * kern/env.c (grub_env_unset): Don't free the member `value' when
13718 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
13719 pointer.
13720
13721 * normal/main.c (current_menu): Removed.
13722 (free_menu): Unset the `menu' environment variable.
13723 (grub_normal_menu_addentry): Make use of the environment variable
13724 `menu', instead of using the global `current_menu'. Allocate
13725 memory for the sourcecode of this entry.
13726 (read_config_file): New argument `nested', changed all callers.
13727 Only in the case of a new context, initialize a new menu. Set the
13728 `menu' environment variable.
13729 (grub_normal_execute): Don't set and unset the environment
13730 variable `menu' here anymore. Only free the menu when leaving the
13731 context.
13732
13733 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
13734 leak.
13735
957b3a3e 137362006-12-11 Marco Gerards <marco@gnu.org>
13737
13738 * normal/menu_entry.c (run): Fix off by one bug so the last line
13739 is executed. Move the loader check to outside the loop.
13740
ef875714 137412006-12-08 Hollis Blanchard <hollis@penguinppc.org>
13742
13743 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
13744
4e739985 137452006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
13746
13747 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
13748 the number of sectors. Reported by Andrey Shuvikov
13749 <mr_hyro@yahoo.com>.
f19dbdb7 13750
790707f2 137512006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
13752
13753 * kern/disk.c (grub_disk_read): When there is a read error, always
13754 try to read only the necessary data.
f19dbdb7 13755
790707f2 13756 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
13757 disk/raid.c.
13758 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
13759 prototype.
13760 [GRUB_UTIL] (grub_raid_fini): Likewise.
13761 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 13762 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 13763 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
13764 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
13765 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
13766 and grub_raid_fini().
f19dbdb7 13767
03e58196 137682006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
13769
13770 * include/grub/types.h (__unused): Rename to UNUSED.
13771 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
13772 (grub_elf64_size): Likewise.
f19dbdb7 13773
ae4f23bf 137742006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13775
13776 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
13777 grub_error_push and grub_error_pop in the error-handling path.
13778 (grub_elf32_load_segment): Only call grub_file_read with non-zero
13779 length.
13780
2166cc83 137812006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13782
13783 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
13784 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13786 (kernel_elf_SOURCES): Likewise.
13787 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
13788 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
13789 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13790 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13791 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
13792 (elf_mod_SOURCES): New variable.
13793 (elf_mod_CFLAGS): Likewise.
13794 (elf_mod_LDFLAGS): Likewise.
13795 * include/grub/types.h (__unused): New macro.
13796 * include/grub/elfload.h: New file.
13797 * kern/elf.c: Likewise.
13798 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
13799 (ELF32_LOADMASK): New macro.
13800 (ELF64_LOADMASK): Likewise.
13801 (vmlinux): Removed.
13802 (grub_linux_load32): New function.
13803 (grub_linux_load64): Likewise.
13804 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
13805 Use grub_elf_t instead of grub_file_t.
13806
a09d5aa5 138072006-11-02 Hollis Blanchard <hollis@penguinppc.org>
13808
13809 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
13810 `catch_result' to struct set_color_args.
13811
d976fc51 138122006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
13813
13814 * normal/menu.c: Include grub/script.h.
13815 * normal/menu_entry.c: Likewise.
13816 * include/grub/normal.h: Do not include grub/script.h.
13817
67507549 138182006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13819
13820 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
13821
69203a99 138222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13823
13824 * kern/disk.c (grub_disk_open): Print debug messages when opening a
13825 disk.
13826 (grub_disk_close): Print debug messages when closing a disk.
13827 (grub_disk_read): Print debug messages when disk read fails.
13828 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
13829 filesystem type.
13830 * kern/partition.c: Include misc.h.
13831 (grub_partition_iterate): Print debug messages when detecting
13832 partition type.
13833
e2b8278c 138342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13835
13836 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
13837 is negative.
13838 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
13839
97b2f2ff 138402006-10-26 Hollis Blanchard <hollis@penguinppc.org>
13841
13842 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13843 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
13844
6555d655 138452006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
13846
13847 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
13848 instead of sizeof(lv). Patch by Michael Guntsche.
13849
4d42b77f 138502006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
13851
13852 * disk/lvm.c: Rename VGS to VG_LIST.
13853 (grub_lvm_iterate): Change VGS->LV to VG-LV.
13854 (grub_lvm_open): Likewise.
13855 Thanks to Michael Guntsche for finding this bug.
13856
5d74d927 138572006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
13858
13859 * configure.ac (AC_INIT): Bumped to 1.95.
13860
a1bb27e4 138612006-10-14 Robert Millan <rmh@aybabtu.com>
13862
13863 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
13864 with "/dev/.static/dev/md".
13865
e0994b8b 138662006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13867
13868 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
13869 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
13870 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
13871 DRIVE_NAME are always freed.
13872
13873 * util/i386/pc/biosdisk.c (make_device_name): Add one into
13874 DOS_PART, as a DOS partition is counted from one instead of zero
13875 now. Reported by Robert Millan.
13876
ddd5cee9 138772006-10-14 Robert Millan <rmh@aybabtu.com>
13878
13879 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
13880 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
13881 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
13882 string returned by grub_guess_root_device.
13883 * util/i386/pc/grub-setup.c: Likewise.
13884 * util/i386/pc/grub-probefs.c: Likewise.
13885
13886 * util/i386/pc/grub-probefs.c: Rename to ...
13887 * util/i386/pc/grub-probe.c: ... this.
13888 * DISTLIST: Remove grub-probefs, add grub-probe.
13889 * conf/i386-efi.rmk: Likewise.
13890 * conf/i386-pc.rmk: Likewise.
13891 * util/i386/pc/grub-install.in: Likewise.
13892
13893 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
13894 choose which information we want to print.
13895
2b002173 138962006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13897
13898 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
13899 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
13900 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
13901 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
13902 video/readers/tga.c and video/i386/pc/vbeutil.c.
13903
139042006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
13905
13906 Added support for RAID and LVM.
f19dbdb7 13907
2b002173 13908 * disk/lvm.c: New file.
13909 * disk/raid.c: Likewise.
13910 * include/grub/lvm.h: Likewise.
f19dbdb7 13911 * include/grub/raid.h: Likewise.
2b002173 13912 * include/grub/util/lvm.h: Likewise.
13913 * include/grub/util/raid.h: Likewise.
13914 * util/lvm.c: Likewise.
13915 * util/raid.c: Likewise.
13916
13917 * include/grub/disk.h (grub_disk_dev_id): Add
13918 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
13919 (grub_disk_get_size): New prototype.
13920 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
13921 returns a partition.
13922 (grub_disk_get_size): New function.
f19dbdb7 13923
2b002173 13924 * kern/i386/pc/init.c (make_install_device): Copy the prefix
13925 verbatim if grub_install_dos_part is -2.
13926
13927 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
13928 and LVM devices.
13929
13930 * util/i386/pc/grub-setup.c (setup): New argument
13931 MUST_EMBED. Force embedding of GRUB when the argument is
13932 true. Close FILE before returning.
13933 (main): Add support for RAID and LVM.
f19dbdb7 13934
2b002173 13935 * conf/common.rmk: Add RAID and LVM modules.
13936 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
13937 util/lvm.c.
13938 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
13939
13940 * kern/misc.c (grub_strstr): New function.
13941 * include/grub/misc.h (grub_strstr): New prototype.
13942
050548d0 139432006-10-10 Tristan Gingold <tristan.gingold@bull.net>
13944
13945 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
13946
da849d2d 139472006-10-05 Tristan Gingold <tristan.gingold@bull.net>
13948
13949 * kern/misc.c (grub_strtoull): Guess the base only if not
13950 specified.
13951
97b2f2ff 139522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 13953
13954 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
13955 PowerMac support.
13956
97b2f2ff 139572006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 13958
13959 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
13960
13961 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
13962 Remove `flags' argument. All callers changed.
13963 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
13964 (IEEE1275_IHANDLE_INVALID): New variable.
13965 (IEEE1275_CELL_INVALID): New variable.
13966 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
13967 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
13968 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
13969 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
13970 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
13971 codes from Open Firmware. All callers updated.
13972 (grub_ieee1275_next_property): Directly return Open Firmware return
13973 code.
13974 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
13975 Standardize error checking from `grub_ieee1275_get_property'.
13976 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
13977 `devalias' to `aliases'. Correct comments. Consolidate error paths.
13978
97b2f2ff 139792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 13980
13981 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
13982 `instance_to_package_args' to `instance_to_path_args'.
13983
13984 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
13985 `grub_ieee1275_chosen'.
13986
13987 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
13988 `grub_ieee1275_interpret'.
13989
97b2f2ff 139902006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 13991
13992 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
13993
97b2f2ff 139942006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 13995
13996 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
13997 (__cmpdi): Likewise.
13998
13999 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
14000 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
14001 `grub_ssize_t'.
14002
02bb8acc 14003 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 14004
14005 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14006 to type `grub_ssize_t'.
14007 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14008
7f9a8531 140092006-09-22 Marco Gerards <marco@gnu.org>
14010
14011 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14012 newlines.
14013
b5ef1102 140142006-09-22 Marco Gerards <marco@gnu.org>
14015
14016 * commands/echo.c: New file.
14017
14018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14019
14020 * conf/common.rmk (echo_mod_SOURCES): New variable.
14021 (echo_mod_CFLAGS): Likewise.
14022 (echo_mod_LDFLAGS): Likewise.
14023
2cff3677 140242006-09-22 Marco Gerards <marco@gnu.org>
14025
14026 * normal/main.c (get_line): Malloc memory instead of using
14027 preallocated memory. Removed the arguments `cmdline' and
14028 `max_len'. Updated all callers.
14029
6ba4688b 140302006-09-22 Marco Gerards <marco@gnu.org>
14031
14032 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14033 (normal_mod_DEPENDENCIES): Likewise.
14034
14035 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14036 (normal_mod_DEPENDENCIES): Likewise.
14037
14038 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14039
e02ac02c 140402006-09-22 Johan Rydberg <jrydberg@gnu.org>
14041
14042 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14043 programs.
14044 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14045 (normal_mod_DEPENDENCIES): Likewise.
14046 * conf/i386-pc.mk: Regenerate.
14047 * conf/i386-efi.mk: Likewise
14048 * conf/common.mk: Likewise.
14049 * conf/powerpc-ieee1275.mk: Likewise.
14050 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14051
8d252e44 140522006-09-22 Robert Millan <rmh@aybabtu.com>
14053
14054 Sync with i386 version.
14055 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14056 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14057
209bf7ac 140582006-09-21 Robert Millan <rmh@aybabtu.com>
14059
14060 Import from GRUB Legacy (lib/device.c):
14061 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14062 (init_device_map) [__linux__]: Add support for I2O devices.
14063
6b146090 140642006-09-14 Marco Gerards <marco@gnu.org>
14065
14066 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14067 `-melf_i386'.
14068
e38600a8 140692006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 14070
14071 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14072 /boot/grub/*.lst.
78fa1790 14073
2952da5d 14074 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 14075
2952da5d 14076 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
14077 before adding it to device.map.
14078
01b82a64 140792006-08-15 Johan Rydberg <jrydberg@gnu.org>
14080
fe6b695a 14081 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 14082 compiles a file; using the -MD option.
14083 * conf/common.mk: Regenerate.
14084 * conf/i386-pc.mk: Likewise.
14085 * conf/i386-efi.mk: Likewise.
14086 * conf/powerpc-ieee1275.mk: Likewise.
14087 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14088
1064790d 140892006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
14090
14091 Move the prototypes of grub_setjmp and grub_longjmp to
14092 cpu/setjmp.h, so that each architecture may specify different
14093 attributes.
f19dbdb7 14094
1064790d 14095 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
14096 (grub_longjmp): Likewise.
14097 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
14098 (grub_longjmp): Likewise.
14099 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
14100 (grub_longjmp): Likewise.
14101
14102 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
14103 [!GRUB_UTIL] (grub_longjmp): Removed.
14104
29dda3ed 141052006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
14106
14107 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
14108 "color!" method does not return any value.
14109
ad2a06ed 141102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14111
14112 * include/grub/bitmap.h: New file.
14113
14114 * include/grub/i386/pc/vbeutil.h: Likewise.
14115
14116 * video/bitmap.c: Likewise.
14117
14118 * video/readers/tga.c: Likewise.
14119
14120 * video/i386/pc/vbeutil.c: Likewise.
14121
14122 * commands/videotest.c: Code cleanup and updated to reflect to new
14123 video API.
14124
14125 * term/gfxterm.c: Likewise.
14126
14127 * video/video.c: Likewise.
14128
14129 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
14130 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
14131 (bitmap_mod_SOURCES): New entry.
14132 (bitmap_mod_CFLAGS): Likewise.
14133 (bitmap_mod_LDFLAGS): Likewise.
14134 (tga_mod_SOURCES): Likewise.
14135 (tga_mod_CFLAGS): Likewise.
14136 (tga_mod_LDFLAGS): Likewise.
14137
14138 * include/grub/video.h (grub_video_blit_operators): New enum type.
14139 (grub_video_render_target): Changed as forward declaration and moved
14140 actual definition to be video driver specific.
14141 (grub_video_adapter.blit_bitmap): Added blitting operator.
14142 (grub_video_adapter.blit_render_target): Likewise.
14143 (grub_video_blit_bitmap): Likewise.
14144 (grub_video_blit_render_target): Likewise.
14145
14146 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
14147 driver specific render target definition.
14148 (grub_video_vbe_map_rgba): Added driver internal helper.
14149 (grub_video_vbe_unmap_color): Updated to use
14150 grub_video_i386_vbeblit_info.
14151 (grub_video_vbe_get_video_ptr): Likewise.
14152
14153 * include/grub/i386/pc/vbeblit.h
14154 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
14155 grub_video_i386_vbeblit_info.
14156 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14157 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14158 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14159 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14160 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14161 (grub_video_i386_vbeblit_index_index): Likewise.
14162 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
14163 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14164 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14165 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
14166 operator.
14167 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
14168 operator.
14169
14170 * video/i386/pc/vbeblit.c: Updated to reflect changes on
14171 include/grub/i386/pc/vbeblit.h.
14172
14173 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
14174 Updated to use grub_video_i386_vbeblit_info.
14175 (grub_video_i386_vbefill_R8G8B8): Likewise.
14176 (grub_video_i386_vbefill_index): Likewise.
14177 (grub_video_i386_vbefill): Added generic filler.
14178
14179 * video/i386/pc/vbefill.c: Updated to reflect changes on
14180 include/grub/i386/pc/vbefill.h.
14181
14182 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
14183 grub_video_i386_vbeblit_info.
14184 (grub_video_vbe_unmap_color): Likewise.
14185 (grub_video_vbe_blit_glyph): Likewise.
14186 (grub_video_vbe_scroll): Likewise.
14187 (grub_video_vbe_draw_pixel): Removed function.
14188 (grub_video_vbe_get_pixel): Likewise.
14189 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
14190 updated code to use it.
14191 (common_blitter): Added common blitter for render target and bitmap.
14192 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
14193 (grub_video_vbe_blit_render_target): Likewise.
14194
bc8c036d 141952006-07-30 Johan Rydberg <jrydberg@gnu.org>
14196
14197 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
14198 is in text mode if there is no console control protocol instance
14199 available.
14200
684a8eff 142012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14202
14203 * include/grub/video.h: Code cleanup.
14204
14205 * include/grub/i386/pc/vbe.h: Likewise.
14206
14207 * video/i386/pc/vbe.c: Likewise.
14208
14209 * video/i386/pc/vbeblit.c: Likewise.
14210
14211 * video/i386/pc/vbefill.c: Likewise.
14212
14213 * video/video.c: Likewise. Also added more comments.
14214
5915059b 142152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14216
14217 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
14218 (struct grub_biosdisk_dap): Likewise.
14219
14220 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
14221 linkage settings for all functions.
14222
90ce5d56 142232006-07-12 Marco Gerards <marco@gnu.org>
14224
14225 * configure.ac (--enable-mm-debug): Fix typo.
14226
14227 * genkernsyms.sh.in: Use proper quoting for `CC'.
14228
43e7f879 142292006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
14230
14231 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
14232 (normal_mod_ASFLAGS): Remove "-m32".
14233
4889bdec 142342006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
14235
14236 * util/misc.c: Include config.h.
14237 [!HAVE_MEMALIGN]: Do not include malloc.h.
14238 (grub_memalign): Use posix_memalign, if present. Then, use
14239 memalign, if present. Otherwise, emit an error.
14240
14241 * util/grub-emu.c: Do not include malloc.h.
14242
14243 * include/grub/util/misc.h: Include unistd.h. This is required for
14244 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
14245 D. Eades III <hde@foobar-qux.org>.
14246
14247 * configure.ac (AC_GNU_SOURCE): Added.
14248 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
14249 type.
14250
fd39d4da 142512006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
14252
14253 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
14254 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
14255
b786f3b5 142562006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
14257
14258 * include/grub/types.h (grub_host_addr_t): Rename to
14259 grub_target_addr_t.
14260 (grub_host_off_t): Rename to grub_target_off_t.
14261 (grub_host_size_t): Rename to grub_target_size_t.
14262 (grub_host_ssize_t): Rename to grub_target_ssize_t.
14263 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
14264
14265 * include/grub/kernel.h (struct grub_module_header): Change type
14266 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
14267 (grub_module_info): Likewise.
f19dbdb7 14268
051988bb 142692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14270
14271 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
14272 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
14273 Velazquez <jesus.velazquez@gmail.com>.
14274
deae281b 142752006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14276
14277 Count partitions from 1 instead of 0 in the string representation
14278 of partitions. Still use 0-based internally.
f19dbdb7 14279
deae281b 14280 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
14281 (sun_partition_map_iterate): Use grub_partition_t instead of
14282 struct grub_partition *. Cast DESC->START_CYLINDER to
14283 grub_uint64_t after converting the endian.
14284 (sun_partition_map_probe): Subtract 1 for PARTNUM.
14285 (sun_partition_map_get_name): Add 1 to P->INDEX.
14286
14287 * partmap/pc.c (grub_partition_parse): Subtract 1 for
14288 PCDATA->DOS_PART.
14289 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
14290
14291 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
14292 zero instead of one.
14293 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
14294 (gpt_partition_map_get_name): Add 1 into P->INDEX.
14295
14296 * partmap/apple.c (apple_partition_map_iterate): Change the type
14297 of POS to unsigned.
14298 (apple_partition_map_probe): Subtract 1 for PARTNUM.
14299 (apple_partition_map_get_name): Add 1 into P->INDEX.
14300
14301 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
14302 of POS to unsigned.
14303 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
14304 calculate the offset of a partition.
14305 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
14306 (amiga_partition_map_get_name): Add 1 into P->INDEX.
14307
14308 * partmap/acorn.c (acorn_partition_map_find): Change the type of
14309 SECTOR to grub_disk_addr_t.
14310 (acorn_partition_map_iterate): Likewise.
14311 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
14312 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
14313 top.
14314 (acorn_partition_map_get_name): Add 1 into P->INDEX.
14315
14316 * kern/i386/pc/init.c (make_install_device): Add 1 into
14317 GRUB_INSTALL_DOS_PART.
14318
14319 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
14320 conditional.
14321
524a1e6a 143222006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14323
14324 Clean up the code to support 64-bit addressing in disks and
14325 files. This change is not enough for filesystems yet.
f19dbdb7 14326
524a1e6a 14327 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
14328 type of "start" to grub_uint64_t.
14329 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
14330 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
14331 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
14332 convert addresses.
14333
14334 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
14335 to grub_disk_addr_t.
14336
14337 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
14338 string.
14339
14340 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14341
14342 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
14343 to char *.
14344
14345 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
14346
14347 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
14348
14349 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
14350
14351 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
14352 to grub_off_t, to detect an error from grub_file_seek.
14353 (grub_multiboot_load_elf32): Likewise.
14354
14355 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
14356 maximum unsigned long value when an overflow is detected.
14357 (grub_strtoull): New function.
14358 (grub_divmod64): Likewise.
14359 (grub_lltoa): use grub_divmod64.
14360
14361 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
14362 grub_disk_addr_t.
14363 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
14364 the pointer to next character. Use grub_strtoull instead of
14365 grub_strtoul.
14366 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
14367 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
14368 respectively.
14369
fe6b695a 14370 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 14371 return value is signed.
14372 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
14373 test if OFFSET is less than zero, as OFFSET is unsigned now.
14374
14375 * kern/disk.c (struct grub_disk_cache): Change the type of
14376 "sector" to grub_disk_addr_t.
14377 (grub_disk_cache_get_index): Change the type of SECTOR to
14378 grub_disk_addr_t. Calculate the hash with SECTOR casted to
14379 unsigned after shifting.
14380 (grub_disk_cache_invalidate): Change the type of SECTOR to
14381 grub_disk_addr_t.
14382 (grub_disk_cache_unlock): Likewise.
14383 (grub_disk_cache_store): Likewise.
14384 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
14385 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
14386 grub_disk_addr_t and grub_uint64_t, respectively.
14387 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
14388 body, as the value of OFFSET is tweaked by
14389 grub_disk_check_range. Change the types of START_SECTOR, LEN and
14390 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
14391 respectively.
14392 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
14393 body, as the value of OFFSET is tweaked by
14394 grub_disk_check_range. Change the types of LEN and N to
14395 grub_size_t.
14396
14397 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
14398 and "saved_offset" to grub_off_t.
14399 (test_header): Cast BUF to char *.
14400 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
14401 to char *.
14402 (grub_gzio_read): Change the types of OFFSET and SIZE to
14403 grub_off_t and grub_size_t, respectively.
14404
14405 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
14406 Removed.
14407 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
14408 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
14409 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
14410 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
14411 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
14412
14413 * include/grub/types.h (grub_off_t): Unconditionally set to
14414 grub_uint64_t.
14415 (grub_disk_addr_t): Changed to grub_uint64_t.
14416
14417 * include/grub/partition.h (struct grub_partition): Change the
14418 types of "start", "len" and "offset" to grub_disk_addr_t,
14419 grub_uint64_t and grub_disk_addr_t, respectively.
14420 (grub_partition_get_start): Return grub_disk_addr_t.
14421 (grub_partition_get_len): Return grub_uint64_t.
14422
14423 * include/grub/misc.h (grub_strtoull): New prototype.
14424 (grub_divmod64): Likewise.
14425
14426 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
14427 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
14428 grub_off_t, respectively.
14429 All callers and references changed.
14430
14431 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
14432 grub_size_t in "read".
14433 All callers and references changed.
14434
14435 * include/grub/file.h (struct grub_file): Change the types of
14436 "offset" and "size" to grub_off_t and grub_off_t,
14437 respectively. Change the type of SECTOR to grub_disk_addr_t in
14438 "read_hook".
14439 (grub_file_read): Change the type of LEN to grub_size_t.
14440 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
14441 grub_off_t.
14442 (grub_file_size): Return grub_off_t.
14443 (grub_file_tell): Likewise.
14444 All callers and references changed.
14445
14446 * include/grub/disk.h (struct grub_disk_dev): Change the types of
14447 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
14448 "write".
14449 (struct grub_disk): Change the type of "total_sectors" to
14450 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 14451 "read_hook".
524a1e6a 14452 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
14453 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
14454 (grub_disk_write): Likewise.
14455 All callers and references changed.
14456
14457 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
14458 char * for grub_strncmp to silence gcc.
14459 (grub_iso9660_mount): Likewise.
14460 (grub_iso9660_mount): Likewise.
14461 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
14462 return statement.
14463 (grub_iso9660_iterate_dir): Likewise.
14464 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
14465
14466 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
14467 LEN to grub_disk_addr_t and grub_size_t, respectively.
14468
14469 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14470
14471 * fs/jfs.c (grub_jfs_read_file): Likewise.
14472
14473 * fs/minix.c (grub_jfs_read_file): Likewise.
14474
14475 * fs/sfs.c (grub_jfs_read_file): Likewise.
14476
14477 * fs/ufs.c (grub_jfs_read_file): Likewise.
14478
14479 * fs/xfs.c (grub_jfs_read_file): Likewise.
14480
14481 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
14482 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
14483 respectively.
14484
14485 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
14486 BLKNR to -1 instead of returning GRUB_ERRNO.
14487 (grub_ext2_read_file): Change the types of SECTOR and
14488 LEN to grub_disk_addr_t and grub_size_t, respectively.
14489
14490 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
14491 LEN to grub_disk_addr_t and grub_size_t, respectively.
14492
14493 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
14494 grub_file_read.
14495
14496 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
14497 string. Do not cast SECTOR explicitly.
14498
14499 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
14500 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
14501 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
14502 grub_disk_addr_t and grub_size_t, respectively. If the sector is
14503 over 2TB and LBA mode is not supported, raise an error.
14504 (get_safe_sectors): New function.
14505 (grub_biosdisk_read): Use get_safe_sectors.
14506 (grub_biosdisk_write): Likewise.
14507
14508 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
14509 (grub_efidisk_write): Likewise.
14510
14511 * disk/loopback.c (delete_loopback): Cosmetic changes.
14512 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
14513 correctly.
14514 (grub_loopback_open): Likewise.
14515 (grub_loopback_read): Likewise. Also, change the type of POS to
14516 grub_off_t, and fix the usage of grub_memset.
14517
14518 * commands/i386/pc/play.c: Include grub/machine/time.h.
14519
14520 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
14521 print FILE->SIZE.
14522
14523 * commands/configfile.c: Include grub/env.h.
14524
14525 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
14526 GRUB_ERRNO directly instead. Change the type of POS to
14527 grub_off_t. Follow the coding standard.
14528
14529 * commands/blocklist.c: Include grub/partition.h.
14530 (grub_cmd_blocklist): Return an error if the underlying device is
14531 not a disk. Take the starting sector of a partition into account,
14532 if a partition is used.
14533
14534 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
14535 a length field.
14536 (lba_mode): Support 64-bit addresses.
14537 (chs_mode): Likewise.
14538 (copy_buffer): Adapted to the new offsets of a length field and a
14539 segment field.
14540 (blocklist_default_start): Allocate 64-bit space.
14541
14542 * boot/i386/pc/boot.S (force_lba): Removed.
14543 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 14544 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 14545 space.
14546 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
14547 is useless.
14548 (lba_mode): Refactored to support a 64-bit address. More size
14549 optimization.
14550 (setup_sectors): Likewise.
14551
53af98ad 145522006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14553
14554 * DISTLIST: Added include/grub/i386/linux.h. Removed
14555 include/grub/i386/pc/linux.h
14556
14557 * configure.ac (AC_INIT): Bumped to 1.94.
14558
14559 * config.guess: Updated from gnulib.
14560 * config.sub: Likewise.
14561 * install-sh: Likewise.
14562 * mkinstalldirs: Likewise.
14563
b4c1940a 145642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14565
14566 * conf/common.rmk (grub_modules_init.lst): Depended on
14567 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
14568 MODSRCFILES.
14569
14570 * genmk.rb (PModule::rule): Reverted the previous change.
14571
cfca1cfd 145722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14573
14574 * conf/common.rmk (grub_modules_init.lst): Depends on
14575 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
14576 that the target does not exist before producing.
14577 (grub_modules_init.h): Remove the target before generating.
14578 (grub_emu_init.c): Likewise.
14579
14580 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
14581
aa6d7826 145822006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
14583
14584 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
14585 for the target-specific tests. Make sure that we also have the
14586 up-to-date target variables for those tests.
14587
26c607b9 145882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14589
14590 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
14591 (PModule::rule): Likewise.
14592
0162321a 145932006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14594
14595 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
14596 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
14597 target-specific flags should be prefixed.
14598 (PModule::rule): Likewise.
14599
6c826348 146002006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
14601
14602 * configure.ac (CMP): Check if cmp is available explicitly.
14603
b977bf01 146042006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
14605
14606 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
14607 (target_cpu): New variable.
14608 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 14609
b977bf01 14610 * util/i386/pc/grub-install.in (host_cpu): Removed.
14611 (target_cpu): New variable.
14612 (pkglibdir): Use target_cpu instead of host_cpu.
14613
14614 * util/genmoddep.c: Removed.
f19dbdb7 14615
b977bf01 14616 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
14617 instead of GRUB_HOST_SIZEOF_VOID_P.
14618 * kern/dl.c: Likewise.
14619
14620 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
14621 ...
14622 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14623 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14624 (GRUB_TARGET_SIZEOF_LONG): ... this.
14625 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14626 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14627 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14628 to ...
14629 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14630 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14631 (GRUB_TARGET_SIZEOF_LONG): ... this.
14632 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14633 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14634 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14635 to ...
14636 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14637 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14638 (GRUB_TARGET_SIZEOF_LONG): ... this.
14639 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14640 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14641
14642 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
14643 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
14644 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
14645 instead of GRUB_HOST_SIZEOF_LONG.
14646 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
14647 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
14648 GRUB_CPU_WORDS_BIGENDIAN.
14649 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
14650 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
14651 grub_host_ssize_t.
14652
14653 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
14654 (genmoddep_SOURCES): Likewise.
14655 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
14656 (genmoddep_SOURCES): Likewise.
14657 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
14658 (genmoddep_SOURCES): Likewise.
14659 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
14660 Likewise.
14661 (genmoddep_SOURCES): Likewise.
14662
14663 * genmoddep.awk: New file.
14664
14665 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
14666 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
14667 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
14668 (PModule::rule): Likewise.
14669 (Program::rule): Likewise.
14670 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
14671 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
14672 respectively.
14673
14674 * configure.ac: Rewritten intensively to use host and target
14675 instead of build and host, respectively.
14676
14677 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
14678 (host_cpu): Removed.
14679 (target_cpu): New variable.
14680 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
14681 (BUILD_CC): Removed.
14682 (BUILD_CFLAGS): Likewise.
14683 (BUILD_CPPFLAGS): Likewise.
14684 (TARGET_CC): New variable.
14685 (TARGET_CFLAGS): Likewise.
14686 (TARGET_CPPFLAGS): Likewise.
14687 (TARGET_LDFLAGS): Likewise.
14688 (AWK): Likewise.
14689 (include): Use target_cpu instead of host_cpu.
14690 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 14691
b977bf01 14692 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
14693
f09771a1 146942006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
14695
14696 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
14697 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
14698 field 'false' to 'exec_on_false'.
14699 (grub_script_create_cmdif): Renamed argument names to reflect above
14700 changes.
14701
14702 * normal/execute.c (grub_script_execute_cmdif): Likewise.
14703
14704 * normal/script.c (grub_script_create_cmdif): Likewise.
14705
118f4fb3 147062006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
14707
14708 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
14709 top.
14710 (grub_hfsplus_btree_recptr): Likewise.
14711 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
14712 FILEBLOCK both to pass a block number and store next block
14713 number.
14714 (grub_hfsplus_read_block): Rewritten heavily to support an extent
14715 overflow file correctly. Specify errors appropriately, because
14716 fshelp expects that GRUB_ERRNO is set when fails. Reuse
14717 grub_hfsplus_btree_recptr to get the pointer to a found key.
14718 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
14719 is found.
14720
14721 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
14722 linux.mod.
14723 (_linux_mod_SOURCES): New variable.
14724 (_linux_mod_CFLAGS): Likewise.
14725 (_linux_mod_LDFLAGS): Likewise.
14726 (linux_mod_SOURCES): Likewise.
14727 (linux_mod_CFLAGS): Likewise.
14728 (linux_mod_LDFLAGS): Likewise.
14729
14730 * DISTLIST: Added loader/i386/efi/linux.c,
14731 loader/i386/efi/linux_normal.c and
14732 include/grub/i386/efi/loader.h.
14733
14734 * loader/i386/efi/linux.c: New file.
14735 * loader/i386/efi/linux_normal.c: Likewise.
14736 * include/grub/i386/efi/loader.h: Likewise.
14737
89a7d726 147382006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
14739
14740 * commands/blocklist.c: New file.
14741
14742 * DISTLIST: Added commands/blocklist.c.
14743
14744 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 14745 color for the background, and a darker color for the foreground.
89a7d726 14746 (grub_console_checkkey): Return READ_KEY.
14747 (grub_console_cls): Set the background to
14748 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
14749
14750 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
14751
14752 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
14753 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
14754
14755 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
14756 prototype.
14757
14758 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
14759 BG. The spec is wrong again.
14760
14761 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
14762 prototype.
14763 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
14764
14765 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
14766 commands/blocklist.c.
14767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 14768
89a7d726 14769 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
14770 (blocklist_mod_SOURCES): New variable.
14771 (blocklist_mod_CFLAGS): Likewise.
14772 (blocklist_mod_LDFLAGS): Likewise.
14773
75c8f258 147742006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
14775
14776 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
14777 duplication.
14778 (lba_mode): Use %eax more intensively to reduce the code size.
14779
da2eb181 147802006-05-20 Marco Gerards <marco@gnu.org>
14781
14782 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
14783
14784 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
14785 for `menuentry'.
14786 (script): Accept leading newlines.
14787 (newlines): New rule to describe 0 or more newlines.
14788 (commands): Accept `command' with trailing newline. Fixed the
14789 order in which arguments were passed to `grub_script_add_cmd'.
14790 Accept commands separated by newlines.
14791 (function): Changed to accept newlines.
14792 (menuentry) Rewritten.
14793
14794 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
14795 front of the list, instead of to the end.
14796
577b4050 147972006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
14798
14799 * util/i386/pc/grub-install.in (bindir): New variable.
14800 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
14801 Shaver <lbgwjl@gmail.com>.
14802
0d6e1189 148032006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
14804
14805 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
14806 grub/machine/linux.h
14807 * loader/i386/pc/linux.c: Likewise.
14808
14809 * include/grub/i386/pc/linux.h: Moved to ...
14810 * include/grub/i386/linux.h: ... here.
14811
14812 * include/grub/i386/linux.h (struct linux_kernel_params): New
14813 struct.
f19dbdb7 14814
31b86e9f 148152006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
14816
14817 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
14818 checking.
14819 (grub_video_vbe_blit_glyph): Likewise.
14820 (grub_video_vbe_blit_bitmap): Likewise.
14821 (grub_video_vbe_blit_render_target): Likewise.
14822
83b984de 148232006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
14824
14825 * configure.ac (--with-platform): Properly quote the square
14826 brackets.
14827
5f0413bd 148282006-05-08 Marco Gerards <marco@gnu.org>
14829
14830 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
14831 this...
14832 (kernel_elf_HEADERS): ...to this. Updated all users.
14833 (grubof_symlist.c): Renamed from this...
14834 (kernel_elf_symlist.c): ...to this. Updated all users.
14835 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14836 (grubof_SOURCES): Renamed from this...
14837 (kernel_elf_SOURCES): ...to this.
14838 (grubof_HEADERS): Renamed from this...
14839 (kernel_elf_HEADERS): ...to this.
14840 (grubof_CFLAGS): Renamed from this...
14841 (kernel_elf_CFLAGS): ...to this.
14842 (grubof_ASFLAGS): Renamed from this...
14843 (kernel_elf_ASFLAGS): ...to this.
14844 (grubof_LDFLAGS): Renamed from this...
14845 (kernel_elf_LDFLAGS): ...to this.
14846
14847 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
14848 this...
14849 (kernel_elf_HEADERS): ...to this. Updated all users.
14850 (grubof_symlist.c): Renamed from this...
14851 (kernel_elf_symlist.c): ...to this. Updated all users.
14852 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14853 (grubof_SOURCES): Renamed from this...
14854 (kernel_elf_SOURCES): ...to this.
14855 (grubof_HEADERS): Renamed from this...
14856 (kernel_elf_HEADERS): ...to this.
14857 (grubof_CFLAGS): Renamed from this...
14858 (kernel_elf_CFLAGS): ...to this.
14859 (grubof_ASFLAGS): Renamed from this...
14860 (kernel_elf_ASFLAGS): ...to this.
14861 (grubof_LDFLAGS): Renamed from this...
14862 (kernel_elf_LDFLAGS): ...to this.
14863
14864 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
14865 `kernel.elf' instead of `grubof'.
14866
05568c2e 148672006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
14868
14869 Add --with-platform to configure. Use pkglibdir instead of
14870 pkgdatadir. This is reported by Roger Leigh.
14871
14872 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
14873 (host_vendor): Likewise.
14874 (host_os): Likewise.
14875 (pkgdatadir): Likewise.
14876 (platform): New variable.
14877 (pkglibdir): Likewise.
14878 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 14879
05568c2e 14880 * util/i386/pc/grub-install.in (datadir): Removed.
14881 (host_vendor): Likewise.
14882 (host_os): Likewise.
14883 (pkgdatadir): Likewise.
14884 (platform): New variable.
14885 (pkglibdir): Likewise.
14886 Use PKGLIBDIR instead of PKGDATADIR.
14887
14888 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
14889 instead of GRUB_DATADIR.
14890 (main): Likewise.
14891 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14892 (main): Likewise.
14893 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14894 (main): Likewise.
14895
14896 * configure.ac (--with-platform): New option.
14897 Use PLATFORM instead of HOST_VENDOR to specify a platform.
14898
14899 * Makefile.in: Include a makefile based on PLATFORM instead of
14900 HOST_VENDOR.
14901 (pkgdatadir): Not appended by the machine type.
14902 (pkglibdir): Appended by the machine type.
14903 (host_vendor): Removed.
14904 (platform): New variable.
14905 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
14906 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
14907 (uninstall): Likewise.
14908
4e93851c 149092006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
14910
14911 Use the environment context in the menu. Remove the commands
14912 "default" and "timeout", and use variables instead.
f19dbdb7 14913
4e93851c 14914 * normal/menu.c: Include grub/env.h.
14915 (print_entry): Cast TITLE to silence gcc.
14916 (get_timeout): New function.
14917 (set_timeout): Likewise.
14918 (get_entry_number): Likewise.
14919 (run_menu): Use a default entry, a fallback entry and a timeout
14920 in the environment variables "default", "fallback" and
14921 "timeout". Also, tweak the default entry if it is not within the
14922 current menu entries.
14923 (grub_menu_run): Use a fallback entry in the environment variable
14924 "fallback".
14925
14926 * normal/main.c (read_config_file): Do not initialize
14927 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
14928 NEWMENU->TIMEOUT.
14929 (grub_normal_execute): Use a data slot to store the menu.
14930
14931 * include/grub/normal.h (struct grub_menu): Removed default_entry,
14932 fallback_entry and timeout.
14933 (struct grub_menu_list): Removed.
14934 (grub_menu_list_t): Likewise.
14935 (struct grub_context): Likewise.
14936 (grub_context_t): Likewise.
14937 (grub_context_get): Likewise.
14938 (grub_context_get_current_menu): Likewise.
14939 (grub_context_push_menu): Likewise.
14940 (grub_context_pop_menu): Likewise.
14941 (grub_default_init): Likewise.
14942 (grub_default_fini): Likewise.
14943 (grub_timeout_init): Likewise.
14944 (grub_timeout_fini): Likewise.
14945
14946 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
14947 and timeout.mod.
14948 (normal_mod_SOURCES): Removed normal/context.c.
14949
14950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
14951 commands/default.c, commands/timeout.c and normal/context.c.
14952 (normal_mod_SOURCES): Removed normal/context.c.
14953
14954 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
14955 commands/timeout.c and normal/context.c.
14956 (normal_mod_SOURCES): Removed normal/context.c.
14957
14958 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
14959 commands/default.c, commands/timeout.c and normal/context.c.
14960 (normal_mod_SOURCES): Removed normal/context.c.
14961
14962 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
14963 timeout.mod.
14964 (default_mod_SOURCES): Removed.
14965 (default_mod_CFLAGS): Likewise.
14966 (default_mod_LDFLAGS): Likewise.
14967 (timeout_mod_SOURCES): Removed.
14968 (timeout_mod_CFLAGS): Likewise.
14969 (timeout_mod_LDFLAGS): Likewise.
14970
14971 * DISTLIST: Removed commands/default.c, commands/timeout.c and
14972 normal/context.c.
14973
14974 * commands/default.c: Removed.
14975 * commands/timeout.c: Likewise.
14976 * normal/context.c: Likewise.
14977
1eb9cc1d 149782006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
14979
14980 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
14981
385bd9c1 149822006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
14983
14984 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
14985 "next" to "prev" for readability.
14986 (struct grub_env_sorted_var): New struct.
14987 (grub_env_context): Renamed to ...
14988 (initial_context): ... this.
14989 (grub_env_var_context): Renamed to ...
14990 (current_context): ... this.
14991 (grub_env_find): Look only at CURRENT_CONTEXT.
14992 (grub_env_context_open): Rewritten to copy exported variables from
14993 previous context.
14994 (grub_env_context_close): Rewritten according to the new
14995 scheme. Also, add an assertion to prevent the initial context from
14996 removed.
14997 (grub_env_insert): Removed the code for the sorted list.
14998 (grub_env_remove): Likewise.
14999 (grub_env_export): Simply mark the variable with
15000 GRUB_ENV_VAR_GLOBAL.
15001 (grub_env_set): A cosmetic change for naming consistency.
15002 (grub_env_get): Likewise.
15003 (grub_env_unset): Likewise.
15004 (grub_env_iterate): Rewritten to sort variables within this
15005 function.
15006 (grub_register_variable_hook): Fixed for naming consistency. Call
15007 grub_env_find again, only if NAME is not found at the first time.
15008 (mangle_data_slot_name): New function.
15009 (grub_env_set_data_slot): Likewise.
15010 (grub_env_get_data_slot): Likewise.
15011 (grub_env_unset_data_slot): Likewise.
15012
15013 * include/grub/env.h (grub_env_var_type): New enum.
15014 (GRUB_ENV_VAR_LOCAL): New constant.
15015 (GRUB_ENV_VAR_GLOBAL): Likewise.
15016 (GRUB_ENV_VAR_DATA): Likewise.
15017 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15018 "type".
15019 (grub_env_set): Replace VAR with NAME for consistency.
15020 (grub_register_variable_hook): Likewise.
15021 (grub_env_export): Specify the name of the argument.
15022 (grub_env_set_data_slot): New prototype.
15023 (grub_env_get_data_slot): Likewise.
15024 (grub_env_unset_data_slot): Likewise.
15025
7f362539 150262006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15027
15028 Extend the loader so that GRUB can accept a loader which comes
15029 back to GRUB when a loaded image exits. Also, this change adds
15030 support for a chainloader on EFI.
f19dbdb7 15031
7f362539 15032 * term/efi/console.c: Include grub/misc.h.
15033 (grub_console_checkkey): Display a scan code on the top for
15034 debugging. This will be removed once the EFI port gets stable.
15035 Correct the scan code mapping.
15036
15037 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15038 allocate memory from larger regions, in order to reduce the number
15039 of allocated regions. Otherwise, the MacOSX loader panics.
15040 (filter_memory_map): Avoid less than 1MB for compatibility with
15041 other loaders.
15042 (add_memory_regions): Allocate from the tail of a region, if
15043 possible, to avoid allocating a region near to 1MB, for the MacOSX
15044 loader.
15045
15046 * kern/efi/init.c (grub_efi_set_prefix): Specify
15047 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15048
15049 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15050 argument IMAGE_HANDLE and specify it to get a loaded image.
15051 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15052 grub_efi_get_loaded_image.
fe6b695a 15053 (grub_efi_get_filename): Divide the length by the size of
7f362539 15054 grub_efi_char16_t.
15055 (grub_efi_get_device_path): New function.
15056 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15057 the length by the size of grub_efi_char16_t for a file path device
15058 path node.
15059
15060 * kern/loader.c (grub_loader_noreturn): New variable.
15061 (grub_loader_set): Accept a new argument NORETURN. Set
15062 GRUB_LOADER_NORETURN to NORETURN.
15063 All callers changed.
15064 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15065 grub_machine_fini.
15066
15067 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15068 prototype.
15069 (grub_efi_get_loaded_image): Take an argument to specify an image
15070 handle.
15071
15072 * include/grub/loader.h (grub_loader_set): Added one more argument
15073 NORETURN.
15074
15075 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
15076 instead of grub_efi_open_protocol.
15077 (grub_efidisk_get_device_name): Likewise.
15078 (grub_efidisk_close): Print a newline.
15079 (grub_efidisk_get_device_handle): Fixed to use
15080 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
15081 GRUB_EFI_DEVICE_PATH_TYPE.
15082
15083 * disk/efi/efidisk.c (device_path_guid): Moved to ...
15084 * kern/efi/efi.c (device_path_guid): ... here.
15085
15086 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
15087 chain.mod.
15088 (kernel_mod_HEADERS): Added efi/disk.h.
15089 (_chain_mod_SOURCES): New variable.
15090 (_chain_mod_CFLAGS): Likewise.
15091 (_chain_mod_LDFLAGS): Likewise.
15092 (chain_mod_SOURCES): Likewise.
15093 (chain_mod_CFLAGS): Likewise.
15094 (chain_mod_LDFLAGS): Likewise.
15095
15096 * DISTLIST: Added include/grub/efi/chainloader.h,
15097 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
15098
15099 * include/grub/efi/chainloader.h: New file.
15100 * loader/efi/chainloader.c: Likewise.
15101 * loader/efi/chainloader_normal.c: Likewise.
15102
c0111d6e 151032006-04-30 Marco Gerards <marco@gnu.org>
15104
15105 * commands/configfile.c (grub_cmd_source): New function.
15106 (GRUB_MOD_INIT): Register the commands `source' and `.'.
15107 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
15108
df5341da 151092006-04-30 Marco Gerards <marco@gnu.org>
15110
15111 * normal/execute.c (grub_script_execute_cmd): Change the return
15112 type to `grub_err_t'. Correctly return the error.
15113 (grub_script_execute_cmdline): In case a command line is not a
15114 command or a function, try to interpret it as an assignment.
15115
f85934bd 151162006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15117
15118 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
15119 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
15120 skip a node whose name is obviously invalid as UTF-16,
15121 i.e. contains a NUL character. Stop the iteration when the last
15122 directory entry is found. Instead of using the return value of
15123 grub_hfsplus_btree_iterate_node, store the value in RET and use
15124 it, because the iterator can be stopped by the last directory
15125 entry.
15126
8f8a2cf8 151272006-04-30 Marco Gerards <marco@gnu.org>
15128
15129 * include/grub/env.h (grub_env_export): New prototype. Reported
15130 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
15131
a27e84ce 151322006-04-30 Marco Gerards <marco@gnu.org>
15133
15134 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
15135 size of the extents in a catalog file record.
15136
eaef0553 151372006-04-29 Marco Gerards <marco@gnu.org>
15138
15139 * commands/configfile.c (grub_cmd_configfile): Execute the
15140 configfile within its own context.
15141
15142 * include/grub/env.h (grub_env_context_open): New prototype.
15143 (grub_env_context_close): Likewise.
15144
15145 * kern/env.c (grub_env): Removed.
15146 (grub_env_sorted): Likewise.
15147 (grub_env_context): New variable.
15148 (grub_env_var_context): Likewise.
15149 (grub_env_find): Search both the active context and the global
15150 context.
15151 (grub_env_context_open): New function.
15152 (grub_env_context_close): Likewise.
15153 (grub_env_insert): Likewise.
15154 (grub_env_remove): Likewise.
15155 (grub_env_export): Likewise.
15156 (grub_env_set): Changed to use helper functions to avoid code
15157 duplication.
15158 (grub_env_iterate): Rewritten so both the current context and the
15159 global context are being used.
15160
15161 * normal/command.c (export_command): New function.
15162 (grub_command_init): Register the `export' function.
15163
7b455f4d 151642006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
15165
15166 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
15167 explicitly to suppress gcc's warnings.
15168 * fs/fat.c (grub_fat_find_dir): Likewise.
15169 (grub_fat_label): Likewise.
15170 * fs/xfs.c (grub_xfs_read_inode): Likewise.
15171 (grub_xfs_mount): Likewise.
15172 (grub_xfs_label): Likewise.
15173 * fs/affs.c (grub_affs_mount): Likewise.
15174 (grub_affs_label): Likewise.
15175 (grub_affs_iterate_dir): Likewise.
15176 * fs/sfs.c (grub_sfs_mount): Likewise.
15177 (grub_sfs_iterate_dir): Likewise.
15178 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
15179 * fs/hfs.c (grub_hfs_mount): Likewise.
15180 (grub_hfs_cmp_catkeys): Likewise.
15181 (grub_hfs_find_dir): Likewise.
15182 (grub_hfs_dir): Likewise.
15183 (grub_hfs_label): Likewise.
15184 * fs/jfs.c (grub_jfs_mount): Likewise.
15185 (grub_jfs_opendir): Likewise.
15186 (grub_jfs_getent): Likewise.
15187 (grub_jfs_lookup_symlink): Likewise.
15188 (grub_jfs_label): Likewise.
15189 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
15190 (grub_hfsplus_iterate_dir): Likewise.
15191 (grub_hfsplus_btree_iterate_node): Made static.
15192
15193 * util/grub-emu.c (prefix): New variable.
15194 (grub_machine_set_prefix): New function.
15195 (main): Do not set the environment variable "prefix" here. Only
15196 set PREFIX, which is used later by grub_machine_set_prefix.
15197
15198 * include/grub/video.h: Do not include grub/symbol.h.
15199 (grub_video_register): Not exported. This symbol is not defined in
15200 the kernel.
15201 (grub_video_unregister): Likewise.
15202 (grub_video_iterate): Likewise.
15203 (grub_video_setup): Likewise.
15204 (grub_video_restore): Likewise.
15205 (grub_video_get_info): Likewise.
15206 (grub_video_get_blit_format): Likewise.
15207 (grub_video_set_palette): Likewise.
15208 (grub_video_get_palette): Likewise.
15209 (grub_video_set_viewport): Likewise.
15210 (grub_video_get_viewport): Likewise.
15211 (grub_video_map_color): Likewise.
15212 (grub_video_map_rgb): Likewise.
15213 (grub_video_map_rgba): Likewise.
15214 (grub_video_fill_rect): Likewise.
15215 (grub_video_blit_glyph): Likewise.
15216 (grub_video_blit_bitmap): Likewise.
15217 (grub_video_blit_render_target): Likewise.
15218 (grub_video_scroll): Likewise.
15219 (grub_video_swap_buffers): Likewise.
15220 (grub_video_create_render_target): Likewise.
15221 (grub_video_delete_render_target): Likewise.
15222 (grub_video_set_active_render_target): Likewise.
15223
15224 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
15225 Undefined.
15226 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
15227
15228 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
15229 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15230 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15231 instead of $(srcdir)/genkernsyms.sh.
15232
15233 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
15234 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15235 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15236 instead of $(srcdir)/genkernsyms.sh.
15237
15238 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
15239 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15240 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15241 instead of $(srcdir)/genkernsyms.sh.
15242
15243 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
15244 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15245 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15246 instead of $(srcdir)/genkernsyms.sh.
15247
15248 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
15249 genkernsyms.sh.
15250
15251 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
15252 genkernsyms.sh.
15253 (gensymlist.sh): New target.
15254 (genkernsyms.sh): Likewise.
15255
15256 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
15257 genkernsyms.sh.in and gensymlist.sh.in.
15258
15259 * genkernsyms.sh: Removed.
15260 * gensymlist.sh: Likewise.
f19dbdb7 15261
7b455f4d 15262 * genkernsyms.sh.in: New file.
15263 * gensymlist.sh.in: Likewise.
15264
1885bb27 152652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15266
15267 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
15268 clobber "prefix", since we may have already set it manually.
15269
71538dff 152702006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15271
15272 * kern/misc.c (abort): New alias for grub_abort.
15273
2965c7cc 152742006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
15275
15276 A new machine-specific function "grub_machine_set_prefix" is
15277 defined. This is called after loading modules, so that a prefix
15278 initialization can use modules. Also, this change adds an
15279 intensive debugging feature for the memory manager via the
15280 configure option "--enable-mm-debug".
f19dbdb7 15281
2965c7cc 15282 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
15283 PART.LEN.
15284
15285 * kern/sparc64/ieee1275/init.c (abort): Removed.
15286 (grub_stop): Likewise.
15287 (grub_exit): New function.
15288 (grub_set_prefix): Renamed to ...
15289 (grub_machine_set_prefix): ... this.
15290 (grub_machine_init): Do not call grub_set_prefix.
15291
15292 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
15293 (grub_machine_set_prefix): ... this.
15294 (grub_machine_init): Do not call grub_set_prefix.
15295
15296 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
15297 (grub_machine_init): Do not set the prefix here.
15298
15299 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
15300
15301 * kern/efi/init.c: Include grub/mm.h.
15302 (grub_efi_set_prefix): New function.
15303
15304 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
15305 (grub_efi_get_filename): New function.
15306 (grub_print_device_path): Renamed to ...
15307 (grub_efi_print_device_path): ... this.
15308
15309 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
15310 [MM_DEBUG] (grub_realloc): Likewise.
15311 [MM_DEBUG] (grub_free): Likewise.
15312 [MM_DEBUG] (grub_memalign): Likewise.
15313 [MM_DEBUG] (grub_mm_debug): New variable.
15314 [MM_DEBUG] (grub_debug_malloc): New function.
15315 [MM_DEBUG] (grub_debug_free): New function.
15316 [MM_DEBUG] (grub_debug_realloc): New function.
15317 [MM_DEBUG] (grub_debug_memalign): New function.
15318
15319 * kern/misc.c (grub_abort): Print a newline to distinguish
15320 the message.
15321
15322 * kern/main.c (grub_main): Call grub_machine_set_prefix and
15323 grub_set_root_dev after loading modules. This is necessary when
15324 setting a prefix depends on modules.
15325
15326 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
15327 (grub_efi_print_device_path): ... this.
15328 (grub_efi_get_filename): New prototype.
15329 (grub_efi_set_prefix): Likewise.
15330
15331 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
15332 and grub/disk.h.
15333 (grub_efidisk_get_device_handle): New prototype.
15334 (grub_efidisk_get_device_name): Likewise.
15335
15336 * include/grub/mm.h: Include config.h.
15337 (MM_DEBUG): Removed.
15338 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
15339 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
15340 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
15341 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
15342 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
15343 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
15344 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
15345 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
15346 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
15347
15348 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
15349
15350 * disk/efi/efidisk.c: Include grub/partition.h.
15351 (iterate_child_devices): New function.
15352 (add_device): First, compare only last device path nodes, so that
15353 devices are sorted by the types.
15354 (grub_efidisk_get_device_handle): New function.
15355 (grub_efidisk_get_device_name): Likewise.
15356
15357 * configure.ac (--enable-mm-debug): New option to enable the
15358 memory manager debugging feature. This makes the binary much
15359 bigger, so is disabled by default.
15360
9cacaa17 153612006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
15362
15363 Use grub_abort instead of grub_stop, and grub_exit must be
15364 define in each architecture now. Also, this change adds support
15365 for EFI disks.
f19dbdb7 15366
9cacaa17 15367 * util/i386/pc/grub-probefs.c: Include grub/term.h.
15368 (grub_getkey): New function.
15369 (grub_term_get_current): Likewise.
15370
15371 * util/i386/pc/grub-setup.c: Include grub/term.h.
15372 (grub_getkey): New function.
15373 (grub_term_get_current): Likewise.
15374
15375 * util/misc.c (grub_stop): Renamed to ...
15376 (grub_exit): ... this.
15377
15378 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
15379 (grub_exit): ... this.
15380 (grub_machine_init): Use grub_abort instead of abort.
15381 (grub_stop): Removed.
15382
15383 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
15384 abort.
15385
15386 * kern/i386/pc/startup.S (grub_exit): New function.
15387 (cold_reboot): New label.
15388
15389 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
15390 (grub_efi_init): Call grub_efidisk_init.
15391 (grub_efi_fini): Call grub_efidisk_fini.
15392
15393 * kern/efi/efi.c: Include grub/mm.h.
15394 (grub_efi_console_control_guid): Renamed to ...
15395 (console_control_guid): ... this.
15396 (grub_efi_loaded_image_guid): Renamed to ...
15397 (loaded_image_guid): ... this.
15398 (grub_efi_locate_handle): New function.
15399 (grub_efi_open_protocol): Likewise.
15400 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
15401 GRUB_EFI_CONSOLE_CONTROL_GUID.
15402 (grub_efi_exit): Removed.
15403 (grub_stop): Likewise.
15404 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
15405 (grub_exit): New function.
15406 (grub_print_device_path): Likewise.
15407
15408 * kern/rescue.c (grub_rescue_cmd_exit): New function.
15409 (grub_enter_rescue_mode): Register "exit".
15410
15411 * kern/misc.c (grub_real_dprintf): A cosmetic change.
15412 (grub_abort): New function.
15413
15414 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
15415
15416 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
15417
15418 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
15419
15420 * include/grub/efi/efi.h (grub_efi_exit): Removed.
15421 (grub_print_device_path): New prototype.
15422 (grub_efi_locate_handle): Likewise.
15423 (grub_efi_open_protocol): Likewise.
15424
15425 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
15426 * disk/efi/efidisk.c: Likewise.
15427
15428 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
15429
15430 * include/grub/efi/console_control.h
15431 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
15432
15433 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
15434 last 8 bytes as an array.
15435 (GRUB_EFI_DISK_IO_GUID): New macro.
15436 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
15437 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
15438 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
15439 grub_uint8_t.
15440 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
15441 (struct grub_efi_device_path): Rename the member "sub_type" to
15442 "subtype".
15443 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
15444 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
15445 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
15446 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
15447 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
15448 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
15449 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
15450 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
15451 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
15452 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
15453 (struct grub_efi_pci_device_path): New structure.
15454 (grub_efi_pci_device_path_t): New type.
15455 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
15456 (struct grub_efi_pccard_device_path): New structure.
15457 (grub_efi_pccard_device_path_t): New type.
15458 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
15459 (struct grub_efi_memory_mapped_device_path): New structure.
15460 (grub_efi_memory_mapped_device_path_t): New type.
15461 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
15462 (struct grub_efi_vendor_device_path): New structure.
15463 (grub_efi_vendor_device_path_t): New type.
15464 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
15465 (struct grub_efi_controller_device_path): New structure.
15466 (grub_efi_controller_device_path_t): New type.
15467 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
15468 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
15469 (struct grub_efi_acpi_device_path): New structure.
15470 (grub_efi_acpi_device_path_t): New type.
15471 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
15472 (struct grub_efi_expanded_acpi_device_path): New structure.
15473 (grub_efi_expanded_acpi_device_path_t): New type.
15474 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
15475 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
15476 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
15477 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
15478 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
15479 (struct grub_efi_atapi_device_path): New structure.
15480 (grub_efi_atapi_device_path_t): New type.
15481 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
15482 (struct grub_efi_fibre_channel_device_path): New structure.
15483 (grub_efi_fibre_channel_device_path_t): New type.
15484 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
15485 (struct grub_efi_1394_device_path): New structure.
15486 (grub_efi_1394_device_path_t): New type.
15487 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
15488 (struct grub_efi_usb_device_path): New structure.
15489 (grub_efi_usb_device_path_t): New type.
15490 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
15491 (struct grub_efi_usb_class_device_path): New structure.
15492 (grub_efi_usb_class_device_path_t): New type.
15493 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
15494 (struct grub_efi_i2o_device_path): New structure.
15495 (grub_efi_i2o_device_path_t): New type.
15496 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
15497 (struct grub_efi_mac_address_device_path): New structure.
15498 (grub_efi_mac_address_device_path_t): New type.
15499 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
15500 (struct grub_efi_ipv4_device_path): New structure.
15501 (grub_efi_ipv4_device_path_t): New type.
15502 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
15503 (struct grub_efi_ipv6_device_path): New structure.
15504 (grub_efi_ipv6_device_path_t): New type.
15505 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
15506 (struct grub_efi_infiniband_device_path): New structure.
15507 (grub_efi_infiniband_device_path_t): New type.
15508 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
15509 (struct grub_efi_uart_device_path): New structure.
15510 (grub_efi_uart_device_path_t): New type.
15511 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
15512 (struct grub_efi_vendor_messaging_device_path): New structure.
15513 (grub_efi_vendor_messaging_device_path_t): New type.
15514 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
15515 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
15516 (struct grub_efi_hard_drive_device_path): New structure.
15517 (grub_efi_hard_drive_device_path_t): New type.
15518 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
15519 (struct grub_efi_cdrom_device_path): New structure.
15520 (grub_efi_cdrom_device_path_t): New type.
15521 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
15522 (struct grub_efi_vendor_media_device_path): New structure.
15523 (grub_efi_vendor_media_device_path_t): New type.
15524 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
15525 (struct grub_efi_file_path_device_path): New structure.
15526 (grub_efi_file_path_device_path_t): New type.
15527 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
15528 (struct grub_efi_protocol_device_path): New structure.
15529 (grub_efi_protocol_device_path_t): New type.
15530 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
15531 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
15532 (struct grub_efi_bios_device_path): New structure.
15533 (grub_efi_bios_device_path_t): New type.
15534 (struct grub_efi_disk_io): New structure.
15535 (grub_efi_disk_io_t): New type.
15536 (struct grub_efi_block_io_media): New structure.
15537 (grub_efi_block_io_media_t): New type.
15538 (struct grub_efi_block_io): New structure.
15539 (grub_efi_block_io_t): New type.
15540
15541 * include/grub/misc.h (grub_stop): Removed.
15542 (grub_exit): New prototype.
15543 (grub_abort): Likewise.
15544
15545 * include/grub/disk.h (enum grub_disk_dev_id): Added
15546 GRUB_DISK_DEVICE_EFIDISK_ID.
15547
15548 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
15549 disk/efi/efidisk.c.
15550 (kernel_syms.lst): Remove the target if an error occurs.
15551
49986a9f 155522006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
15553
15554 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
15555 as it was simply too buggy.
15556
970d3b8a 155572006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
15558
15559 * kern/misc.c (grub_lltoa): New function.
15560 (grub_vsprintf): Added support for the long long suffix,
15561 i.e. "ll".
15562
ff04ec24 155632006-04-20 Hollis Blanchard <hollis@penguinppc.org>
15564
15565 * Makefile.in (LDFLAGS): Add variable.
15566 (LD): Remove variable.
15567 * configure.ac: Add -m32 to LDFLAGS.
15568 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
15569 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
15570 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
15571 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
15572 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
15573 variables.
15574 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
15575 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
15576 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
15577
37e5e1a4 155782006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
15579
15580 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
15581 length for unknown glyph.
15582
c352d8dd 155832006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
15584
2eab1c0d 15585 Add support for pre-loaded modules into the EFI port.
f19dbdb7 15586
2eab1c0d 15587 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
15588 completely. Accept one more argument DIR. The caller has changed.
15589
15590 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
15591
15592 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
15593 (grub_efi_loaded_image_guid): New variable.
15594 (grub_efi_get_loaded_image): New function.
15595 (grub_arch_modules_addr): Likewise.
15596
15597 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
15598 prototype.
15599
15600 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
15601 (struct grub_efi_loaded_image): New structure.
15602 (grub_efi_loaded_image_t): New type.
15603
156042006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15605
c352d8dd 15606 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
15607 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
15608 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
15609
6d01d6b4 156102006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
15611
15612 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
15613
976a4ea0 156142006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
15615
15616 * DISTLIST: Added include/grub/efi/console.h,
15617 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
15618 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15619
15620 * include/grub/efi/console.h: New file.
15621 * include/grub/efi/time.h: Likewise.
15622 * include/grub/i386/efi/kernel.h: Likewise.
15623 * kern/efi/init.c: Likewise.
15624 * kern/efi/mm.c: Likewise.
15625 * term/efi/console.c: Likewise.
f19dbdb7 15626
976a4ea0 15627 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
15628 (grub_stop): Removed.
15629 (grub_get_rtc): Likewise.
15630 (grub_machine_init): Simply call grub_efi_init.
15631 (grub_machine_fini): Call grub_efi_fini.
15632
15633 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
15634 (grub_efi_output_string): Removed.
15635 (grub_efi_stall): New function.
15636 (grub_stop): Likewise.
15637 (grub_get_rtc): Likewise.
15638
15639 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
15640 (grub_efi_stall): New prototype.
15641 (grub_efi_allocate_pages): Likewise.
15642 (grub_efi_free_pages): Likewise.
15643 (grub_efi_get_memory_map): Likewise.
15644 (grub_efi_mm_init): Likewise.
15645 (grub_efi_mm_fini): Likewise.
15646 (grub_efi_init): Likewise.
15647 (grub_efi_fini): Likewise.
15648
15649 * include/grub/i386/efi/time.h: Do not include
15650 grub/symbol.h. Include grub/efi/time.h.
15651 (GRUB_TICKS_PER_SECOND): Removed.
15652 (grub_get_rtc): Likewise.
15653
15654 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
15655 Added padding. The EFI spec is buggy.
15656 (GRUB_EFI_BLACK): New macro.
15657 (GRUB_EFI_BLUE): Likewise.
15658 (GRUB_EFI_GREEN): Likewise.
15659 (GRUB_EFI_CYAN): Likewise.
15660 (GRUB_EFI_RED): Likewise.
15661 (GRUB_EFI_MAGENTA): Likewise.
15662 (GRUB_EFI_BROWN): Likewise.
15663 (GRUB_EFI_LIGHTGRAY): Likewise.
15664 (GRUB_EFI_BRIGHT): Likewise.
15665 (GRUB_EFI_DARKGRAY): Likewise.
15666 (GRUB_EFI_LIGHTBLUE): Likewise.
15667 (GRUB_EFI_LIGHTGREEN): Likewise.
15668 (GRUB_EFI_LIGHTCYAN): Likewise.
15669 (GRUB_EFI_LIGHTRED): Likewise.
15670 (GRUB_EFI_LIGHTMAGENTA): Likewise.
15671 (GRUB_EFI_YELLOW): Likewise.
15672 (GRUB_EFI_WHITE): Likewise.
15673 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
15674 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
15675 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
15676 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
15677 (GRUB_EFI_BACKGROUND_RED): Likewise.
15678 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
15679 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
15680 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
15681 (GRUB_EFI_TEXT_ATTR): Likewise.
15682
15683 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
15684 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15685 (kernel_mod_HEADERS): Added efi/time.h.
15686
83709125 156872006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
15688
15689 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
15690 include/grub/efi/api.h, include/grub/efi/console_control.h,
15691 include/grub/efi/efi.h, include/grub/efi/pe32.h,
15692 include/grub/i386/efi/time.h, kern/efi/efi.c,
15693 kern/i386/efi/init.c, kern/i386/efi/startup.S,
15694 and util/i386/efi/grub-mkimage.c.
15695
15696 * Makefile.in (RMKFILES): Added i386-efi.rmk.
15697
15698 * genmk.rb (PModule#rule): Do not export symbols if
15699 #{prefix}_EXPORTS is set to "no".
15700
15701 * conf/i386-efi.mk: New file.
15702 * conf/i386-efi.rmk: Likewise.
15703 * include/grub/efi/api.h: Likewise.
15704 * include/grub/efi/console_control.h: Likewise.
15705 * include/grub/efi/efi.h: Likewise.
15706 * include/grub/efi/pe32.h: Likewise.
15707 * include/grub/i386/efi/time.h: Likewise.
15708 * kern/efi/efi.c: Likewise.
15709 * kern/i386/efi/init.c: Likewise.
15710 * kern/i386/efi/startup.S: Likewise.
15711 * util/i386/efi/grub-mkimage.c: Likewise.
15712
157132006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 15714
15715 * include/grub/script.h: Include <grub/parser.h> and
15716 "grub_script.tab.h".
15717 (struct grub_lexer_param): New struct.
15718 (struct grub_parser_param): Likewise.
15719 (grub_script_create_arglist): Pass the state in an argument.
15720 (grub_script_add_arglist): Likewise.
15721 (grub_script_create_cmdline): Likewise.
15722 (grub_script_create_cmdblock): Likewise.
15723 (grub_script_create_cmdif): Likewise.
15724 (grub_script_create_cmdmenu): Likewise.
15725 (grub_script_add_cmd): Likewise.
15726 (grub_script_arg_add): Likewise.
15727 (grub_script_lexer_ref): Likewise.
15728 (grub_script_lexer_deref): Likewise.
15729 (grub_script_lexer_record_start): Likewise.
15730 (grub_script_lexer_record_stop): Likewise.
15731 (grub_script_mem_record): Likewise.
15732 (grub_script_mem_record_stop): Likewise.
15733 (grub_script_malloc): Likewise.
15734 (grub_script_yylex): Likewise.
15735 (grub_script_yyparse): Likewise.
15736 (grub_script_yyerror): Likewise.
15737 (grub_script_yylex): Likewise.
15738 (grub_script_lexer_init): Return the state.
15739
15740 * normal/lexer.c (grub_script_lexer_state): Removed variable.
15741 (grub_script_lexer_done): Likewise.
15742 (grub_script_lexer_getline): Likewise.
15743 (grub_script_lexer_refs): Likewise.
15744 (script): Likewise.
15745 (newscript): Likewise.
15746 (record): Likewise.
15747 (recording): Likewise.
15748 (recordpos): Likewise.
15749 (recordlen): Likewise.
15750 (grub_script_lexer_init): Return the state instead of setting
15751 global variables.
15752 (grub_script_lexer_ref): Use the newly added argument for state
15753 instead of globals.
15754 (grub_script_lexer_deref): Likewise.
15755 (grub_script_lexer_record_start): Likewise.
15756 (grub_script_lexer_record_stop): Likewise.
15757 (recordchar): Likewise.
15758 (nextchar): Likewise.
15759 (grub_script_yylex2): Likewise.
15760 (grub_script_yylex): Likewise.
15761 (grub_script_yyerror): Likewise.
15762
15763 * normal/parser.y (func_mem): Removed variable.
15764 (menu_entry): Likewise.
15765 (err): Likewise.
15766 (%lex-param): New parser option.
15767 (%parse-param): Likewise.
15768 (script): Always return the AST.
15769 (argument): Pass the state around.
15770 (arguments): Likewise.
15771 (grubcmd): Likewise.
15772 (commands): Likewise.
15773 (function): Likewise.
15774 (menuentry): Likewise.
15775 (if_statement): Likewise.
15776 (if): Likewise.
15777
15778 * normal/script.c (grub_script_memused): Removed variable.
15779 (grub_script_parsed): Likewise.
15780 (grub_script_malloc): Added a state argument. Use that instead of
15781 global variables.
15782 (grub_script_mem_record): Likewise.
15783 (grub_script_mem_record_stop): Likewise.
15784 (grub_script_arg_add): Likewise.
15785 (grub_script_add_arglist): Likewise.
15786 (grub_script_create_cmdline): Likewise.
15787 (grub_script_create_cmdif): Likewise.
15788 (grub_script_create_cmdmenu): Likewise.
15789 (grub_script_add_cmd): Likewise.
15790 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 15791
e2a8c904 157922006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 15793
15794 * normal/command.c (grub_command_init): Remove the title command.
15795
15796 * normal/lexer.c (grub_script_yylex): Renamed from this...
15797 (grub_script_yylex2): ... to this.
15798 (grub_script_yylex): New function. Temporary
15799 introduced to filter some tokens.
15800 (grub_script_yyerror): Print a newline.
15801
15802 * normal/main.c (read_config_file): Output information about the
15803 lines that contain errors. Wait for a key after all lines have
15804 been processed. Don't return an empty menu.
15805
15806 * normal/parser.y (func_mem): Don't initialize.
15807 (menu_entry): Likewise.
15808 (err): New variable.
15809 (script): Don't return anything when an error was encountered.
15810 (ws, returns): Removed rules.
15811 (argument): Disabled concatenated variable support.
15812 (arguments): Remove explicit separators.
15813 (grubcmd): Likewise.
15814 (function): Likewise.
15815 (menuentry): Likewise.
15816 (if): Likewise.
15817 (commands): Likewise. Add error handling.
15818
15819 * normal/script.c (grub_script_create_cmdline): If
15820 `grub_script_parsed' is 0, assume the parser encountered an error.
15821
c9a86192 158222006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
15823
15824 * configure.ac: Add support for EFI. Fix the typo
15825 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
15826
70f3b243 158272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15828
15829 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
15830 foreign multibyte characters should be shown correctly.
15831
65f201ad 158322006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15833
15834 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
15835 calculation.
15836 (read_config_file): Made it to close file before returning.
15837
b4b93674 158382006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
15839
15840 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
15841 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
15842 video/i386/pc/vbefill.c.
15843
15844 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
15845 video/i386/pc/vbefill.c.
15846
15847 * include/grub/video.h (grub_video_blit_format): New enum.
15848 (grub_video_mode_info): Added new member blit_format.
15849 (grub_video_get_blit_format): New function prototype.
15850
15851 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
15852 function prototype.
15853 (grub_video_vbe_map_rgb): Likewise.
15854 (grub_video_vbe_unmap_color): Likewise.
15855
15856 * include/grub/i386/pc/vbeblit.h: New file.
15857
15858 * include/grub/i386/pc/vbefill.h: New file.
15859
15860 * video/video.c (grub_video_get_blit_format): New function.
15861 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
15862 (grub_video_vbe_map_rgb): Likewise.
15863 (grub_video_vbe_unmap_color): Likewise.
15864
15865 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
15866 optimized fills.
15867 (grub_video_vbe_blit_render_target): Changed to use more optimized
15868 blits.
15869 (grub_video_vbe_setup): Added detection for optimized settings.
15870 (grub_video_vbe_create_render_target): Likewise.
15871
15872 * video/i386/pc/vbeblit.c: New file.
15873
15874 * video/i386/pc/vbefill.c: New file.
15875
c2379b9c 158762006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
15877
15878 * font/manager.c (grub_font_get_glyph): Removed font fixup from
15879 here...
15880
15881 * util/unifont2pff.rb: ... and moved it to here. Improved argument
15882 parsing to support both hex and dec ranges. If filename was missing
15883 show usage information.
15884
bd0d7896 158852006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
15886
15887 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
15888 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
15889
15890 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
15891 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
15892 (video_mod_SOURCES): Added.
15893 (video_mod_CFLAGS): Likewise.
15894 (video_mod_LDFLAGS): Likewise.
15895 (gfxterm_mod_SOURCES): Likewise.
15896 (gfxterm_mod_CFLAGS): Likewise.
15897 (gfxterm_mod_LDFLAGS): Likewise.
15898 (videotest_mod_SOURCES): Likewise.
15899 (videotest_mod_CFLAGS): Likewise.
15900 (videotest_mod_LDFLAGS): Likewise.
15901 (vesafb_mod_SOURCES): Removed.
15902 (vesafb_mod_CFLAGS): Likewise.
15903 (vesafb_mod_LDFLAGS): Likewise.
15904 (vga_mod_SOURCES): Likewise.
15905 (vga_mod_CFLAGS): Likewise.
15906 (vga_mod_LDFLAGS): Likewise.
15907
15908 * commands/videotest.c: New file.
15909
15910 * font/manager.c (fill_with_default_glyph): Modified to use
15911 grub_font_glyph.
15912 (grub_font_get_glyph): Likewise.
15913 (fontmanager): Renamed from this...
15914 (font_manager): ... to this.
15915
15916 * include/grub/font.h (grub_font_glyph): Added new structure.
15917 (grub_font_get_glyph): Modified to use grub_font_glyph.
15918
15919 * include/grub/misc.h (grub_abs): Added as inline function.
15920
15921 * include/grub/video.h: New file.
15922
15923 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
15924 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
15925 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
15926 (grub_vbe_get_controller_info): Renamed from this...
15927 (grub_vbe_bios_get_controller_info): ... to this.
15928 (grub_vbe_get_mode_info): Renamed from this...
15929 (grub_vbe_bios_get_mode_info): ... to this.
15930 (grub_vbe_set_mode): Renamed from this...
15931 (grub_vbe_bios_set_mode): ... to this.
15932 (grub_vbe_get_mode): Renamed from this...
15933 (grub_vbe_bios_get_mode): ... to this.
15934 (grub_vbe_set_memory_window): Renamed from this...
15935 (grub_vbe_bios_set_memory_window): ... to this.
15936 (grub_vbe_get_memory_window): Renamed from this...
15937 (grub_vbe_bios_get_memory_window): ... to this.
15938 (grub_vbe_set_scanline_length): Renamed from this...
15939 (grub_vbe_set_scanline_length): ... to this.
15940 (grub_vbe_get_scanline_length): Renamed from this...
15941 (grub_vbe_bios_get_scanline_length): ... to this.
15942 (grub_vbe_set_display_start): Renamed from this...
15943 (grub_vbe_bios_set_display_start): ... to this.
15944 (grub_vbe_get_display_start): Renamed from this...
15945 (grub_vbe_bios_get_display_start): ... to this.
15946 (grub_vbe_set_palette_data): Renamed from this...
15947 (grub_vbe_bios_set_palette_data): ... to this.
15948 (grub_vbe_set_pixel_rgb): Removed.
15949 (grub_vbe_set_pixel_index): Likewise.
15950
15951 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
15952 from this...
15953 (grub_vbe_bios_get_controller_info): ... to this.
15954 (grub_vbe_get_mode_info): Renamed from this...
15955 (grub_vbe_bios_get_mode_info): ... to this.
15956 (grub_vbe_set_mode): Renamed from this...
15957 (grub_vbe_bios_set_mode): ... to this.
15958 (grub_vbe_get_mode): Renamed from this...
15959 (grub_vbe_bios_get_mode): ... to this.
15960 (grub_vbe_set_memory_window): Renamed from this...
15961 (grub_vbe_bios_set_memory_window): ... to this.
15962 (grub_vbe_get_memory_window): Renamed from this...
15963 (grub_vbe_bios_get_memory_window): ... to this.
15964 (grub_vbe_set_scanline_length): Renamed from this...
15965 (grub_vbe_set_scanline_length): ... to this.
15966 (grub_vbe_get_scanline_length): Renamed from this...
15967 (grub_vbe_bios_get_scanline_length): ... to this.
15968 (grub_vbe_set_display_start): Renamed from this...
15969 (grub_vbe_bios_set_display_start): ... to this.
15970 (grub_vbe_get_display_start): Renamed from this...
15971 (grub_vbe_bios_get_display_start): ... to this.
15972 (grub_vbe_set_palette_data): Renamed from this...
15973 (grub_vbe_bios_set_palette_data): ... to this.
15974 (grub_vbe_bios_get_controller_info): Fixed problem with registers
15975 getting corrupted after calling it. Added more pushes and pops.
15976 (grub_vbe_bios_set_mode): Likewise.
15977 (grub_vbe_bios_get_mode): Likewise.
15978 (grub_vbe_bios_get_memory_window): Likewise.
15979 (grub_vbe_bios_set_scanline_length): Likewise.
15980 (grub_vbe_bios_get_scanline_length): Likewise.
15981 (grub_vbe_bios_get_display_start): Likewise.
15982 (grub_vbe_bios_set_palette_data): Likewise.
15983
15984 * normal/cmdline.c (cl_set_pos): Refresh the screen.
15985 (cl_insert): Likewise.
15986 (cl_delete): Likewise.
15987
15988 * term/gfxterm.c: New file.
15989
15990 * term/i386/pc/vesafb.c: Removed file.
15991
15992 * video/video.c: New file.
15993
15994 * video/i386/pc/vbe.c (real2pm): Added new function.
15995 (grub_video_vbe_draw_pixel): Likewise.
15996 (grub_video_vbe_get_video_ptr): Likewise.
15997 (grub_video_vbe_get_pixel): Likewise
15998 (grub_video_vbe_init): Likewise.
15999 (grub_video_vbe_fini): Likewise.
16000 (grub_video_vbe_setup): Likewise.
16001 (grub_video_vbe_get_info): Likewise.
16002 (grub_video_vbe_set_palette): Likewise.
16003 (grub_video_vbe_get_palette): Likewise.
16004 (grub_video_vbe_set_viewport): Likewise.
16005 (grub_video_vbe_get_viewport): Likewise.
16006 (grub_video_vbe_map_color): Likewise.
16007 (grub_video_vbe_map_rgb): Likewise.
16008 (grub_video_vbe_map_rgba): Likewise.
16009 (grub_video_vbe_unmap_color): Likewise.
16010 (grub_video_vbe_fill_rect): Likewise.
16011 (grub_video_vbe_blit_glyph): Likewise.
16012 (grub_video_vbe_blit_bitmap): Likewise.
16013 (grub_video_vbe_blit_render_target): Likewise.
16014 (grub_video_vbe_scroll): Likewise.
16015 (grub_video_vbe_swap_buffers): Likewise.
16016 (grub_video_vbe_create_render_target): Likewise.
16017 (grub_video_vbe_delete_render_target): Likewise.
16018 (grub_video_vbe_set_active_render_target): Likewise.
16019 (grub_vbe_set_pixel_rgb): Remove function.
16020 (grub_vbe_set_pixel_index): Likewise.
16021 (index_color_mode): Remove static variable.
16022 (active_mode): Likewise.
16023 (framebuffer): Likewise.
16024 (bytes_per_scan_line): Likewise.
16025 (grub_video_vbe_adapter): Added new static variable.
16026 (framebuffer): Likewise.
16027 (render_target): Likewise.
16028 (initial_mode): Likewise.
16029 (mode_in_use): Likewise.
16030 (mode_list): Likewise.
16031
5f97350b 160322006-03-10 Marco Gerards <marco@gnu.org>
16033
16034 * configure.ac (AC_INIT): Bumped to 1.93.
16035
16036 * DISTLIST: Added `include/grub/hfs.h'.
16037
a3c5c6f8 160382006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16039
16040 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16041 18H, which might help the BIOS falling back to next boot media.
16042
6de53d26 160432006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16044
16045 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16046 Poe Chen <poe.poechen@gmail.com>.
16047
77c4a393 160482006-01-17 Marco Gerards <marco@gnu.org>
16049
16050 * include/grub/normal.h: Include <grub/script.h>.
16051 (grub_command_list): Removed struct.
16052 (grub_command_list_t): Removed type.
16053 (grub_menu_entry): Remove members `num' and `command_list'. Add
16054 members `commands' and `sourcecode'.
16055 * include/grub/script.h: Add inclusion guards.
16056 (grub_script_cmd_menuentry): New struct.
16057 (grub_script_execute_menuentry): New prototype.
16058 (grub_script_lexer_record_start): Likewise.
16059 (grub_script_lexer_record_stop): Likewise.
16060 * normal/execute.c (grub_script_execute_menuentry): New function.
16061 * normal/lexer.c (record, recording, recordpos, recordlen): New
16062 variables.
16063 (grub_script_lexer_record_start): New function.
16064 (grub_script_lexer_record_stop): Likewise.
16065 (recordchar): Likewise.
16066 (nextchar): Likewise.
16067 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16068 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16069 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16070 (current_menu): New variable.
16071 (free_menu): Mainly rewritten.
16072 (grub_normal_menu_addentry): New function.
16073 (read_config_file): Rewritten.
16074 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 16075 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 16076 the menu entry.
16077 (run): Mainly rewritten.
16078 * normal/parser.y (menu_entry): New variable.
16079 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
16080 (menuentry): New rule.
16081 (command): Add `menuentry'.
16082 (if_statement): Allow additional returns before `fi'.
16083 * normal/script.c (grub_script_create_cmdmenu): New function.
16084
144f1f98 160852006-01-03 Marco Gerards <marco@gnu.org>
16086
16087 * INSTALL: GNU Bison is required.
16088 * configure.ac: Rewritten the test to detect Bison.
16089 * Makefile.in (YACC): New variable. Reported by Xun Sun
16090 <xun.sun.cn@gmail.com>.
16091
af4b2d89 160922006-01-03 Marco Gerards <marco@gnu.org>
16093
16094 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
16095 the HFS+ filesystem to filesystem blocks.
16096 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
16097 GCC warning is silenced.
16098
15643b71 160992006-01-03 Marco Gerards <marco@gnu.org>
16100
16101 * partmap/apple.c (apple_partition_map_iterate): Convert the data
16102 read from disk from big endian to host byte order.
16103
00905879 161042006-01-03 Hollis Blanchard <hollis@penguinppc.org>
16105
16106 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
16107 documentation.
16108 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
16109 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
16110 embedded HFS+ filesystem.
16111 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
16112 (grub_hfs_sblock): Move from here...
16113 * include/grub/hfs.h: To here... New file.
16114 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
16115 documentation.
16116 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
16117 New macros.
16118 (grub_hfsplus_volheader): Change type of member `magic' to
16119 `grub_uint16_t'.
16120 (grub_hfsplus_data): Add new member `embedded_offset'.
16121 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
16122 returned block.
16123 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
16124 Calculate the offset.
16125
8899bc3e 161262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16127
16128 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
16129 Removed.
16130 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
16131
ae8c0277 161322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16133
16134 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
16135 ENV->NAME is NULL after allocating ENV->VALUE.
16136
07084456 161372005-12-25 Marco Gerards <marco@gnu.org>
16138
16139 * kern/env.c (grub_env_set): Rewritten the error handling code.
16140
4750f5f1 161412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16142
16143 * geninit.sh: Made more robust, and more portable.
16144
50214199 161452005-12-25 Marco Gerards <marco@gnu.org>
16146
16147 Add support for Apple HFS+ filesystems.
f19dbdb7 16148
50214199 16149 * fs/hfsplus.c: New file.
16150
16151 * DISTLIST: Added `fs/hfsplus.c'.
16152
16153 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
16154 (hfsplus_mod_SOURCES): New variable.
16155 (hfsplus_mod_CFLAGS): Likewise.
16156 (hfsplus_mod_LDFLAGS): Likewise.
16157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
16158 (grub_setup_SOURCES): Likewise.
16159 (grub_mkdevicemap_SOURCES): Likewise.
16160 (grub_emu_SOURCES): Likewise.
16161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16162
16163 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
16164
16165 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
16166
befaed6c 161672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16168
16169 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
16170 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
16171 include/grub/parser.h, include/grub/script.h, kern/parser.c,
16172 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
16173 normal/lexer.c, normal/parser.y, normal/script.c, and
16174 partmap/gpt.c.
16175 Removed kern/sparc64/cache.c.
16176
16177 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
16178 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
16179 grub_emu_init.c.
16180
16181 * configure.ac (AC_INIT): Bumped to 1.92.
16182
6a124103 161832005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
16184
16185 * kern/err.c (grub_error_push): Added new function to support error
16186 stacks.
16187 (grub_error_pop): Likewise.
16188 (grub_error_stack_items): New local variable to support error stacks.
16189 (grub_error_stack_pos): Likewise.
16190 (grub_error_stack_assert): Likewise.
16191 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
16192 stack depth.
16193 (grub_print_error): Added support to print errors from error stack.
16194
16195 * include/grub/err.h (grub_error_push): Added function prototype.
16196 (grub_error_pop): Likewise.
16197
be973c1b 161982005-12-09 Hollis Blanchard <hollis@penguinppc.org>
16199
16200 * configure.ac: Accept `powerpc64' as host_cpu.
16201 (amd64): Rename to `biarch32'.
16202
16203 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
16204 non-cacheline-aligned addresses.
16205
16206 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
16207 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
16208 if `size' is non-zero.
16209
b04216ab 162102005-12-03 Marco Gerards <mgerards@xs4all.nl>
16211
16212 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
16213 and `cd' to make sure the filename is not prefixed with a
16214 directory name.
16215 (pkgdata_MODULES): Add `gpt.mod'.
16216 (gpt_mod_SOURCES): New variable.
16217 (gpt_mod_CFLAGS): Likewise.
16218 (gpt_mod_LDFLAGS): Likewise.
16219
16220 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
16221
16222 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
16223 New macro.
16224
16225 * partmap/gpt.c: New file.
16226
16227 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
16228 GPT partition map is detected.
16229
41730ed9 162302005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
16231
16232 * commands/i386/pc/play.c: New file.
16233 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
16234 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
16235 macros.
f19dbdb7 16236
95dc3643 162372005-11-27 Marco Gerards <mgerards@xs4all.nl>
16238
16239 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
16240 ((unused))' to silence gcc warning.
16241
1569ec51 162422005-11-26 Hollis Blanchard <hollis@penguinppc.org>
16243
16244 * configure.ac: Correct `AC_PROG_YACC' test.
16245
9abde152 162462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16247
16248 * util/powerpc/ieee1275/grub-install.in: Run the mount point
16249 check before installing files.
16250
44b83271 162512005-11-22 Mike Small <smallm@panix.com>
16252
16253 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
16254 number regex so multidigit numbers are recognized correctly.
16255
162562005-11-22 Mike Small <smallm@panix.com>
16257
16258 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
16259 debugging message before attempting to claim memory.
16260 (grub_rescue_cmd_initrd): Add a claim debugging message and try
16261 multiple addresses in case of failure.
16262
9c12956b 162632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16264
16265 * term/tparm.c (get_space): Remove empty `if' statement.
16266
16267 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
16268
16269 * kern/parser.c (check_varstate): Rename `state' to 's'.
16270
aeaf81d9 162712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16272
16273 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
16274 variable definitions to the beginning of each function. Sort stack
16275 variables by size.
16276 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
16277 `buf' argument to `char *'.
16278
79bbb63f 162792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16280
16281 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
16282 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16283 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 16284 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16285 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16286 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16287 configfile.mod, search.mod, gzio.mod and test.mod.
16288 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16289 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16290 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16291 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16292 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16293 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16294 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16295 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16296 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16297 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16298 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16299 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16300 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16301 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16302 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16303 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16304 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16305 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16306 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16307 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16308 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16309 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16310 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
16311
16312 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
16313 `grep --include'.
16314 (pkgdata_MODULES): Add test.mod.
16315
233b1628 163162005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16317
16318 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
16319 appending to variables with "+=".
16320 (PModule): Use full pathname to generate *.lst filenames.
16321
16322 * Makefile.in: Fixed list rules moved from genmk.rb.
16323 (.DELETE_ON_ERROR): New special target.
16324 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
16325
16326 * conf/i386-pc.rmk: Include conf/common.mk.
16327 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16328 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 16329 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16330 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16331 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16332 configfile.mod, search.mod, gzio.mod and test.mod.
16333 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16334 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16335 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16336 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16337 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16338 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16339 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16340 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16341 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16342 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16343 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16344 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16345 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16346 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16347 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16348 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16349 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16350 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16351 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16352 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16353 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16354 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16355 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
16356 here...
16357 * conf/common.rmk: ... to here. New file.
16358
16359 * conf/common.mk: New file.
16360
16f820c8 163612005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
16362
16363 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
16364 (grub_script.tab.c): ... here.
16365
16366 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
16367 (grub_script.tab.c): ... here.
16368
16369 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
16370 (grub_script.tab.c): ... here.
16371
16372 * normal/command.c (grub_command_find): Fixed a memory leak of
16373 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
16374
63ba1554 163752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16376
16377 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
16378 "@" which marks the start of a comment on ARM.
16379 (VARIABLE): Likewise.
16380
7f67dc13 163812005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16382
79bbb63f 16383 Add support for Linux/ADFS partition tables.
7f67dc13 16384
16385 * partmap/acorn.c: New file.
16386
16387 * include/grub/acorn_filecore.h: Likewise.
16388
16389 * DISTLIST: Added `partmap/acorn.c' and
16390 `include/grub/acorn_filecore.h'.
f19dbdb7 16391
7f67dc13 16392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16393 `partmap/acorn.c'.
16394 (pkgdata_MODULES): Add `acorn.mod'.
16395 (acorn_mod_SOURCES): New variable.
16396 (acorn_mod_CFLAGS): Likewise.
16397
16398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16399 `partmap/acorn.c'.
16400 (pkgdata_MODULES): Add `acorn.mod'.
16401 (acorn_mod_SOURCES): New variable.
16402 (acorn_mod_CFLAGS): Likewise.
16403
16404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
16405 (pkgdata_MODULES): Add `acorn.mod'.
16406 (acorn_mod_SOURCES): New variable.
16407 (acorn_mod_CFLAGS): Likewise.
16408 (acorn_mod_LDFLAGS): Likewise.
16409
16410 * include/types.h (grub_disk_addr_t): New typedef.
16411
6d099807 164122005-11-13 Marco Gerards <mgerards@xs4all.nl>
16413
16414 * geninit.sh: New file.
16415
16416 * geninitheader.sh: Likewise.
16417
16418 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
16419 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
16420 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
16421 * commands/configfile.c (grub_configfile_init)
16422 (grub_configfile_fini): Likewise.
16423 * commands/default.c (grub_default_init, grub_default_fini):
16424 Likewise.
16425 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
16426 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
16427 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
16428 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
16429 Likewise.
16430 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
16431 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
16432 Likewise.
16433 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 16434 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 16435 Likewise.
16436 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
16437 Likewise.
fe6b695a 16438 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 16439 Likewise.
16440 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
16441 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
16442 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
16443 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
16444 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
16445 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
16446 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
16447 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
16448 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
16449 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
16450 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
16451 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
16452 * partmap/amiga.c (grub_amiga_partition_map_init)
16453 (grub_amiga_partition_map_fini): Likewise.
16454 * partmap/apple.c (grub_apple_partition_map_init)
16455 (grub_apple_partition_map_fini): Likewise.
16456 * partmap/pc.c (grub_pc_partition_map_init)
16457 (grub_pc_partition_map_fini): Likewise.
16458 * partmap/sun.c (grub_sun_partition_map_init,
16459 grub_sun_partition_map_fini): Likewise.
16460 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
16461 Likewise.
16462
16463 * util/grub-emu.c: Include <grub_modules_init.h>.
16464 (main): Don't initialize and de-initialize any modules directly,
16465 use `grub_init_all' and `grub_fini_all' instead.
16466
16467 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
16468 `grub_vesafb_mod_init'.
16469 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
16470 all users.
16471 * term/i386/pc/vga.c (grub_vga_init): Renamed to
16472 `grub_vga_mod_init'. Updated all users.
16473 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 16474
6d099807 16475 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
16476 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
16477 rules.
16478
16479 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
16480 Generate a function to initialize the module in utilities.
16481 Updated all callers.
16482 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
16483 initialize the module in utilities. Updated all callers.
16484
9046bcf0 164852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16486
16487 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
16488 escape sequence and a literal ^L to clear the screen.
16489
16490 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
16491 when returning from Open Firmware.
16492
d13ea639 164932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16494
16495 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
16496 (grub_ofconsole_height): Likewise.
16497 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
16498 manually insert a '\n'.
16499 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
16500 `grub_ofconsole_height'. Return early if these are already set.
16501
a8fcf206 165022005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
16503
16504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16505 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
16506 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
16507 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
16508 and `normal/script.c'.
16509 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16511 (test_mod_SOURCES): New variable.
16512 (test_mod_CFLAGS): Likewise.
16513 (test_mod_LDFLAGS): Likewise.
16514 (pkgdata_MODULES): Add `test.mod'.
16515 (grub_script.tab.c): New rule.
16516 (grub_script.tab.h): Likewise.
16517
b6b32745 165182005-11-07 Marco Gerards <mgerards@xs4all.nl>
16519
16520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16521 `commands/test.c', `normal/execute.c', `normal/lexer.c',
16522 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16523 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16524 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16525 (test_mod_SOURCES): New variable.
16526 (test_mod_CFLAGS): Likewise.
16527 (pkgdata_MODULES): Add `test.mod'.
16528 (grub_script.tab.c): New rule.
16529 (grub_script.tab.h): Likewise.
16530
daac212a 165312005-11-06 Marco Gerards <mgerards@xs4all.nl>
16532
16533 Add initial scripting support.
16534
16535 * commands/test.c: New file.
16536 * include/grub/script.h: Likewise.
16537 * normal/execute.c: Likewise.
16538 * normal/function.c: Likewise.
16539 * normal/lexer.c: Likewise.
16540 * normal/parser.y: Likewise.
16541 * normal/script.c: Likewise.
16542
16543 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 16544
daac212a 16545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
16546 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
16547 `normal/function.c' and `normal/script.c'.
16548 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16549 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 16550 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
16551 variables.
daac212a 16552 (pkgdata_MODULES): Add `test.mod'.
16553 (grub_script.tab.c): New rule.
16554 (grub_script.tab.h): Likewise.
16555
16556 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
16557
16558 * include/grub/normal.h (grub_test_init): New prototype.
16559 (grub_test_fini): Likewise.
f19dbdb7 16560
daac212a 16561 * normal/command.c: Include <grub/script.h>.
16562 (grub_command_execute): Rewritten.
f19dbdb7 16563
daac212a 16564 * util/grub-emu.c (main): Call `grub_test_init' and
16565 `grub_test_fini'.
16566
77500b2b 165672005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16568
16569 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
16570 to 0.
16571 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
16572 there are no pending characters.
16573
e45deb9e 165742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16575
16576 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
16577 `grub_strndup' to drop device arguments. Replace unnecessary
16578 `grub_strndup' with `grub_strdup'.
16579
4ce32619 165802005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16581
16582 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
16583 `debug' environment variable has been set.
16584
165852005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 16586
4ce32619 16587 * Makefile.in (install-local): Use $(DATA).
16588 (uninstall): Likewise.
16589 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
16590 (sbin_UTILITIES): ... to here.
16591 (sbin_SCRIPTS): New variable.
16592 (grub_install_SOURCES): New variable.
16593 * util/powerpc/ieee1275/grub-install.in: New file.
16594 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
16595 variable.
16596 (add_segments): Call `grub_util_get_path'.
16597
25fe6f03 165982005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16599
16600 From Timothy Baldwin:
16601 * commands/ls.c (grub_ls_list_files): Close FILE with
16602 grub_file_close.
16603 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
16604
04ccf3ec 166052005-10-24 Marco Gerards <mgerards@xs4all.nl>
16606
16607 * include/grub/parser.h: New file.
16608
16609 * kern/parser.c: Likewise.
16610
16611 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
16612 (grub_setup_SOURCES): Likewise.
16613 (grub_probefs_SOURCES): Likewise.
16614 (grub_emu_SOURCES): Likewise.
16615 (kernel_img_HEADERS): Add `parser.h'.
16616
16617 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16618 (grub_emu_SOURCES): Add `kern/parser.c'.
16619 (grubof_SOURCES): Likewise.
16620
16621 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16622 (grubof_SOURCES): Add `kern/parser.c'.
16623
16624 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
16625
16626 * kern/misc.c (grub_split_cmdline): Removed function.
16627
16628 * kern/rescue.c: Include <grub/parser.h>.
16629 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
16630 of `grub_split_cmdline'.
16631
16632 * normal/command.c: Include <grub/parser.h>.
16633 (grub_command_execute): Use `grub_parser_split_cmdline' instead
16634 of `grub_split_cmdline'.
16635
16636 * normal/completion.c: Include <grub/parser.h>.
16637 (cmdline_state): New variable.
16638 (iterate_dir): End the filename with a quote depending on the
16639 command line state.
16640 (get_state): new function.
16641 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
16642 split the arguments and determine the current argument. When the
16643 argument string is not quoted, escape all spaces.
16644
6d8f4b0e 166452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16646
16647 * normal/sparc64/setjmp.S: New file.
16648
15cf03ed 166492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16650
16651 * include/grub/sparc64/libgcc.h: New file.
16652 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
16653 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
16654 normal/sparc64/setjmp.c.
16655
03e8661a 166562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16657
16658 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
16659 * kern/sparc64/cache.S: New file.
16660 * kern/sparc64/cache.c: Removed.
16661 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
16662 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
16663 -mtune=ultrasparc.
16664 (COMMON_LDFLAGS): Add -melf64_sparc.
16665 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
16666 (grubof_SOURCES): Use cache.S instead of cache.c.
16667 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
16668 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
16669 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
16670 commented though.
16671 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
16672 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
16673 (linux_mod_CFLAGS): Commented out.
16674 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
16675 out because module isn't built.
16676 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
16677 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
16678 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
16679 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
16680 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
16681 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16682 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16683 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
16684 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
16685 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
16686 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16687 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16688 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
16689 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
16690
34eeec8a 166912005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
16692
16693 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
16694 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
16695 longer, because HFS should not be used on PC.
16696
708367a3 166972005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16698
16699 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
16700 consistently within the loop.
16701
6fa1251a 167022005-10-15 Marco Gerards <mgerards@xs4all.nl>
16703
16704 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
16705 directory can not be read.
16706
4801580b 167072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16708
16709 * configure.ac (AC_INIT): Increase the version number to 1.91.
16710
16711 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
16712 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
16713 term/i386/pc/serial.c.
16714
219ad426 167152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16716
16717 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
16718 file size must be permitted.
16719
16720 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
16721 between %ah and %al.
16722
688e5699 167232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16724
16725 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
16726 grub_uint64_t.
16727 Call the hook with a NUL-terminated filename.
16728 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
16729 grub_cpu_to_be32.
16730
16731 * kern/term.c (cursor_state): New variable.
16732 (grub_term_set_current): Reset the cursor state on a new
16733 terminal.
16734 (grub_setcursor): Rewritten to use CURSOR_STATE.
16735 (grub_getcursor): New function.
16736
16737 * include/grub/term.h (grub_getcursor): New prototype.
16738
16739 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
16740 integers on ARM. Reported by Timothy Baldwin
16741 <T.E.Baldwin99@members.leeds.ac.uk>.
16742
bb34586c 167432005-10-11 Marco Gerards <mgerards@xs4all.nl>
16744
16745 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
16746 allocated.
16747 (grub_sfs_dir): Likewise.
16748
9a909877 167492005-10-09 Marco Gerards <mgerards@xs4all.nl>
16750
16751 Add support for the SFS filesystem.
16752
16753 * fs/sfs.c: New file.
16754
16755 * DISTLIST: Added `fs/sfs.c'.
16756
16757 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
16758 (grub_probefs_SOURCES): Likewise.
16759 (grub_emu_SOURCES): Likewise.
16760 (pkgdata_MODULES): Add `sfs.mod'.
16761 (sfs_mod_SOURCES): New variable.
16762 (sfs_mod_CFLAGS): Likewise.
16763 (sfs_mod_LDFLAGS): Likewise.
16764
16765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
16766 (pkgdata_MODULES): Add `sfs.mod'.
16767 (sfs_mod_SOURCES): New variable.
16768 (sfs_mod_CFLAGS): Likewise.
16769
16770 * util/grub-emu.c (main): Call `grub_sfs_init' and
16771 `grub_sfs_fini'.
16772
16773 * include/grub/fs.h (grub_sfs_init): New prototype.
16774 (grub_sfs_fini): Likewise.
16775
57bdbde3 167762005-10-07 Marco Gerards <mgerards@xs4all.nl>
16777
16778 Add support for the AFFS filesystem.
16779
16780 * fs/affs.c: New file.
16781
16782 * DISTLIST: Added `fs/affs.c'.
16783
16784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
16785 (grub_probefs_SOURCES): Likewise.
16786 (grub_emu_SOURCES): Likewise.
16787 (pkgdata_MODULES): Add `affs.mod'.
16788 (affs_mod_SOURCES): New variable.
16789 (affs_mod_CFLAGS): Likewise.
16790 (affs_mod_LDFLAGS): Likewise.
16791
16792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
16793 (pkgdata_MODULES): Add `affs.mod'.
16794 (affs_mod_SOURCES): New variable.
16795 (affs_mod_CFLAGS): Likewise.
16796
16797 * util/grub-emu.c (main): Call `grub_affs_init' and
16798 `grub_affs_fini'.
16799
16800 * include/grub/fs.h (grub_affs_init): New prototype.
16801 (grub_affs_fini): Likewise.
16802
047b67e0 168032005-10-01 Marco Gerards <mgerards@xs4all.nl>
16804
16805 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
16806
59b8208a 168072005-10-01 Marco Gerards <mgerards@xs4all.nl>
16808
16809 * configure.ac: Accept `x86_64' as host_cpu. In that case add
16810 `-m32' to CFLAGS.
16811
16812 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
16813 linking.
f19dbdb7 16814
59b8208a 16815 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
16816 (COMMON_LDFLAGS): New variable.
16817 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
16818 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
16819 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
16820 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
16821 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
16822 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
16823 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
16824 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
16825 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
16826 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
16827 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16828 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16829 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
16830 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
16831 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
16832 variables.
16833 (normal_mod_ASFLAGS): Add `-m32'.
16834
16835 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
16836 (grub_host_size_t, grub_host_ssize_t): New types.
16837 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 16838 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 16839 `GRUB_HOST_SIZEOF_VOID_P'.
16840
16841 * include/grub/kernel.h (struct grub_module_header): Type of
16842 member offset changed to `grub_host_off_t'. Type of member size
16843 changed to `grub_host_size_t'.
16844 (struct grub_module_info): Type of member offset changed to
16845 `grub_host_off_t'. Type of member size changed to
16846 `grub_host_size_t'.
16847
b4093103 168482005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
16849
16850 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 16851
b4093103 16852 * kern/i386/pc/startup.S (multiboot_header): New label.
16853 (multiboot_entry): Likewise.
16854 (multiboot_trampoline): Likewise.
16855
16856 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16857 Increased to 0x4A0.
16858
16859 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
16860 put parentheses after a question mark.
16861 [!GRUB_UTIL] (my_mod): New variable.
16862
16863 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
16864
b2499b29 168652005-09-28 Marco Gerards <mgerards@xs4all.nl>
16866
16867 Adds support for the XFS filesystem. Btrees are not supported
16868 yet.
16869
16870 * fs/xfs.c: New file.
16871
16872 * DISTLIST: Added `fs/xfs.c'.
16873
16874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
16875 (grub_probefs_SOURCES): Likewise.
16876 (grub_emu_SOURCES): Likewise.
16877 (pkgdata_MODULES): Add `xfs.mod'.
16878 (xfs_mod_SOURCES): New variable.
16879 (xfs_mod_CFLAGS): Likewise.
16880
16881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
16882 (pkgdata_MODULES): Add `xfs.mod'.
16883 (xfs_mod_SOURCES): New variable.
16884 (xfs_mod_CFLAGS): Likewise.
16885
16886 * util/grub-emu.c (main): Call `grub_xfs_init' and
16887 `grub_xfs_fini'.
16888
16889 * include/grub/fs.h (grub_xfs_init): New prototype.
16890 (grub_xfs_fini): Likewise.
16891
f19dbdb7 16892
83d37a62 168932005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
16894
16895 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
16896 color modes, allow greater than 16 colors to be configured as
16897 a default palette.
16898
47d2d65e 168992005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16900
16901 * normal/completion.c (complete_arguments): Add the qualifier
16902 const into OPTIONS.
16903
16904 From Omniflux <omniflux+lists@omniflux.com>:
16905 * include/grub/terminfo.h: New file.
16906 * include/grub/tparm.h: Likewise.
16907 * include/grub/i386/pc/serial.h: Likewise.
16908 * term/terminfo.c: Likewise.
16909 * term/tparm.c: Likewise.
16910 * term/i386/pc/serial.c: Likewise.
16911 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
16912 serial.mod.
16913 (terminfo_mod_SOURCES): New variable.
16914 (terminfo_mod_CFLAGS): Likewise.
16915 (serial_mod_SOURCES): Likewise.
16916 (serial_mod_CFLAGS): Likewise.
16917
48b671ff 169182005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
16919
16920 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
16921 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
16922 and kern/powerpc/ieee1275/cmain.c, respectively.
16923
16924 * boot/powerpc/ieee1275/crt0.S: Moved to ...
16925 * kern/powerpc/ieee1275/crt0.S: ... here.
16926
16927 * boot/powerpc/ieee1275/cmain.c: Moved to ...
16928 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 16929
48b671ff 16930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
16931 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
16932 instead of boot/powerpc/ieee1275/crt0.S and
16933 boot/powerpc/ieee1275/cmain.c, respectively.
16934
16935 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
16936 sectors. It was not used anyway.
16937
09fc77a7 169382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16939
16940 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
16941 `unused parameter' warning.
16942
003789c7 169432005-08-30 Hollis Blanchard <hollis@penguinppc.org>
16944
16945 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
16946 function.
16947 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
16948 getcharwidth.
16949
67f44c86 169502005-08-28 Marco Gerards <metgerards@student.han.nl>
16951
16952 * include/grub/normal.h (enum grub_completion_type): Added
16953 `GRUB_COMPLETION_TYPE_ARGUMENT'.
16954
16955 * normal/cmdline.c (print_completion): Handle
16956 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
16957 * normal/menu_entry.c (store_completion): Likewise.
16958
16959 * normal/completion.c (complete_arguments): New function.
16960 (grub_normal_do_completion): Call `complete_arguments' when the
16961 current words start with a dash.
16962
0b5abe02 169632005-08-27 Marco Gerards <metgerards@student.han.nl>
16964
16965 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
16966 `gzio.mod' instead of `io.mod').
16967
d9864ee1 169682005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
16969
16970 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
16971 (DISTDIRS): Added io and video.
16972 Rewrite the search routine to make an output consistently.
16973
16974 * DISTLIST: Added conf/sparc64-ieee1275.mk,
16975 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
16976 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
16977 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
16978 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
16979 util/powerpc/ieee1275/misc.c.
f19dbdb7 16980
d9864ee1 16981 * include/grub/gzio.h: New file.
16982 * io/gzio.c: Likewise.
f19dbdb7 16983
d9864ee1 16984 * kern/file.c (grub_file_close): Call grub_device_close only if
16985 FILE->DEVICE is not NULL.
16986
16987 * include/grub/mm.h [!NULL] (NULL): New macro.
16988
16989 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
16990
16991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
16992 (pkgdata_MODULES): Added gzio.mod.
16993 (gzio_mod_SOURCES): New variable.
16994 (gzio_mod_CFLAGS): Likewise.
16995
16996 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
16997 (pkgdata_MODULES): Added gzio.mod.
16998 (gzio_mod_SOURCES): New variable.
16999 (gzio_mod_CFLAGS): Likewise.
17000
17001 * commands/cat.c: Include grub/gzio.h.
17002 (grub_cmd_cat): Use grub_gzfile_open instead of
17003 grub_file_open.
f19dbdb7 17004
d9864ee1 17005 * commands/cmp.c: Include grub/gzio.h.
17006 (grub_cmd_cmp): Use grub_gzfile_open instead of
17007 grub_file_open.
17008
17009 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17010 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17011 grub_file_open.
17012 (grub_rescue_cmd_module): Likewise.
17013
fa46f4b5 170142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17015
17016 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17017 kern/sparc64/ieee1275/init.c because it contains _start.
17018 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17019
e9211b5d 170202005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17021
17022 * configure.ac: Add support for sparc64 host with ieee1275
17023 firmware.
17024 * configure: Generated from configure.ac.
17025 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17026 instead of int.
17027 (grub_ofdisk_read): Likewise.
17028 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17029 pointers as (void *) to remove a warning.
17030 (grub_ofdisk_close): Likewise.
17031 (grub_ofdisk_read): Likewise.
17032 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17033 returns, so make it return void to remove a warning.
17034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17035 Corresponding prototype change.
17036 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17037 values, and cast the pointers as (void *) to remove a warning.
17038 (grub_mm_dump): Likewise.
17039 * conf/sparc64-ieee1275.mk: New file.
17040 * conf/sparc64-ieee1275.rmk: Likewise.
17041 * include/grub/sparc64/setjmp.h: Likewise.
17042 * include/grub/sparc64/types.h: Likewise.
17043 * include/grub/sparc64/ieee1275/console.h: Likewise.
17044 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17045 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17046 * include/grub/sparc64/ieee1275/time.h: Likewise.
17047 * kern/sparc64/cache.c: Likewise.
17048 * kern/sparc64/dl.c: Likewise.
17049 * kern/sparc64/ieee1275/init.c: Likewise.
17050 * kern/sparc64/ieee1275/openfw.c: Likewise.
17051
385c6a92 170522005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17053
17054 * util/console.c (grub_ncurses_putchar): If C is greater than
17055 0x7f, set C to a question mark.
17056 (grub_ncurses_getcharwidth): New function.
17057 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17058 getcharwidth.
17059
17060 * normal/menu.c (print_entry): Made aware of Unicode. First,
17061 convert TITLE to UCS-4, and predict the cursor position by
17062 grub_getcharwidth.
17063
17064 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17065 const to SRC.
17066 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17067
16ccb8b1 170682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17069
17070 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17071 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17072 grub_strcat.
17073
17074 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17075 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17076 grub_strcpy and grub_strlen. Take it into account that a space
17077 character is inserted as a delimiter.
17078
6a85ce79 170792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17080
17081 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 17082 invalid magic in the error.
6a85ce79 17083
17084 * commands/search.c: New file.
f19dbdb7 17085
6a85ce79 17086 * util/grub-emu.c (main): Call grub_search_init and
17087 grub_search_fini.
17088
17089 * kern/rescue.c (grub_rescue_print_disks): Removed.
17090 (grub_rescue_print_devices): New function.
17091 (grub_rescue_cmd_ls): Use grub_device_iterate with
17092 grub_rescue_print_devices instead of grub_disk_dev_iterate with
17093 grub_rescue_print_disks.
17094
17095 * kern/partition.c (grub_partition_iterate): Return the result of
17096 PARTMAP->ITERATE instead of GRUB_ERRNO.
17097
17098 * kern/device.c: Include grub/partition.h.
17099 (grub_device_iterate): New function.
17100
17101 * include/grub/partition.h (grub_partition_iterate): Return int
17102 instead of grub_err_t.
17103
17104 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
17105 prototype.
17106 [GRUB_UTIL] (grub_search_fini): Likewise.
17107
17108 * include/grub/device.h (grub_device_iterate): New prototype.
17109
17110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17111 commands/search.c.
17112 (pkgdata_MODULES): Added search.mod.
17113 (search_mod_SOURCES): New variable.
17114 (search_mod_CFLAGS): Likewise.
17115
17116 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
17117 (pkgdata_MODULES): Added search.mod.
17118 (search_mod_SOURCES): New variable.
17119 (search_mod_CFLAGS): Likewise.
17120
17121 * commands/ls.c (grub_ls_list_disks): Renamed to ...
17122 (grub_ls_list_devices): ... this, and use grub_device_iterate.
17123 All callers changed.
17124
17125 * DISTLIST: Added commands/search.c.
17126
ef095434 171272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17128
17129 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
17130 conversion.
17131 (grub_getcharwidth): New function.
17132
17133 * kern/misc.c (grub_utf8_to_ucs4): New function.
17134
17135 * include/grub/term.h (struct grub_term): Added a new member
17136 "getcharwidth".
17137 (grub_getcharwidth): New prototype.
17138
17139 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
17140
17141 * term/i386/pc/console.c (map_char): New function. Segregated from
17142 grub_console_putchar.
17143 (grub_console_putchar): Use map_char.
17144 (grub_console_getcharwidth): New function.
17145 (grub_console_term): Specified grub_console_getcharwidth as
17146 getcharwidth.
17147
17148 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
17149 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
17150
17151 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
17152 GRUB_ERRNO.
17153 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
17154 on grub_strtoul completely.
17155 (write_char): Declare local variables in the beginning of the
17156 function.
17157 (grub_vesafb_getcharwidth): New function.
17158 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
17159 getcharwidth.
17160
1f0a95e4 171612005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
17162
17163 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
17164 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
17165 commands/i386/pc/vbetest.c.
17166
17167 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
17168 call grub_vbe_get_controller_info again, because the returned
17169 information is volatile.
17170 (grub_vbe_set_video_mode): Mostly rewritten.
17171 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
17172 grub_vbe_status_t correctly.
17173 (grub_vbe_get_video_mode_info): Likewise.
17174 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
17175 several if statements.
17176
17177 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
17178 * commands/i386/pc/vbeinfo.c: ... this.
17179
17180 * commands/i386/pc/vbe_test.c: Renamed to ...
17181 * commands/i386/pc/vbetest.c: ... this.
17182
17183 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
17184 ...
17185 (grub_cmd_vbeinfo): ... this. Save video modes before
17186 iterating. Skip a video mode, if it is not available, not enough
17187 information is given or it is monochrome. Show the memory
17188 model. Leave the interpretation of MODEVAR to grub_strtoul
17189 completely.
17190 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
17191 (GRUB_MOD_FINI): Likewise.
17192
17193 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
17194 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
17195 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
17196 duplicated grub_env_get. Leave the interpretation of MODEVAR to
17197 grub_strtoul completely.
17198 (real2pm): Removed.
17199 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
17200 (GRUB_MOD_FINI): Likewise.
17201
17202 * normal/misc.c: Include grub/mm.h.
17203
17204 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
17205 vbe_list_modes with vbetest.mod and vbeinfo.mod.
17206 (vbe_list_modes_mod_SOURCES): Removed.
17207 (vbe_list_modes_mod_CFLAGS): Likewise.
17208 (vbe_test_mod_SOURCES): Likewise.
17209 (vbe_test_mod_CFLAGS): Likewise.
17210 (vbeinfo_mod_SOURCES): New variable.
17211 (vbeinfo_mod_CFLAGS): Likewise.
17212 (vbetest_mod_SOURCES): Likewise.
17213 (vbetest_mod_CFLAGS): Likewise.
17214
992ffbbe 172152005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
17216
17217 * normal/misc.c: New file.
17218
17219 * DISTLIST: Added normal/misc.c.
f19dbdb7 17220
992ffbbe 17221 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
17222 DISK to HOOK. Call HOOK with DISK.
17223 * partmap/apple.c (apple_partition_map_iterate): Likewise.
17224 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17225 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17226
17227 * normal/menu_entry.c (struct screen): Added a new member
17228 "completion_shown".
17229 (completion_buffer): New global variable.
17230 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
17231 (store_completion): New function.
17232 (complete): Likewise.
17233 (clear_completions): Likewise.
17234 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
17235 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
17236 a tab, call complete.
17237
17238 * normal/completion.c (disk_dev): Removed.
17239 (print_simple_completion): Likewise.
17240 (print_partition_completion): Likewise.
17241 (print_func): New global variable.
17242 (add_completion): Do not take the arguments WHAT or PRINT any
17243 longer. Added a new argument TYPE. Instead of printing directly,
17244 call PRINT_FUNC if not NULL.
17245 All callers changed.
17246 (complete_device): Use a local variable DEV instead of
17247 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
17248 (grub_normal_do_completion): Take a new argument HOOK. Do not
17249 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
17250 empty string, return NULL instead.
17251 All callers changed.
17252
17253 * normal/cmdline.c (print_completion): New function.
17254
17255 * kern/partition.c (grub_partition_iterate): Add an argument DISK
17256 to HOOK.
17257 All callers changed.
17258
17259 * kern/disk.c (grub_print_partinfo): Removed.
17260
17261 * include/grub/partition.h (struct grub_partition_map): Add a new
17262 argument DISK into HOOK of ITERATE.
17263 (grub_partition_iterate): Add a new argument DISK to HOOK.
17264
17265 * include/grub/normal.h (enum grub_completion_type): New enum.
17266 (grub_completion_type_t): New type.
17267 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
17268 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
17269 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
17270 (GRUB_COMPLETION_TYPE_FILE): Likewise.
17271 (grub_normal_do_completion): Added a new argument HOOK.
17272 (grub_normal_print_device_info): New prototype.
17273
17274 * include/grub/disk.h (grub_print_partinfo): Removed.
17275
17276 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
17277 (normal_mod_SOURCES): Likewise.
17278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17279 (normal_mod_SOURCES): Likewise.
17280
17281 * commands/ls.c (grub_ls_list_disks): Use
17282 grub_normal_print_device_info instead of grub_print_partinfo. Free
17283 PNAME.
17284 (grub_ls_list_files): Use grub_normal_print_device_info instead of
17285 duplicating the code.
17286
0bd41162 172872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17288
17289 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 17290 follow GCS more precisely.
17291 * commands/i386/pc/vbe_test.c: Likewise.
17292 * include/grub/i386/pc/vbe.h: Likewise.
17293 * term/i386/pc/vesafb.c: Likewise.
17294 * video/i386/pc/vbe.c: Likewise.
0bd41162 17295
6323696a 172962005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17297
17298 * DISTLIST: Added term/i386/pc/vesafb.c
17299 DISTLIST: Added video/i386/pc/vbe.c
17300 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
17301 DISTLIST: Added commands/i386/pc/vbe_test.c.
17302 * commands/i386/pc/vbe_list_modes.c: New file.
17303 * commands/i386/pc/vbe_test.c: Likewise.
17304 * term/i386/pc/vesafb.c: Likewise.
17305 * video/i386/pc/vbe.c: Likewise.
17306 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
17307 (grub_vbe_probe) Added prototype.
17308 (grub_vbe_set_video_mode) Likewise.
17309 (grub_vbe_get_video_mode) Likewise.
17310 (grub_vbe_get_video_mode_info) Likewise.
17311 (grub_vbe_set_pixel_rgb) Likewise.
17312 (grub_vbe_set_pixel_index) Likewise.
17313 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
17314 (pkgdata_MODULES): Added vesafb.mod.
17315 (pkgdata_MODULES): Added vbe_list_modes.mod.
17316 (pkgdata_MODULES): Added vbe_test.mod.
17317 (vbe_mod_SOURCES): Added.
17318 (vbe_mod_CFLAGS): Likewise.
17319 (vesafb_mod_SOURCES): Likewise.
17320 (vesafb_mod_CFLAGS): Likewise.
17321 (vbe_list_modes_mod_SOURCES): Likewise.
17322 (vbe_list_modes_mod_CFLAGS): Likewise.
17323 (vbe_test_mod_SOURCES): Likewise.
17324 (vbe_test_mod_CFLAGS): Likewise.
17325
0a74e62f 173262005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
17327
0a74e62f 17328 * normal/command.c (grub_command_execute): If INTERACTIVE is
17329 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
17330 CMDLINE. Disable the pager if INTERACTIVE is true.
17331 All callers are changed.
17332
17333 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
17334 before reading a config file.
17335 * normal/main.c (read_config_file): Even if a command is not
17336 found, register it if it is within an entry.
17337
17338 * util/grub-emu.c: Include sys/types.h and unistd.h.
17339 (options): Added --hold.
17340 (struct arguments): Added a new member "hold".
17341 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
17342 missing.
17343 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
17344 cleared by a debugger, if it is not zero.
17345
17346 * include/grub/normal.h (grub_command_execute): Add an argument
17347 INTERACTIVE.
17348
e51f85ae 173492005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
17350
17351 * DISTLIST: Added include/grub/i386/pc/vbe.h.
17352
e9c6f39b 173532005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
17354
17355 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
17356 program with another one, because the old one didn't detect a bug
17357 in gcc-3.4. Always use regparm 2, because the new test is still
17358 not enough for gcc-4.0. Someone must investigate a simple test
17359 case which detects a bug in gcc-4.0.
17360
8de3495c 173612005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
17362
17363 * DISTLIST: Added normal/completion.c.
17364
17365 * normal/completion.c: New file.
f19dbdb7 17366
8de3495c 17367 * term/i386/pc/console.c (grub_console_getwh): New function.
17368 (grub_console_term): Assign grub_console_getwh to getwh.
17369
17370 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
17371 function is defined in normal/completion.c as
17372 grub_normal_do_completion.
17373 (grub_cmdline_get): Use grub_normal_do_completion instead of
17374 grub_tab_complete.
17375
17376 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
17377 returns non-zero, otherwise return 0.
17378 (grub_partition_iterate): First, probe the partition map. Then,
17379 call ITERATE only for this partition map.
17380
17381 * kern/misc.c (grub_strncmp): Rewritten.
17382
17383 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
17384 returns non-zero. Otherwise return 0.
17385
17386 * include/grub/partition.h (grub_partition_map_iterate): Return
17387 int instead of void.
17388
17389 * include/grub/normal.h (grub_normal_do_completion): New prototype.
17390
17391 * include/grub/misc.h (grub_strncmp): Change the type of N to
17392 grub_size_t.
17393
17394 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
17395 of void.
17396
17397 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 17398 unsigned explicitly before comparing it with I.
8de3495c 17399
17400 * kern/main.c (grub_env_write_root): Add the attribute unused into
17401 VAR.
17402
17403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17404 normal/completion.c.
17405 (normal_mod_SOURCES): Likewise.
17406 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17407 (normal_mod_SOURCES): Likewise.
17408
17409 * normal/command.c (grub_iterate_commands): If ITERATE returns
17410 non-zero, return one immediately.
17411
e85e144b 174122005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
17413
17414 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
17415 * kern/i386/pc/startup.S: Updated Global Descriptor table's
17416 descriptions.
17417 (grub_vbe_get_controller_info): New function.
17418 (grub_vbe_get_mode_info): Likewise.
17419 (grub_vbe_set_mode): Likewise.
17420 (grub_vbe_get_mode): Likewise.
17421 (grub_vbe_set_memory_window): Likewise.
17422 (grub_vbe_get_memory_window): Likewise.
17423 (grub_vbe_set_scanline_length): Likewise.
17424 (grub_vbe_get_scanline_length): Likewise.
17425 (grub_vbe_set_display_start): Likewise.
17426 (grub_vbe_get_display_start): Likewise.
17427 (grub_vbe_set_palette_data): Likewise.
17428 * include/grub/i386/pc/vbe.h: New file.
17429
c46153d2 174302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17431
17432 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17433 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
17434 * DISTLIST: Likewise.
17435 * kern/ieee1275/of.c: Moved to ...
17436 * kern/ieee1275/ieee1275.c: ... here.
17437
0cb90c45 174382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17439
17440 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
17441 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
17442 Pass 0 as `end' parameter to grub_strtoul().
17443
a19fb360 174442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17445
17446 * include/grub/powerpc/ieee1275/console.h: Do not include
17447 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
17448 ifdef.
17449 (grub_console_cur_color): Remove i386-specific prototype.
17450 (grub_console_real_putchar): Likewise.
17451 (grub_console_checkkey): Likewise.
17452 (grub_console_getkey): Likewise.
17453 (grub_console_getxy): Likewise.
17454 (grub_console_gotoxy): Likewise.
17455 (grub_console_cls): Likewise.
17456 (grub_console_setcursor): Likewise.
17457 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
17458 Include <grub/machine/console.h>.
17459 * term/ieee1275/ofconsole.c: Likewise.
17460
4ac9bd04 174612005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
17462
17463 * Makefile.in (LIBLZO): New variable.
17464
17465 * configure.ac: Check for LZO version 2.
17466
17467 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
17468 lzo/lzo1x.h instead of lzo1x.h.
17469
17470 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
17471 of -llzo.
17472
17473 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
17474 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
17475
17476 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
17477 copying the data from PARTITION to P.
17478
f4917dfd 174792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17480
17481 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
17482 negative, unload the module.
17483
17484 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
17485 map is "pc_partition_map" but not "pc".
17486 (usage): Fix the description. The options are --boot-image and
17487 --core-image but not --boot-file or --core-file.
17488 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
17489 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
17490 DEFAULT_DIRECTORY.
17491
17492 * util/i386/pc/grub-install.in: Do not specify --boot-file or
17493 --core-file. Specify INSTALL_DEVICE as an argument.
17494
17495 * util/console.c: Include config.h.
17496 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
17497 [HAVE_NCURSES_H]: Include ncurses.h.
17498 [HAVE_CURSES_H]: Include curses.h.
17499 [!A_NORMAL] (A_NORMAL): Defined as zero.
17500 [!A_STANDOUT] (A_STANDOUT): Likewise.
17501
17502 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
17503 -lncurses.
17504 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
17505
17506 * configure.ac: Check for curses libraries and headers.
17507
17508 * Makefile.in (LIBCURSES): New variable.
17509
17510 * genmk.rb (Script::rule): Set the executable bits.
17511
17512 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
17513 name of the PC partition map is "pc_partition_map" but not "pc".
17514
0e143073 175152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17516
17517 * util/i386/pc/grub-install.in (grub_probefs): New variable.
17518 (modules): Likewise.
17519 (usage): Added descriptions for --modules and --grub-probefs.
17520 Handle --modules and --grub-probefs. Save the arguments in MODULES
17521 and GRUB_PROBEFS, respectively.
17522 Auto-detect a filesystem module against GRUBDIR. If the result is
17523 empty and modules are not specified explicitly, abort the
17524 installation. Add the result to MODULES.
17525
17526 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
17527 disk/powerpc/ieee1275/ofdisk.c,
17528 include/grub/powerpc/ieee1275/init.h and
17529 term/powerpc/ieee1275/ofconsole.c.
17530 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
17531 term/ieee1275/ofconsole.c.
17532
17533 * include/grub/powerpc/ieee1275/console.h: Resurrected.
17534
17535 * COPYING: Upgraded to the latest version. Only the address of the
17536 FSF office has changed.
f19dbdb7 17537
efd6e6d5 175382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17539
17540 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17541 kern/ieee1275.c with kern/ieee1275/of.c.
17542
17543 * kern/ieee1275.c: Moved to ...
17544 * kern/ieee1275/of.c: ... here.
17545
8ceafda2 175462005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
17547
17548 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 17549 readability.
8ceafda2 17550
17551 * config.guess: Updated to the latest version from gnulib.
17552 * config.sub: Likewise.
17553 * install.sh: Likewise.
17554 * mkinstalldirs: Likewise.
17555
17556 * include/grub/console.h: Removed. This file is arch-specific. Do
17557 not put this in include/grub.
17558
17559 * include/grub/i386/pc/console.h: Resurrected.
17560
17561 * util/console.c: Include grub/machine/console.h instead of
17562 grub/console.h.
17563 * util/grub-emu.c: Likewise.
17564
267f6cd9 175652005-08-04 Marco Gerards <metgerards@student.han.nl>
17566
17567 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
17568 hardcoded value.
f19dbdb7 17569
267f6cd9 17570 From Vincent Pelletier <subdino2004@yahoo.fr>
17571 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
17572 Redefined to use grub_getwh.
17573 (grub_term): New member named getwh.
17574 (grub_getwh): New prototype.
17575 * kern/term.c (grub_getwh): New function.
17576 * term/i386/pc/console.c (grub_console_getwh): New function.
17577 (grub_console_term): New member `getwh'.
17578 * term/i386/pc/vga.c (grub_vga_getwh): New function.
17579 (grub_vga_term): New member `getwh'.
0b5abe02 17580 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 17581 grub_ssize_t.
17582 (grub_ofconsole_getw): New function.
17583 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
17584 (grub_ofconsole_term): New field named getwh and new initial
17585 value.
17586
3be7266d 175872005-08-03 Hollis Blanchard <hollis@penguinppc.org>
17588
17589 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
17590 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
17591 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
17592 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
17593 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
17594 of <grub/machine/ieee1275.h>.
17595 * commands/ieee1275/reboot.c: Likewise.
17596 * boot/powerpc/ieee1275/ieee1275.c: Move ...
17597 * kern/ieee1275.c: ... to here. All users updated. Change all
17598 parameter structs to use new type `grub_ieee1275_cell_t'.
17599 * term/powerpc/ieee1275/ofconsole.c: Move ...
17600 * term/ieee1275/ofconsole.c: ... to here. All users updated.
17601 * disk/powerpc/ieee1275/ofdisk.c: Move ...
17602 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
17603 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
17604 to return int.
17605 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
17606 Remove unused prototypes. All users updated.
17607 * include/grub/powerpc/ieee1275/console.h: Removed.
17608 * include/grub/powerpc/ieee1275/ieee1275.h: Define
17609 `grub_ieee1275_cell_t'.
17610 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
17611 Cast comparisons with -1 to the correct type.
17612 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
17613 type to match `grub_ieee1275_entry_fn'.
17614
8b5f3938 176152005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
17616
17617 * DISTLIST: Added util/i386/pc/grub-probefs.c.
17618
17619 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
17620 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
17621 partmap/sun.c.
17622 (grub_probefs_SOURCES): New variable.
17623
17624 * util/i386/pc/grub-probefs.c: New file.
17625
17626 * util/i386/pc/grub-setup.c (main): Call
17627 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
17628 grub_hfs_init and grub_jfs_init to initialize the system. Call
17629 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
17630 grub_pc_partition_map_fini to finish the system.
17631
ea409713 176322005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
17633
17634 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
17635 function.
17636 (grub_multiboot_load_elf32): Likewise.
17637 (grub_multiboot_is_elf64): Likewise.
17638 (grub_multiboot_load_elf64): Likewise.
17639 (grub_multiboot_load_elf): Likewise.
17640 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
17641 an ELF32 or ELF64 file.
17642 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
17643
17644 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
17645 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
17646 NULL before calling FS->LABEL.
17647 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
17648 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
17649 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
17650 before calling FS->LABEL.
17651
141a288b 176522005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
17653
17654 * util/i386/pc/grub-install.in (datadir): New variable.
17655 (libdir): Removed.
17656 (pkgdatadir): New variable.
17657 (pkglibdir): Removed.
17658
0d5f8a54 176592005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
17660
17661 * DISTLIST: Added util/i386/pc/grub-install.in.
17662
17663 * util/i386/pc/grub-install.in: New file.
17664
17665 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
17666 (grub_install_SOURCES): Likewise.
17667
17668 * genmk.rb: Added support for scripts.
17669 (Script): New class.
17670 (scripts): New variable.
17671
17672 * Makefile.in (install-local): Install sbin_SCRIPTS by
17673 INSTALL_SCRIPT.
17674 (uninstall): Remove sbin_SCRIPTS.
17675
17676 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
17677 device, try to get a GRUB device by
17678 grub_util_biosdisk_get_grub_dev.
17679 Free DEST_DEV.
17680
17681 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
17682 description for --device-map.
17683
5f968e1e 176842005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17685
17686 Change the semantics of variable hooks. They now return strings
17687 instead of error values.
f19dbdb7 17688
5f968e1e 17689 * util/i386/pc/grub-setup.c: Include grub/env.h.
17690 (setup): Use grub_device_set_root instead of grub_env_set.
17691
17692 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
17693 grub_env_get instead of grub_device_set_root and
17694 grub_device_get_root, respectively.
17695
17696 * kern/main.c (grub_env_write_root): New function.
17697 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
17698 grub_env_set instead of grub_device_set_root.
17699
17700 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
17701 many variables.
17702 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
17703 rather than calling ENV->WRITE_HOOK afterwards.
17704 (grub_env_get): Return the result of ENV->READ_HOOK rather than
17705 passing a pointer of a pointer.
17706 (grub_register_variable_hook): Change the types of "read_hook" and
17707 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
17708 respectively.
17709 Allocate the default empty string on the heap, because this string
17710 may be freed later.
17711
17712 * kern/device.c: Include grub/env.h.
17713 (grub_device_set_root): Removed.
17714 (grub_device_get_root): Likewise.
17715 (grub_device_open): Use grub_env_get instead of
17716 grub_device_get_root.
17717
17718 * include/grub/env.h (grub_env_read_hook_t): New type.
17719 (grub_env_write_hook_t): Likewise.
17720 (grub_env_var): Change the types of "read_hook" and "write_hook"
17721 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
17722 (grub_register_variable_hook): Likewise.
17723
17724 * include/grub/device.h (grub_device_set_root): Removed.
17725 (grub_device_set_root): Likewise.
17726
17727 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
17728 make sure that DIRNAME terminates with '/', so that
17729 grub_fat_find_dir will fail if PATH is not a directory.
17730
17731 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
17732 from DIRNAME.
17733 Use the qualifier auto for print_files and print_files_long.
17734 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
17735 as a regular file.
17736 Put a newline only if there is no error.
17737 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
17738 used.
17739
896f0afd 177402005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17741
17742 * kern/partition.c (grub_partition_probe): Initialize PART to
17743 NULL. Otherwise, when no partition map is registered, this returns
17744 a garbage.
17745
b28b81b2 177462005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
17747
17748 * partmap/apple.c (apple_partition_map_iterate): Check if POS
17749 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
17750 valid.
17751
5f3607e0 177522005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
17753
17754 * commands/ls.c (grub_ls_list_disks): Print the filesystem
17755 information on each device, if it does not have partitions. Print
17756 "Device" instead of "Disk", because this function is not specific
17757 to disk devices.
17758
17759 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
17760 static to ensure that it is put on the memory rather than a
17761 register.
17762
502c87e8 177632005-07-17 Yoshinori Okuji <okuji@enbug.org>
17764
17765 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
17766 (grub_cat_init): Likewise.
17767 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
17768 (options): Likewise.
17769 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17770 (grub_configfile_init): Likewise.
17771 * font/manager.c (GRUB_MOD_INIT): Likewise.
17772 * commands/help.c (GRUB_MOD_INIT): Likewise.
17773 (grub_help_init): Likewise.
17774 * normal/command.c (grub_command_init): Likewise.
17775 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
17776 * disk/loopback.c (grub_loop_init): Likewise.
17777 (GRUB_MOD_INIT): Likewise.
17778 * commands/ls.c (grub_ls_init): Likewise.
17779 (GRUB_MOD_INIT): Likewise.
17780 (options): Likewise.
17781 * commands/boot.c (grub_boot_init): Likewise.
17782 (GRUB_MOD_INIT): Likewise.
17783 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
17784 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
17785 (GRUB_MOD_INIT): Likewise.
17786 * commands/cmp.c (grub_cmp_init): Likewise.
17787 (GRUB_MOD_INIT): Likewise.
17788
17789 * normal/arg.c: Use <> instead of "" to include header files.
17790 (SHORT_ARG_HELP): New macro.
17791 (SHORT_ARG_USAGE): Likewise.
17792 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
17793 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
17794 descriptions.
17795 (find_short): Check if C is 'h' or 'u' explicitly.
17796 (grub_arg_show_help): Use space characters instead of tabs. Treat
17797 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
17798 are shown with --help and --usage only if they are not used for
17799 the command itself.
17800 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
17801 'h' and 'u'.
17802
17803 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
17804 const into "longarg". Change the type of "shortarg" to int.
17805
f806d18e 178062005-07-17 Yoshinori Okuji <okuji@enbug.org>
17807
17808 * boot/i386/pc/boot.S (boot_drive_check): New label.
17809
17810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
17811 macro.
17812
17813 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
17814 which do not pass a boot drive correctly. Copied from GRUB Legacy.
17815
e293232b 178162005-07-17 Yoshinori Okuji <okuji@enbug.org>
17817
17818 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
17819 When turning off Gate A20, skip the check and return immediately,
17820 because this is not fatal usually.
17821
ebedfd00 178222005-07-17 Yoshinori Okuji <okuji@enbug.org>
17823
17824 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
17825 be 0x7C00 instead of 0x8000.
17826
17827 * boot/i386/pc/pxeboot.S: Rewritten.
17828
17829 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
17830 EXT_C.
17831 (gate_a20_check_state): Read a byte from 0x108000. Invert the
17832 result.
17833
654fc59f 178342005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
17835
17836 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
17837 robustness. This routine now supports a BIOS call and System
17838 Control Port A to modify the gate A20.
17839
17840 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17841 Increased to 0x440.
17842
09f9923f 178432005-07-12 Hollis Blanchard <hollis@penguinppc.org>
17844
17845 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
17846 device path and resulting ihandle.
17847 (grub_ofdisk_close): dprintf the ihandle being closed.
17848 (grub_ofdisk_read): dprintf function parameters.
17849 * kern/mm.c (grub_mm_init_region): Likewise.
17850 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
17851 (grub_linux_boot): dprintf the Linux entry point, initrd address and
17852 size, and boot arguments.
17853 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
17854 before loading into memory.
17855 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
17856 before loading into memory.
17857
7ef504d8 178582005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
17859
17860 * kern/mm.c: Added much documentation.
17861 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
17862 8, set to 5 instead of 8.
17863
e0f050c2 178642005-07-10 Yoshinori Okuji <okuji@enbug.org>
17865
17866 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
17867
17868 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
17869 (grub_mkdevicemap_SOURCES): New variable.
17870
17871 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
17872 lib/device.c of GRUB Legacy.
17873
7224189a 178742005-07-10 Yoshinori Okuji <okuji@enbug.org>
17875
17876 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
17877 instead of PATH is NULL.
17878
68c864eb 178792005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
17880
17881 * commands/cmp.c (BUFFER_SIZE): New macro.
17882 (grub_cmd_cmp): Close the right file at the right time. Compare
17883 only data just read. Don't report files of different size as
17884 identical. Dynamically allocate buffers. Move variable
17885 declarations at the beginning of function.
17886
e6f3e614 178872005-07-09 Yoshinori Okuji <okuji@enbug.org>
17888
17889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
17890 reverse.
17891
f8f1559a 178922004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
17893
17894 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
17895 when backspace is pressed at beginning of line.
17896
39c9d41d 178972005-07-03 Yoshinori Okuji <okuji@enbug.org>
17898
17899 * DISTLIST: Added genfslist.sh.
17900
17901 * normal/main.c (fs_module_list): New variable.
17902 (autoload_fs_module): New function.
17903 (read_fs_list): Likewise.
17904 (grub_normal_execute): Call read_fs_list.
17905
17906 * kern/fs.c (grub_fs_autoload_hook): New variable.
17907 (grub_fs_probe): Added support for auto-loading.
17908
17909 * include/grub/normal.h (struct grub_fs_module_list): New struct.
17910 (grub_fs_module_list_t): New type.
17911
17912 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
17913 (grub_fs_autoload_hook): New prototype.
17914
17915 * genfslist.sh: New file.
f19dbdb7 17916
39c9d41d 17917 * genmk.rb: Added a rule to generate a filesystem list.
17918
121c1d83 179192005-06-30 Marco Gerards <metgerards@student.han.nl>
17920
17921 * configure.ac: Fix the test for cross-compiling.
17922
17923 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
17924 define GRUB_UTIL anymore.
17925
17926 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
17927 so this function works on other systems than just big endian.
17928 (load_modules): Likewise.
17929 (add_segments): Likewise.
17930
e75d76e1 179312005-06-23 Hollis Blanchard <hollis@penguinppc.org>
17932
17933 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
17934 contains `l' modifier, get a long from va_arg().
17935
50b5a0a7 179362005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
17937
17938 * kern/mm.c (grub_free): If the next free block which is being
17939 merged is the first free block, set the first block to the block
17940 being freed.
17941 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
17942
89371b20 179432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17944
17945 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
17946 `grub_ieee1275_chosen'.
17947
168d6e58 179482005-05-08 Hollis Blanchard <hollis@penguinppc.org>
17949
17950 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
17951 (grub_ieee1275_chosen): New variable.
17952 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
17953 `chosen'.
17954 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
17955 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
17956 Rename first argument to `phandle' for consistency.
17957 (grub_ieee1275_get_property_length): Likewise.
17958 (grub_ieee1275_next_property): Likewise. Change type of first argument
17959 to grub_ieee1275_phandle_t.
17960 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
17961 Move export next to declaration.
17962 (grub_ieee1275_chosen): New variable.
17963 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
17964 Correct cosmetic typo.
17965 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
17966 `grub_ieee1275_chosen'.
17967 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
17968 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
17969 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
17970 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
17971 `grub_ieee1275_chosen'.
17972
ca5baa3f 179732005-05-10 Hollis Blanchard <hollis@penguinppc.org>
17974
17975 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
17976 /chosen/bootargs.
17977 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
17978 /chosen/bootargs as "variable=value" pairs.
17979
708b345f 179802005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
17981
17982 * include/grub/misc.h (grub_dprintf): New macro.
17983 (grub_real_dprintf): New prototype.
17984 (grub_strword): Likewise.
17985 (grub_iswordseparator): Likewise.
17986 * kern/misc.c (grub_real_dprintf): New function.
17987 (grub_strword): Likewise.
17988 (grub_iswordseparator): Likewise.
17989
f4c5e67c 179902005-04-30 Hollis Blanchard <hollis@penguinppc.org>
17991
17992 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
17993 (roundup): Remove macro.
17994 (grub_ieee1275_flags): Make static.
17995 (grub_ieee1275_realmode): Remove.
17996 (grub_ieee1275_test_flag): New function.
17997 (grub_ieee1275_set_flag): Likewise.
17998 (find_options): Rename to `grub_ieee1275_find_options'; update
17999 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
18000 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
18001 (cmain): New prototype.
18002 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
18003 `grub_ieee1275_flags' directly.
18004 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18005 machine/biosdisk.h.
18006 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18007 Don't include grub/machine/init.h.
18008 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18009 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18010 Remove prototype.
18011 (grub_ieee1275_realmode): Likewise.
18012 (grub_ieee1275_flag): New enum.
18013 (grub_ieee1275_test_flag): New prototype.
18014 (grub_ieee1275_set_flag): New prototype.
18015 * include/grub/powerpc/ieee1275/init.h: Remove file.
18016 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18017 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18018 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18019 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18020 comment.
18021 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18022 `grub_ieee1275_test_flag'.
18023 (grub_ieee1275_encode_devname): Likewise.
18024
ed16607e 180252005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18026
18027 * include/grub/powerpc/ieee1275/ieee1275.h
18028 (grub_ieee1275_encode_devname): New prototype.
18029 (grub_ieee1275_get_filename): Likewise.
18030 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18031 function.
18032 (grub_set_prefix): Likewise.
18033 (grub_machine_init): Call grub_set_prefix.
18034 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18035 (grub_parse_type): New enum.
18036 (grub_ieee1275_get_devargs): New function.
18037 (grub_ieee1275_get_devname): Likewise.
18038 (grub_ieee1275_parse_args): Likewise.
18039 (grub_ieee1275_get_filename): Likewise.
18040 (grub_ieee1275_encode_devname): Likewise.
18041
be369920 180422005-03-30 Marco Gerards <metgerards@student.han.nl>
18043
18044 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18045 `grub_loader_unset'.
18046
a5ce3a4a 180472005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18048
18049 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18050 instead of grub_ieee1275_interpret.
18051 (grub_halt_init): New function.
18052 (grub_halt_fini): Likewise.
18053 (GRUB_MOD_INIT): Correct message grammar.
18054 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18055 instead of grub_ieee1275_interpret.
18056 (grub_reboot_init): New function.
18057 (grub_reboot_fini): Likewise.
18058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18059 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18060 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18061 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18062 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18063 function.
18064 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18065 Add prototype.
18066 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18067 prototype.
18068 (grub_halt): Likewise.
18069 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18070 (cmain): Remove __attribute__((unused)).
18071 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18072 (grub_heap_len): Likewise.
18073 (grub_machine_fini): New function.
18074 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18075 (grub_halt): Likewise.
18076 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
18077 function.
18078 * util/powerpc/ieee1275/misc.c: New file.
18079
0058f771 180802005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18081
18082 * DISTLIST: New file.
18083 * gendistlist.sh: Likewise.
f19dbdb7 18084
0058f771 18085 * Makefile.in (COMMON_DISTFILES): Removed.
18086 (BOOT_DISTFILES): Likewise.
18087 (CONF_DISTFILES): Likewise.
18088 (DISK_DISTFILES): Likewise.
18089 (FS_DISTFILES): Likewise.
18090 (INCLUDE_DISTFILES): Likewise.
18091 (KERN_DISTFILES): Likewise.
18092 (LOADER_DISTFILES): Likewise.
18093 (TERM_DISTFILES): Likewise.
18094 (UTIL_DISTFILES): Likewise.
18095 (DISTFILES): Likewise.
18096 (uninstall): Uninstall files in $(pkgdata_DATA).
18097 (DISTLIST): New target.
18098 (distdir): Use the contents of the file DISTLIST to get a list of
18099 distributed files.
18100
46b3b8a5 181012005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18102
18103 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
18104 descriptor. This is ported from GRUB Legacy.
18105
18106 * gencmdlist.sh: Added an extra semicolon to make it work with
18107 old sed versions. Reported by Robert Bihlmeyer
18108 <robbe@orcus.priv.at>.
18109
5822ff87 181102005-03-08 Yoshinori Okuji <okuji@enbug.org>
18111
18112 Automatic loading of commands is supported.
f19dbdb7 18113
5822ff87 18114 * normal/main.c (read_command_list): New function.
18115 (grub_normal_execute): Call read_command_list.
18116
18117 * normal/command.c (grub_register_command): Return zero or CMD.
18118 Allocate CMD->NAME from the heap.
18119 Initialize CMD->MODULE_NAME to zero.
18120 Find the same name as well. If the same command is found and it is
18121 a dummy command, overwrite members. If it is not a dummy command,
18122 return zero.
18123 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
18124 (grub_command_find): If a dummy command is found, load a module
18125 and retry to find a command only once.
18126
18127 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
18128 make sure that each command is loaded.
18129
18130 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
18131 macro.
18132 (struct grub_command): Remove const from the member `name'.
18133 Add a new member `module_name'.
18134 (grub_register_command): Return grub_command_t.
18135
18136 * commands/help.c (grub_cmd_help): Call grub_command_find to make
18137 sure that each command is loaded.
18138
18139 * genmk.rb (PModule::rule): Specify a module name without the
18140 suffix ".mod" to gencmdlist.sh.
18141
7b1f4b57 181422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18143
18144 * gencmdlist.sh: New file.
f19dbdb7 18145
7b1f4b57 18146 * genmk.rb (PModule::rule): Generate a rule for a command list.
18147 Clean command.lst.
18148 Generate command.lst from $(COMMANDFILES).
18149
18150 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
18151 (DATA): Added $(pkgdata_DATA).
18152 (install-local): Install files in $(pkgdata_DATA).
18153
062aaf39 181542005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18155
18156 * term/i386/pc/vga.c (debug_command): Removed.
18157 (GRUB_MOD_INIT): Do not register the command "debug".
18158
18159 From Hollis Blanchard:
18160 * commands/configfile.c: New file.
18161 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18162 commands/configfile.c.
18163 (pkgdata_MODULES): Added configfile.mod.
18164 (configfile_mod_SOURCES): New variable.
18165 (configfile_mod_CFLAGS): Likewise.
18166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18167 commands/configfile.c.
18168 (pkgdata_MODULES): Added configfile.mod.
18169 (configfile_mod_SOURCES): New variable.
18170 (configfile_mod_CFLAGS): Likewise.
18171 * util/grub-emu.c (main): Call grub_configfile_init and
18172 grub_configfile_fini.
18173 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
18174 prototype.
18175 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 18176
cee01aa6 181772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18178
18179 * normal/arg.c (grub_arg_show_help): Do not show the bug report
18180 address.
18181
18182 * commands/help.c (grub_cmd_help): Do not print newlines after
18183 the last command in print_command_help.
18184
93f3a1d8 181852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18186
18187 * commands/default.h: New file.
18188 * commands/timeout.h: Likewise.
18189 * normal/context.c: Likewise.
f19dbdb7 18190
93f3a1d8 18191 * util/misc.c: Do not include sys/times.h.
18192 Include sys/time.h and grub/machine/time.h.
18193 (grub_get_rtc): Rewritten with gettimeofday.
18194
18195 * util/grub-emu.c (main): Call grub_default_init and
18196 grub_timeout_init before grub_normal_init, and call
18197 grub_timeout_fini and grub_default_fini after grub_main.
18198
18199 * util/console.c (grub_ncurses_checkkey): Return the read
18200 character or -1.
18201
18202 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
18203 timeouts.
18204
18205 * normal/main.c (read_config_file): Push MENU. If this fails,
18206 print an error and wait for a user input.
18207 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
18208 If a menu is empty or an error occurs, pop MENU.
18209 (grub_normal_execute): Pop and free MENU after grub_menu_run
18210 returns.
18211
18212 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
18213
18214 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
18215 include time.h.
18216 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18217 without GRUB_UTIL.
18218 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
18219 time.h.
18220 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18221 without GRUB_UTIL.
18222
18223 * include/grub/normal.h (struct grub_menu_list): New struct.
18224 (grub_menu_list_t): New type.
18225 (struct grub_context): New struct.
18226 (grub_context_t): New type.
18227 (grub_register_command): Got rid of EXPORT_FUNC.
18228 (grub_unregister_command): Likewise.
18229 (grub_context_get): New prototype.
18230 (grub_context_get_current_menu): Likewise.
18231 (grub_context_push_menu): Likewise.
18232 (grub_context_pop_menu): Likewise.
18233 [GRUB_UTIL] (grub_default_init): Likewise.
18234 [GRUB_UTIL] (grub_default_fini): Likewise.
18235 [GRUB_UTIL] (grub_timeout_init): Likewise.
18236 [GRUB_UTIL] (grub_timeout_fini): Likewise.
18237
18238 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
18239 commands/timeout.c and normal/context.c.
18240 (pkgdata_MODULES): Added default.mod and timeout.mod.
18241 (normal_mod_SOURCES): Added normal/context.c.
18242 (default_mod_SOURCES): New variable.
18243 (default_mod_CFLAGS): Likewise.
18244 (timeout_mod_SOURCES): Likewise.
18245 (timeout_mod_CFLAGS): Likewise.
18246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
18247 conf/i386-pc.rmk.
18248 (pkgdata_MODULES): Added default.mod and timeout.mod.
18249 (normal_mod_SOURCES): Added normal/context.c.
18250 (default_mod_SOURCES): New variable.
18251 (default_mod_CFLAGS): Likewise.
18252 (timeout_mod_SOURCES): Likewise.
18253 (timeout_mod_CFLAGS): Likewise.
18254
18255 * Makefile.in (all-local): Added $(MKFILES).
18256
4ed2e1dd 182572005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
18258
18259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
18260 (grub_emu_SOURCES): Likewise.
18261 (pkgdata_MODULES): Add `sun.mod'.
18262 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18264 `partmap/sun.c'.
18265 (pkgdata_MODULES): Add `sun.mod'.
18266 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18267 * include/grub/partition.h (grub_sun_partition_map_init): New
18268 prototype.
18269 (grub_sun_partition_map_fini): Likewise.
18270 * partmap/sun.c: New file.
18271 * util/grub-emu.c (main): Initialize and de-initialize the sun
18272 partitionmap support.
18273
4d4e372e 182742005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
18275
18276 This implements an Emacs-like menu entry editor.
f19dbdb7 18277
4d4e372e 18278 * normal/menu_entry.c: New file.
f19dbdb7 18279
4d4e372e 18280 * util/console.c (grub_ncurses_putchar): Translate some Unicode
18281 characters to ASCII.
18282 (saved_char): New variable.
18283 (grub_ncurses_checkkey): Rewritten completely.
18284 (grub_ncurses_getkey): Likewise.
18285 (grub_ncurses_init): Call raw instead of cbreak.
18286
18287 * normal/menu.c (print_entry): Do not put a space.
18288 (init_page): Renamed to ...
18289 (grub_menu_init_page): ... this. All callers changed.
18290 (edit_menu_entry): Removed.
18291 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
18292
18293 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
18294
18295 * kern/misc.c (grub_vprintf): Call grub_refresh.
18296
18297 * normal/menu.c (DISP_LEFT): Renamed to ...
18298 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
18299 * normal/menu.c (DISP_UP): Renamed to ...
18300 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
18301 * normal/menu.c (DISP_RIGHT): Renamed to ...
18302 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
18303 * normal/menu.c (DISP_DOWN): Renamed to ...
18304 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
18305 * normal/menu.c (DISP_HLINE): Renamed to ...
18306 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
18307 * normal/menu.c (DISP_VLINE): Renamed to ...
18308 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
18309 * normal/menu.c (DISP_UL): Renamed to ...
18310 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
18311 * normal/menu.c (DISP_UR): Renamed to ...
18312 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
18313 * normal/menu.c (DISP_LL): Renamed to ...
18314 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
18315 * normal/menu.c (DISP_LR): Renamed to ...
18316 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
18317 * normal/menu.c (TERM_WIDTH): Renamed to ...
18318 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
18319 * normal/menu.c (TERM_HEIGHT): Renamed to ...
18320 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
18321 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
18322 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
18323 * normal/menu.c (TERM_MARGIN): Renamed to ...
18324 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
18325 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
18326 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
18327 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
18328 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
18329 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
18330 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
18331 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
18332 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
18333 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
18334 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
18335 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
18336 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
18337 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
18338 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
18339 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
18340 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
18341 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
18342 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
18343 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
18344 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
18345 All callers changed.
18346
18347 * include/grub/normal.h: New prototype.
18348
18349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18350 normal/menu_entry.c.
18351 (normal_mod_SOURCES): Likewise.
18352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18353 (normal_mod_SOURCES): Likewise.
18354
e6b92c8a 183552005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
18356
18357 * include/grub/normal.h (grub_halt_init): New prototype.
18358 (grub_halt_fini): Likewise.
18359 (grub_reboot_init): Likewise.
18360 (grub_reboot_fini): Likewise.
18361
18362 * util/grub-emu.c: Include signal.h.
18363 (main_env): New global variable.
18364 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
18365 catch C-c.
18366 (grub_machine_fini): New function.
18367 (main): Call grub_halt_init and grub_reboot_init before
18368 grub_main, and grub_reboot_fini and grub_halt_fini after it.
18369 Call setjmp with MAIN_ENV to go back afterwards.
18370 Call grub_machine_fini right before return.
18371
18372 * include/grub/util/misc.h: Include setjmp.h.
18373 (main_env): New prototype.
18374
18375 * include/grub/kernel.h (grub_machine_fini): New prototype.
18376 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
18377 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
18378
18379 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
18380 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
18381 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 18382
e6b92c8a 18383 * util/i386/pc/misc.c: New file.
f19dbdb7 18384
e6b92c8a 18385 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18386 util/i386/pc/misc.c, commands/i386/pc/halt.c and
18387 commands/i386/pc/reboot.c.
18388
c642636f 183892005-02-14 Guillem Jover <guillem@hadrons.org>
18390
18391 * include/grub/dl.h (grub_dl_check_header): New prototype.
18392 (grub_arch_dl_check_header): Change return type to grub_err_t,
18393 remove size parameter and export function. Update all callers.
18394 * kern/dl.c (grub_dl_check_header): New function.
18395 (grub_dl_load_core): Use `grub_dl_check_header' instead of
18396 `grub_arch_dl_check_header'. Check ELF type. Check if sections
18397 are inside the core.
18398 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
18399 independent ELF header checks.
18400 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18401 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
18402 `grub_dl_check_header' instead of explicit checks. Check for the
18403 ELF type.
18404 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
18405 `grub_dl_check_header' instead of explicit checks. Remove arch
18406 specific ELF header checks.
18407
e6b92c8a 18408 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
18409 argument SIZE.
18410
5eabe94b 184112005-02-13 Hollis Blanchard <hollis@penguinppc.org>
18412
18413 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
18414 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
18415
1b14a681 184162005-02-12 Hollis Blanchard <hollis@penguinppc.org>
18417
18418 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 18419 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 18420 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 18421 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 18422 * partmap/amiga.c (amiga_partition_map_iterate): Return
18423 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
18424 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18425
aca108aa 184262005-02-01 Guillem Jover <guillem@hadrons.org>
18427
18428 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
18429 help info.
18430
c9f9c556 184312005-01-31 Marco Gerards <metgerards@student.han.nl>
18432
18433 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
18434 Removed prototype.
18435 (grub_rescue_cmd_linux): New prototype.
18436 (grub_rescue_cmd_initrd): Likewise.
18437 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
18438 `bi_rec'.
18439 (grub_linux_release_mem): Release the memory for the initrd.
18440 (grub_load_linux): Renamed from this...
18441 (grub_rescue_cmd_linux): ...To this. Changed all callers.
18442 Changed `entry' not to be static. Loop over memory regions to
18443 find another one when the default fails.
18444 (grub_rescue_cmd_initrd): New function.
18445 (grub_linux_init): Remove function.
18446 (grub_linux_fini): Likewise.
18447 (GRUB_MOD_INIT): Register `initrd'.
18448 (GRUB_MOD_FINI): Unregister `initrd'.
18449 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
18450 Function removed.
18451 (grub_linux_normal_fini): Likewise.
18452 (GRUB_MOD_INIT): Register `initrd'.
18453 (GRUB_MOD_FINI): Unregister `initrd'.
18454
990cf3aa 184552005-01-31 Marco Gerards <metgerards@student.han.nl>
18456
18457 * commands/help.c: New file.
18458 * normal/arg.c (show_help): Renamed to...
18459 (grub_arg_show_help): ... this.
18460 * commands/i386/pc/halt.c: New file.
18461 * commands/i386/pc/reboot.c: Likewise.
18462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
18463 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
18464 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
18465 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
18466 variables.
18467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18468 `commands/help.c'.
18469 (pkgdata_MODULES): Add `help.mod'.
18470 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
18471 * grub/i386/pc/init.h (grub_reboot): New prototype.
18472 (grub_halt): Likewise.
18473 * include/grub/normal.h (grub_arg_show_help): New prototype.
18474 (grub_help_init): Likewise.
18475 (grub_help_fini): Likewise.
18476 * util/grub-emu.c (main): Initialize and deinitialize the help
18477 command.
18478
18479 * normal/cmdline.c (grub_cmdline_get): Doc fix.
18480
18481 * normal/command.c (grub_command_init): Fixed the description of
18482 the `set' and `unset' commands.
18483
184842005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 18485
18486 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
18487 function.
18488 * commands/ieee1275/halt.c: New file.
18489 * commands/ieee1275/reboot.c: Likewise.
18490 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
18491 `__attribute__ ((unused))'. Some GCS related fixed.
18492 (grub_suspend_init) [GRUB_UTIL]: Function removed.
18493 (grub_suspend_fini): Likewise.
18494 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
18495 and `halt.mod'.
18496 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
18497 (halt_mod_CFLAGS): New variables.
18498 * include/grub/powerpc/ieee1275/ieee1275.h
18499 (grub_ieee1275_interpret): New prototype.
18500
1ab09cc7 185012005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
18502
18503 * include/grub/misc.h (memmove): New prototype.
18504 (memcpy): Likewise.
18505
8b8cbdb2 185062005-01-22 Hollis Blanchard <hollis@penguinppc.org>
18507
18508 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
18509 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
18510
e3741a27 185112005-01-22 Marco Gerards <metgerards@student.han.nl>
18512
18513 * kern/misc.c (grub_strndup): Function rewritten.
18514
776bd780 185152005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
18516
18517 * normal/menu.c (TERM_WIDTH): Macro redefined.
18518 (TERM_TOP_BORDER_Y): Likewise.
18519 (draw_border): Replaced while-loop by a for-loop. Make the number
18520 of lines consistent with the number of lines displayed in
18521 print_entries. Added a margin below the rectangle.
18522 (print_entry): Make the entry fit in the rectangle.
18523 (print_entries): Display the scroll arrows next to the right
18524 border.
18525
78026bce 185262005-01-21 Marco Gerards <metgerards@student.han.nl>
18527
18528 * fs/minix.c (grub_minix_find_file): Reserve more space for
18529 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
18530 `grub_strncpy' to copy `path' into it.
18531
67bbaf0f 185322005-01-21 Marco Gerards <metgerards@student.han.nl>
18533
18534 Add the loopback device, a device via which files can be accessed
18535 as devices.
f19dbdb7 18536
67bbaf0f 18537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
18538 (pkgdata_MODULES): Add loopback.mod.
18539 (loopback_mod_SOURCES): New variable.
18540 (loopback_mod_CFLAGS): Likewise.
18541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18542 `disk/loopback.c'.
18543 (pkgdata_MODULES): Add loopback.mod.
18544 (loopback_mod_SOURCES): New variable.
18545 (loopback_mod_CFLAGS): Likewise.
18546 * disk/loopback.c: new file.
18547 * include/grub/normal.h (grub_loop_init): New prototype.
18548 (grub_loop_fini): New prototype.
18549 * util/grub-emu.c (main): Initialize and de-initialize loopback
18550 support.
18551 * include/grub/disk.h (grub_disk_dev_id): Add
18552 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
18553
6f1c18bd 185542005-01-20 Hollis Blanchard <hollis@penguinppc.org>
18555
18556 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
18557 function.
18558 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
18559 (suspend_mod_SOURCES): New variable.
18560 (suspend_mod_CFLAGS): Likewise.
18561 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
18562 New prototype.
18563 * commands/ieee1275/suspend.c: New file.
18564
b38551da 185652005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18566
18567 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 18568 ((unused))' to `__attribute__ ((used))'.
b38551da 18569 (GRUB_MOD_FINI): Likewise.
18570 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
18571 * genmk.rb (PModule): Assign space to common symbols when linking
18572 modules.
18573
777aff39 185742005-01-20 Marco Gerards <metgerards@student.han.nl>
18575
18576 * include/grub/mm.h (grub_mm_init_region): Change the type of the
18577 `unsigned' arguments to `grub_size_t'.
18578 (grub_malloc): Likewise.
18579 (grub_realloc): Likewise.
18580 (grub_memalign): Likewise.
18581 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
18582 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18583 * util/misc.c (grub_malloc): Likewise.
18584 (grub_realloc): Likewise.
18585 * kern/mm.c (get_header_from_pointer): Change the casts to
18586 `unsigned' into a cast to `grub_size_t'.
18587
18588 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
18589 point to `currnode' when `currnode' is changed.
18590
18591 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
18592 Schottelius <nico-linux@schottelius.org>.
18593
d0ff18e1 185942005-01-09 Hollis Blanchard <hollis@penguinppc.org>
18595
18596 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
18597 (note_path): Remove variable.
18598 (GRUB_IEEE1275_NOTE_NAME): New macro.
18599 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
18600 (grub_ieee1275_note_hdr): New structure.
18601 (grub_ieee1275_note_desc): Likewise.
18602 (grub_ieee1275_note): Likewise.
18603 (load_note): Remove `dir' argument. All callers updated. Remove
18604 `note_img' and `path'. Do not load a file from `note_path'.
18605 Initialize a struct grub_ieee1275_note and write that to `out'.
18606 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
18607
4ca7004c 186082005-01-05 Marco Gerards <metgerards@student.han.nl>
18609
18610 * util/misc.c (grub_util_read_image): Revert last change. It
18611 called `grub_util_read_at', which seeks from the beginning of the
18612 file.
18613
0b412211 186142005-01-04 Hollis Blanchard <hollis@penguinppc.org>
18615
18616 * TODO: Add note about endianness in grub-mkimage.
18617 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
18618 section.
18619 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
18620 (grub_mkimage_SOURCES): New target.
18621 * include/grub/kernel.h (grub_start_addr): Remove variable.
18622 (grub_end_addr): Likewise.
18623 (grub_total_module_size): Likewise.
18624 (grub_kernel_image_size): Likewise.
18625 (GRUB_MODULE_MAGIC): New constant.
18626 (grub_module_info): New structure.
18627 (grub_arch_modules_addr): New prototype.
18628 (grub_get_end_addr): Remove prototype.
18629 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
18630 * include/grub/powerpc/ieee1275/kernel.h: New file.
18631 * include/grub/util/misc.h (grub_util_get_fp_size): New
18632 prototype.
18633 (grub_util_read_at): Likewise.
18634 (grub_util_write_image_at): Likewise.
18635 * kern/main.c (grub_get_end_addr): Remove function.
18636 (grub_load_modules): Call grub_arch_modules_addr instead of using
18637 grub_end_addr. Look for a grub_module_info struct in memory. Use
18638 the grub_module_info fields instead of calling grub_get_end_addr
18639 as loop conditions. Move grub_add_unused_region code here.
18640 (grub_add_unused_region): Remove function.
18641 * kern/i386/pc/init.c: Include grub/cache.h.
18642 (grub_machine_init): Remove call to grub_get_end_addr. Remove
18643 one call to add_mem_region.
18644 (grub_arch_modules_addr): New function.
18645 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
18646 (grub_total_module_size): Likewise.
18647 Include grub/machine/kernel.h.
18648 (grub_arch_modules_addr): New function.
18649 * util/grub-emu.c (grub_end_addr): Remove variable.
18650 (grub_total_module_size): Likewise.
18651 (grub_arch_modules_addr): New function.
18652 * util/misc.c: Include unistd.h.
18653 (grub_util_get_fp_size): New function.
18654 (grub_util_read_at): Likewise.
18655 (grub_util_write_image_at): Likewise.
18656 (grub_util_read_image): Call grub_util_read_at.
18657 (grub_util_write_image): Call grub_util_write_image_at.
18658 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
18659 additional memory in kernel_img for a struct grub_module_info.
18660 Fill in that grub_module_info.
18661 * util/powerpc/ieee1275/grub-mkimage.c: New file.
18662
458786f8 186632005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18664
18665 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
18666 New function.
18667 * include/grub/powerpc/ieee1275/ieee1275.h
18668 (grub_ieee1275_milliseconds): New prototype.
18669 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
18670 Change to 1000.
18671 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
18672 grub_ieee1275_milliseconds.
18673
ac507d1b 186742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18675
18676 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
18677 variable.
18678 (find_options): New function.
18679 (cmain): Call find_options.
18680 * include/grub/powerpc/ieee1275/ieee1275.h
18681 (grub_ieee1275_realmode): New extern variable.
18682 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
18683 grub_map if grub_ieee1275_realmode is false.
18684
6b8fd1c4 186852004-12-29 Marco Gerards <metgerards@student.han.nl>
18686
18687 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
18688 lines are inserted and make it work like readline. Reported by
18689 Vincent Pelletier <subdino2004@yahoo.fr>.
18690
8514a1e0 186912004-12-28 Marco Gerards <metgerards@student.han.nl>
18692
18693 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
18694
18695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
18696 `kern/powerpc/cache.S'.
18697
924b6140 186982004-12-27 Marco Gerards <metgerards@student.han.nl>
18699
18700 * genmk.rb: Handle the `Program' class in the main loop. Written
18701 by Johan Rydberg <jrydberg@gnu.org>.
18702 (Program): New class.
18703 (programs): New variable.
18704 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
18705 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
18706 instead of "grub/kernel.h". Include <grub/machine/init.h>.
18707 (help_arch): Function removed.
18708 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
18709 `powerpc/libgcc.h' and `loader.h'.
18710 (pkgdata_PROGRAMS): New variable.
18711 (sbin_UTILITIES): Variable removed.
18712 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
18713 (grubof_SOURCES): Variable re-defined so it only includes the
18714 core functionality.
18715 (grubof_CFLAGS): Remove `-DGRUBOF'.
18716 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
18717 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
18718 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
18719 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
18720 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
18721 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
18722 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
18723 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
18724 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
18725 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
18726 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18727 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
18728 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
18729 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
18730 (pc_mod_CFLAGS): New variables.
18731 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
18732 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
18733 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
18734 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
18735 Moved from here...
18736 * include/grub/i386/pc/init.h (grub_os_area_addr)
18737 (rub_os_area_size): ... to here.
18738 * include/grub/powerpc/ieee1275/ieee1275.h
18739 (grub_ieee1275_entry_fn): Export symbol.
18740 * include/grub/powerpc/ieee1275/init.h: New file.
18741 * include/grub/powerpc/libgcc.h: Likewise.
18742 * include/grub/cache.h: Likewise.
18743 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
18744 <hollis@penguinppc.org>.
18745 * kern/dl.c: Include <grub/cache.h>.
18746 (grub_dl_flush_cache): New function.
18747 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
18748 for this module.
18749 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
18750 (grub_console_init): Removed prototypes.
18751 (grub_machine_init): Don't initialize the modules anymore.
18752 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
18753 static.
18754 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
18755 Macro undef removed.
18756 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
18757 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
18758 relocation `R_PPC_REL32'. Return an error when the relocation is
18759 unknown.
18760 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
18761 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
18762 * util/misc.c (grub_arch_sync_caches): Likewise.
18763
e4b47e0c 187642004-12-19 Marco Gerards <metgerards@student.han.nl>
18765
18766 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
18767 `symlist.c', add `grubof_symlist.c'.
18768 (symlist.c): Variable removed.
18769 (grubof_HEADERS): Variable added.
18770 (grubof_symlist.c): New target.
18771 (kernel_syms.lst): Use `grubof_HEADERS' instead of
18772 `kernel_img_HEADERS'.
18773 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
18774 * kern/powerpc/dl.c: New file.
18775 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
18776 Function removed.
18777 (grub_arch_dl_relocate_symbols): Likewise.
18778 (grub_register_exported_symbols): Likewise.
18779
4ceb3636 187802004-12-13 Marco Gerards <metgerards@student.han.nl>
18781
18782 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
18783 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
18784 to fail instead. Reported by Vincent Pelletier
18785 <subdino2004@yahoo.fr>.
18786
18787 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
18788 it is not allocated. Reported by Vincent Pelletier
18789 <subdino2004@yahoo.fr>.
18790
18791 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
18792 output so the output looks better.
f19dbdb7 18793
3f1578fe 187942004-12-04 Marco Gerards <metgerards@student.han.nl>
18795
18796 Modulize the partition map support and add support for the amiga
18797 partition map.
f19dbdb7 18798
3f1578fe 18799 * commands/ls.c: Include <grub/partition.h> instead of
18800 <grub/machine/partition.h>.
18801 * kern/disk.c: Likewise.
18802 * kern/rescue.c: Likewise.
18803 * loader/i386/pc/chainloader.c: Likewise.
18804 * normal/cmdline.c: Likewise.
18805 * kern/powerpc/ieee1275/init.c: Likewise.
18806 (grub_machine_init): Call `grub_pc_partition_map_init',
18807 `grub_amiga_partition_map_init' and
18808 `grub_apple_partition_map_init'.
18809 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
18810 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
18811 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
18812 `partition.h' and `pc_partition.h'.
18813 (grub_setup_SOURCES): Remove
18814 `disk/i386/pc/partition.c'. Add `kern/partition.c',
18815 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18816 (grub_emu_SOURCES): Likewise.
18817 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
18818 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
18819 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
18820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18821 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
18822 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18823 (grubof_SOURCES): Likewise.
18824 * disk/i386/pc/partition.c: File removed.
18825 * disk/powerpc/ieee1275/partition.c: Likewise.
18826 * include/grub/powerpc/ieee1275/partition.h: Likewise.
18827 * include/grub/i386/pc/partition.h: Likewise.
18828 * kern/partition.c: New file.
18829 * partmap/amiga.c: Likewise.
18830 * partmap/apple.c: Likewise.
18831 * partmap/pc.c: Likewise.
18832 * include/grub/partition.h: Likewise..
18833 * include/grub/pc_partition.h: Likewise.
18834 * util/grub-emu.c: Include <grub/partition.h> instead of
18835 <grub/machine/partition.h>.
18836 (main): Call `grub_pc_partition_map_init',
18837 `grub_amiga_partition_map_init' and
18838 `grub_apple_partition_map_init' and deinitialize afterwards.
18839 * util/i386/pc/biosdisk.c: Include `#include
18840 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18841 `<grub/machine/partition.h>'.
18842 * util/i386/pc/grub-setup.c: Likewise.
18843 * util/i386/pc/biosdisk.c: Likewise.
18844 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
18845 partition information in case of a PC partition.
18846 * util/i386/pc/grub-setup.c: Include `#include
18847 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18848 `<grub/machine/partition.h>'.
18849 (setup): Only access the PC specific partition information in case
18850 of a PC partition.
18851
0ef4ced9 188522004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 18853
0ef4ced9 18854 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
18855 (grub_longjmp): Likewise.
18856 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
18857 20.
18858 * normal/powerpc/setjmp.S: New file.
18859 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
18860 `normal/powerpc/setjmp.S'.
18861 (grubof_CFLAGS): Add `-DGRUBOF'.
18862 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
18863 [GRUB_UTIL && !GRUBOF].
f19dbdb7 18864
19950e29 188652004-11-16 Marco Gerards <metgerards@student.han.nl>
18866
18867 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
18868 property named `name'. Correctly handle the error returned by
18869 `grub_ieee1275_finddevice' if a device can not be opened.
18870
a2fea427 188712004-11-02 Hollis Blanchard <hollis@penguinppc.org>
18872
18873 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
18874 `actual' for negativity.
18875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18876 kern/fshelp.c.
18877
41ea0ea3 188782004-11-01 Marco Gerards <metgerards@student.han.nl>
18879
18880 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
18881 (PAGE_OFFSET): New macro.
18882 (CRTC_ADDR_PORT): Likewise.
18883 (CRTC_DATA_PORT): Likewise.
18884 (START_ADDR_HIGH_REGISTER): Likewise.
18885 (START_ADDR_LOW_REGISTER): Likewise.
18886 (GRAPHICS_ADDR_PORT): Likewise.
18887 (GRAPHICS_DATA_PORT): Likewise.
18888 (READ_MAP_REGISTER): Likewise.
18889 (INPUT_STATUS1_REGISTER): Likewise.
18890 (INPUT_STATUS1_VERTR_BIT): Likewise.
18891 (page): New variable.
18892 (wait_vretrace): New function.
18893 (set_read_map): Likewise.
18894 (set_start_address): Likewise.
18895 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
18896 the right page.
18897 (check_vga_mem): Take the page into account.
18898 (write_char): Likewise.
18899 (write_cursor): Likewise.
18900 (scroll_up): Likewise. Copy the page to the page that is not
18901 shown and switch between both pages.
18902 (grub_vga_putchar): Fix off by one error.
18903 (grub_vga_cls): Wait for the vertical retrace. Take the page into
18904 account.
18905
ad0bd20b 189062004-11-01 Marco Gerards <metgerards@student.han.nl>
18907
18908 Add support for iso9660 (including rockridge).
f19dbdb7 18909
ad0bd20b 18910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18911 (iso9660_mod_SOURCES): New variable.
18912 (iso9660_mod_CFLAGS): Likewise.
18913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18914 * include/grub/fs.h (grub_iso9660_init): New prototype.
18915 * util/grub-emu.c (main): Call `grub_iso9660_init'.
18916 * fs/iso9660.c: New file.
18917
18918 * include/grub/misc.h (grub_strncat): New prototype.
18919 * kern/misc.c (grub_strncat): New function.
f19dbdb7 18920
ad0bd20b 18921 * fs/hfs.c (grub_hfs_mount): Translate the error
18922 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
18923 * fs/jfs.c (grub_jfs_mount): Likewise.
18924 * fs/ufs.c (grub_ufs_mount): Likewise.
18925
a5477a59 189262004-10-28 Hollis Blanchard <hollis@penguinppc.org>
18927
18928 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
18929 which initialized BAT registers.
18930 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
18931 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18932 Move from here...
18933 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
18934 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
18935 ... to here.
18936 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
18937 (grub_mapclaim): Likewise.
18938 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
18939 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
18940 hand.
18941
9304c1f8 189422004-10-19 Hollis Blanchard <hollis@penguinppc.org>
18943
18944 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
18945 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
18946 -ffreestanding and -msoft-float.
18947
86f4ae25 189482004-10-15 Hollis Blanchard <hollis@penguinppc.org>
18949
18950 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
18951 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
18952 set in grub_ieee1275_flags.
18953
38912228 189542004-10-14 Hollis Blanchard <hollis@penguinppc.org>
18955
18956 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
18957 prototype.
18958 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
18959 grub_console_init first.
18960 Change the memory range used for grub_ieee1275_claim and
18961 grub_mm_init_region.
18962 Print an error message if the claim fails.
18963 Include <grub/misc.h>.
18964
d1923dc8 189652004-10-13 Hollis Blanchard <hollis@penguinppc.org>
18966
18967 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
18968 Call grub_children_iterate for device nodes of type `scsi',
18969 `ide', or `ata'.
18970 (grub_ofdisk_open): Remove manual device alias resolution.
18971 Fix memory leak when device cannot be opened.
f19dbdb7 18972 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 18973 (grub_children_iterate): New prototype.
18974 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
18975 New function.
18976 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18977 Return -1 if args.size was -1.
18978
4512e4f3 189792004-10-11 Hollis Blanchard <hollis@penguinppc.org>
18980
18981 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
18982 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
18983 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
18984 Open Firmware's memory for it; claim memory from _start to _end.
18985 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
18986 (_end): New extern.
18987 (_start): Zero BSS from __bss_start to _end.
18988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18989 New extern.
18990 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
18991
4d61feb0 189922004-10-11 Hollis Blanchard <hollis@penguinppc.org>
18993
ad0bd20b 18994 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
18995 -1 if args.base was -1.
4d61feb0 18996
026fa2f9 189972004-10-08 Hollis Blanchard <hollis@penguinppc.org>
18998
18999 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
19000 escape sequence instead of a literal ^L. Also call
19001 grub_ofconsole_gotoxy.
19002
9f2220ef 190032004-10-03 Hollis Blanchard <hollis@penguinppc.org>
19004
19005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19006 void * arguments to grub_addr_t. All callers updated. Also make
19007 the `result' argument optional.
19008 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19009 All callers updated.
19010
8a572cd7 190112004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19012
19013 * commands/ls.c (grub_ls_list_files): Use the string following the
19014 initial ')', if present, as the filesystem path.
19015 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19016
19017 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19018
18aa81f2 190192004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19020
19021 Make the source code of the menu interface more readable.
f19dbdb7 19022
18aa81f2 19023 * normal/menu.c: Include grub/mm.h.
19024 (TERM_WIDTH): New macro.
19025 (TERM_HEIGHT): Likewise.
19026 (TERM_INFO_HEIGHT): Likewise.
19027 (TERM_MARGIN): Likewise.
19028 (TERM_SCROLL_WIDTH): Likewise.
19029 (TERM_TOP_BORDER_Y): Likewise.
19030 (TERM_LEFT_BORDER_X): Likewise.
19031 (TERM_BORDER_WIDTH): Likewise.
19032 (TERM_MESSAGE_HEIGHT): Likewise.
19033 (TERM_BORDER_HEIGHT): Likewise.
19034 (TERM_NUM_ENTRIES): Likewise.
19035 (TERM_FIRST_ENTRY_Y): Likewise.
19036 (TERM_ENTRY_WIDTH): Likewise.
19037 (TERM_CURSOR_X): Likewise.
19038 (draw_border): Use macros instead of magic numbers.
19039 (print_entry): Likewise.
19040 (print_entries): Likewise.
19041 (run_menu): Likewise. Also, handle the key 'e'.
19042 (run_menu_entry): Ignore empty command lines.
19043 (print_message): Added a new argument EDIT. If EDIT is true,
19044 print a different message.
19045 (init_page): Likewise.
19046 (edit_menu_entry): New function. Not implemented yet.
19047
b47efe30 190482004-09-17 Marco Gerards <metgerards@student.han.nl>
19049
19050 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19051 can be loaded from normal mode.
f19dbdb7 19052
b47efe30 19053 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19054 `multiboot.mod'.
19055 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19056 (multiboot_mod_CFLAGS): New variables.
19057 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 19058 * loader/i386/pc/multiboot_normal.c: Likewise.
19059
b47efe30 19060 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19061 attribute `unused'.
f19dbdb7 19062
b47efe30 19063 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19064 `fdiro' to read the mode information from instead of `diro'.
19065
19066 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19067 looking up a symlink.
19068
19069 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19070 macro.
19071 * normal/command.c (grub_command_execute): Don't parse the
19072 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19073 flags of the command.
19074
19075 * normal/menu.c (grub_menu_run): Fix typo.
19076
da75ac71 190772004-09-14 Hollis Blanchard <hollis@penguinppc.org>
19078
19079 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
19080
19081 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
19082 `y + 1' instead of `y - 1'.
19083
19084 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 19085
062b24c2 190862004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
19087
19088 From Hollis Blanchard <hollis@penguinppc.org>:
19089 * kern/misc.c (memmove): New alias for grub_memmove.
19090 (memcmp): New alias for grub_memcmp.
19091 (memset): New alias for grub_memset.
f19dbdb7 19092 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 19093 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 19094 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 19095 (grub_ieee1275_get_property): Likewise.
f19dbdb7 19096
8ddad845 190972004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
19098
19099 Added normal mode command `chainloader' as module chain.mod, which
19100 depends on normal.mod and _chain.mod.
f19dbdb7 19101
8ddad845 19102 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
19103 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
19104 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
19105 Deleted prototype.
19106 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
19107 but arguments parsing moved to ...
19108 (grub_chainloader_cmd): ... here. New function.
19109 * include/grub/i386/pc/chainloader.h: New file.
19110 * loader/i386/pc/chainloader_normal.c: Likewise.
19111
2c1f4ce3 191122004-09-11 Marco Gerards <metgerards@student.han.nl>
19113
19114 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
19115 (grub_mkimage_LDFLAGS): Likewise.
19116 (grub_emu_SOURCES): Likewise.
19117 (kernel_img_HEADERS): Added fshelp.h.
19118 * fs/ext2.c: Include <grub/fshelp.h>.
19119 (FILETYPE_REG): New macro.
19120 (FILETYPE_INO_REG): Likewise.
19121 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
19122 Changed all users.
19123 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
19124 all users.
19125 (grub_fshelp_node): New struct.
19126 (grub_ext2_data): Added member `diropen'. Changed member `inode'
19127 to a pointer.
19128 (grub_ext2_get_file_block): Removed function.
19129 (grub_ext2_read_block): New function.
19130 (grub_ext2_read_file): Replaced parameter `data' by `node'.
19131 This function was written.
19132 (grub_ext2_mount): Read the root inode. Create a diropen struct.
19133 (grub_ext2_find_file): Removed function.
19134 (grub_ext2_read_symlink): New function.
19135 (grub_ext2_iterate_dir): Likewise.
19136 (grub_ext2_open): Rewritten.
19137 (grub_ext2_dir): Rewritten.
19138 * include/grub/fshelp.h: New file.
19139 * fs/fshelp.c: Likewise.
19140
3c52136a 191412004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
19142
19143 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
19144 (print_message): Add a missing newline.
19145 (run_menu): Added timeout support.
19146 (run_menu_entry): New local function.
19147 (grub_menu_run): Added support for booting.
19148
19149 * kern/loader.c (grub_loader_is_loaded): New function.
19150
19151 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
19152 (grub_get_rtc): Exported.
19153
19154 * include/grub/i386/pc/time.h: Include grub/symbol.h.
19155 (grub_get_rtc): Exported.
19156
19157 * include/grub/normal.h (struct grub_command_list): Remove
19158 constant from the member `command'.
19159
19160 * include/grub/loader.h (grub_loader_is_loaded): Declared.
19161
19162 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
19163
19164 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
19165
aa033560 191662004-08-28 Marco Gerards <metgerards@student.han.nl>
19167
19168 Add support for the JFS filesystem.
19169
19170 * fs/jfs.c: New file.
19171 * include/grub/fs.h (grub_jfs_init): New prototype.
19172 (grub_jfs_fini): New prototype.
19173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
19174 (grub_emu_SOURCES): Likewise.
19175 (pkgdata_MODULES): Add jfs.mod.
19176 (jfs_mod_SOURCES): New variable.
19177 (jfs_mod_CFLAGS): Likewise.
19178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
19179 (grubof_SOURCES): Likewise.
19180 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
19181
19182 * fs/fat.c (grub_fat_find_dir): Convert the filename little
19183 endian to the host endian.
19184 (grub_fat_utf16_to_utf8): Move function from there...
19185 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 19186 the endianness of the source string anymore.
aa033560 19187 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
19188
94bc45af 191892004-08-24 Marco Gerards <metgerards@student.han.nl>
19190
19191 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
19192 (grub_boot_fini) [GRUB_UTIL]: Likewise.
19193 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
19194 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 19195
94bc45af 19196 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
19197 (grub_hfs_iterate_dir): Make the function static. Add prototypes
19198 for `node_found' and `it_dir'.
19199 (grub_hfs_dir): Add prototype for `dir_hook'.
19200
19201 * fs/minix.c (grub_minix_get_file_block): Add prototype for
19202 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
19203 and `indir32' to silence a gcc warning.
19204
19205 * include/grub/fs.h (grub_hfs_init): New prototype.
19206 (grub_hfs_fini): Likewise.
f19dbdb7 19207
19208
97543f08 192092004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19210
19211 Each disk device has its own id now. This is useful to make use
19212 of multiple disk devices.
f19dbdb7 19213
97543f08 19214 * include/grub/disk.h (grub_disk_dev_id): New enum.
19215 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
19216 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
19217
19218 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
19219 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19220
19221 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
19222 GRUB_DISK_DEVICE_OFDISK_ID as an id.
19223
19224 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
19225 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19226
19227 * include/grub/disk.h (struct grub_disk_dev): Added a new member
19228 "id" which is used by the cache manager.
19229
19230 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
19231 of just "GRUB".
19232
64372eb4 192332004-08-18 Marco Gerards <metgerards@student.han.nl>
19234
19235 * fs/hfs.c: New file.
19236 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
19237 (grub_emu_SOURCES): Likewise.
19238 (pkgdata_MODULES): Add hfs.mod.
19239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
19240 (grubof_SOURCES): Likewise.
19241 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
19242
19243 * include/grub/misc.h (grub_strncasecmp): Add prototype.
19244 * kern/misc.c (grub_strncasecmp): Add function.
19245
cc61b58f 192462004-08-14 Marco Gerards <metgerards@student.han.nl>
19247
19248 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
19249 with parentheses.
19250
19251 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
19252 (grub_ext2_dir): In case the directory entry type is unknown, read
19253 it from the inode.
19254
0ef123f6 192552004-08-02 Peter Bruin <pjbruin@dds.nl>
19256
19257 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
19258 grub_load_linux instead of grub_rescue_cmd_linux as second
19259 argument of grub_rescue_register_command.
19260
19261 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
19262
a447c5df 192632004-07-27 Marco Gerards <metgerards@student.han.nl>
19264
19265 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
19266 function.
19267 * commands/boot.c: Remove the check for `GRUB_UTIL'.
19268 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19269 `loader/powerpc/ieee1275/linux.c',
19270 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
19271 * include/grub/powerpc/ieee1275/ieee1275.h
19272 (grub_ieee1275_release): New prototype.
19273 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
19274 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
19275 normal, boot, linux and linux_normal.
19276 * loader/powerpc/ieee1275/linux.c: New file.
19277 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19278
5a9e3546 192792004-07-12 Marco Gerards <metgerards@student.han.nl>
19280
19281 * normal/arg.c (grub_arg_parse): Correct error handling after
19282 reallocating the argumentlist (check if `argl' is not null instead
19283 of checking if `args' is not null).
19284 * kern/mm.c (grub_realloc): Return the same pointer when using the
19285 same region, instead of returning the header address.
19286
e15199cb 192872004-07-11 Marco Gerards <metgerards@student.han.nl>
19288
19289 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
19290 one block instead of two when looking for the initial partition.
19291 (grub_partition_probe): Initialize the local variable `p' with 0.
19292 Use base 10 for the grub_strtoul call.
19293 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
19294 need for one local variable.
19295 (grub_strtoul): Don't add the new value to `num', instead of that
19296 just assign it.
19297
020616c2 192982004-07-11 Marco Gerards <metgerards@student.han.nl>
19299
19300 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
19301 (pxeboot_img_SOURCES): New variable.
19302 (pxeboot_img_ASFLAGS): Likewise.
19303 (pxeboot_img_LDFLAGS): Likewise.
19304 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
19305 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
19306 <lode_leroy@hotmail.com>.
19307
6c51eb64 193082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19309
19310 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
19311 there was no input.
19312
cfb12aff 193132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19314
19315 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
19316 the history buffer logic.
19317
6eabba74 193182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19319
19320 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
19321 (FILETYPE_INO_SYMLINK): New macros.
19322 (grub_ext2_find_file): Check if the node is a directory using the
19323 inode stat information instead of using the filetype in the
19324 dirent. Exclude the first character of an absolute symlink.
19325 (grub_ext2_dir): Mask out the filetype part of the mode member of
19326 the inode.
19327
66e19ef8 193282004-05-24 Marco Gerards <metgerards@student.han.nl>
19329
19330 Add support for UFS version 1 and 2. Add support for the minix
19331 filesystem version 1 and 2, both the variants with 14 and 30 long
19332 filenames.
f19dbdb7 19333
66e19ef8 19334 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
19335 fs/minix.c.
19336 (grub_emu_SOURCES): Likewise.
19337 (pkgdata_MODULES): Add ufs.mod and minix.mod.
19338 (ufs_mod_SOURCES): New variable.
19339 (ufs_mod_CFLAGS): Likewise.
19340 (minix_mod_SOURCES): Likewise.
19341 (minix_mod_CFLAGS): Likewise.
19342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
19343 fs/minix.c.
19344 (grubof_SOURCES): Likewise.
19345 * fs/ufs.c: New file.
19346 * fs/minix.c: New file.
19347 * include/grub/fs.h (grub_ufs_init): New prototype.
19348 (grub_ufs_fini): Likewise.
19349 (grub_minix_init): Likewise.
19350 (grub_minix_fini): Likewise.
19351 * util/grub-emu.c (main): Initialize and deinitialize UFS and
19352 minix fs.
19353
cc2e748a 193542004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
19355
19356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
19357 commands/ls.c, commands/terminal.c, commands/boot.c,
19358 commands/cmp.c and commands/cat.c.
19359 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
19360
19361 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
19362 "env.h"
19363
4b13b216 193642004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19365
19366 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
19367 and grub_, respectively. Because the conversion is trivial and
19368 mechanical, I omit the details here. Please refer to the CVS
19369 if you need more information.
19370
6a142551 193712004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19372
19373 * include/pupa: Renamed to ...
19374 * include/grub: ... this.
19375 * util/i386/pc/pupa-mkimage.c: Renamed to ...
19376 * util/i386/pc/grub-mkimage.c: ... this.
19377 * util/i386/pc/pupa-setup.c: Renamed to ...
19378 * util/i386/pc/grub-setup.c: ... this.
19379 * util/pupa-emu.c: Renamed to ...
19380 * util/grub-emu.c: ... this.
19381
e56cdf21 193822004-03-29 Marco Gerards <metgerards@student.han.nl>
19383
19384 Add support for the newworld apple macintosh (PPC). This has been
19385 tested on the powerbook 2000 only. It only adds support for
19386 generic ieee1275 functions, console and disk support. This should
19387 be easy to port to other architectures with support for Open
19388 Firmware.
f19dbdb7 19389
e56cdf21 19390 * configure.ac: Accept the powerpc as host_cpu. In the case of
19391 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
19392 specific tests are only executed while building for the i386.
19393 Inverse test for crosscompile.
19394 * genmk.rb (Utility): Allow assembler files.
19395 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
19396 * conf/powerpc-ieee1275.rmk: New file.
19397 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
19398 * disk/powerpc/ieee1275/partition.c: Likewise.
19399 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
19400 * include/pupa/powerpc/ieee1275/console.h: Likewise.
19401 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
19402 * include/pupa/powerpc/ieee1275/time.h: Likewise.
19403 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
19404 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
19405 * include/pupa/powerpc/ieee1275/loader.h
19406 * include/pupa/powerpc/setjmp.h: Likewise.
19407 * include/pupa/powerpc/types.h: Likewise.
19408 * kern/powerpc/ieee1275/init.c: Likewise.
19409 * kern/powerpc/ieee1275/openfw.c: Likewise.
19410 * term/powerpc/ieee1275/ofconsole.c: Likewise.
19411
19412 These files were written by Johan Rydberg
19413 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 19414
e56cdf21 19415 * boot/powerpc/ieee1275/cmain.c: New file.
19416 * boot/powerpc/ieee1275/crt0.S: Likewise.
19417 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
19418 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
19419
8c8cc205 194202004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
19421
19422 * Makefile.in: Update copyright.
19423 * genmodsrc.sh: Likewise.
19424 * gensymlist.sh: Likewise.
19425 * term/i386/pc/vga.c: Indent correctly.
19426
19427 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
19428 bugreporting address.
19429 * util/i386/pc/pupa-setup.c (usage): Likewise,
19430 (main): Call pupa_ext2_init and pupa_ext2_fini.
19431
f19dbdb7 19432 * fs/fat.c (log2): Renamed to ...
8c8cc205 19433 (fat_log2): ... this.
19434 All callers changed.
19435 * kern/misc.c (memcpy): Alias to pupa_memmove.
19436 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
19437 lvalue cast.
19438 * util/console.c (pupa_ncurses_fini): Return 0.
19439
19440 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
19441 Move fail label here.
19442 [__GNU__]: Don't warn when using stat.
19443 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
19444 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
19445 long int. Use strtol instead of strtoul.
f19dbdb7 19446
db1771cf 194472004-03-14 Marco Gerards <metgerards@student.han.nl>
19448
19449 * commands/boot.c: New file.
19450 * commands/cat.c: Likewise.
19451 * commands/cmp.c: Likewise.
19452 * commands/ls.c: Likewise.
19453 * commands/terminal.c: Likewise.
19454 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
19455 (pupa_register_command): Changed interface to match the new
19456 argument parser.
19457 (pupa_command_execute): Changed (almost rewritten) so it uses
19458 pupa_split_command. Added support for setting variables using the
19459 syntax `foo=bar'.
19460 (rescue_command): Changed to work with the new argument parser.
19461 (terminal_command): Moved from here to commands/terminal.c.
19462 (set_command): New function.
19463 (unset_command): New function.
19464 (insmod_command): New function.
19465 (rmmod_command): New function.
19466 (lsmod_command): New function.
19467 (pupa_command_init): Don't initialize the command terminal
19468 anymore. Initialize the commands set, unset, insmod, rmmod and
19469 lsmod.
19470 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
19471 (kernel_img_HEADERS): Add arg.h and env.h.
19472 (pupa_mkimage_LDFLAGS): Add kern/env.c.
19473 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
19474 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
19475 normal/arg.c.
19476 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
19477 terminal.mod.
19478 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
19479 (boot_mod_SOURCES): New variable.
19480 (terminal_mod_SOURCES): Likewise.
19481 (ls_mod_SOURCES): Likewise.
19482 (cmp_mod_SOURCES): Likewise.
19483 (cat_mod_SOURCES): Likewise.
19484
19485 * normal/arg.c: New file.
19486 * kern/env.c: Likewise.
19487 * include/pupa/arg.h: Likewise.
19488 * include/pupa/env.h: Likewise.
19489 * font/manager.c (font_command): Changed to match argument parsing
19490 interface changes.
19491 (PUPA_MOD_INIT): Likewise.
19492 * hello/hello.c (pupa_cmd_hello): Likewise.
19493 (PUPA_MOD_INIT): Likewise.
19494 * include/pupa/disk.h: Include <pupa/device.h>.
19495 (pupa_print_partinfo): New prototype.
19496 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
19497 (pupa_dl_get_prefix): Likewise.
19498 * include/pupa/misc.h: Include <pupa/err.h>.
19499 (pupa_isgraph): New prototype.
19500 (pupa_isdigit): Likewise.
19501 (pupa_split_cmdline): Likewise.
19502 * include/pupa/normal.h: Include <pupa/arg.h>.
19503 (pupa_command): Changed the prototype of the member `func' to
19504 match the argument parsing interface. Added member `options'.
19505 (pupa_register_command): Updated to match function.
19506 (pupa_arg_parse): New prototype.
19507 (pupa_hello_init) [PUPA_UTIL]: New prototype.
19508 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
19509 (pupa_ls_init) [PUPA_UTIL]: Likewise.
19510 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
19511 (pupa_cat_init) [PUPA_UTIL]: Likewise.
19512 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
19513 (pupa_boot_init) [PUPA_UTIL]: Likewise.
19514 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
19515 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
19516 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
19517 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
19518 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
19519 * kern/disk.c: Include <pupa/file.h>.
19520 (pupa_print_partinfo): New function.
19521 * kern/dl.c: Include <pupa/env.h>.
19522 (pupa_dl_dir): Variable removed.
19523 (pupa_dl_load): Use the environment variable `prefix' instead of
19524 the variable pupa_dl_dir.
19525 (pupa_dl_set_prefix): Function removed.
19526 (pupa_dl_get_prefix): Likewise.
19527 * kern/i386/pc/init.c: Include <pupa/env.h>.
19528 (pupa_machine_init): Use the environment variable `prefix' instead of
19529 using pupa_dl_set_prefix to set the prefix.
19530 * kern/main.c: Include <pupa/env.h>.
19531 (pupa_set_root_dev): Use the environment variable `prefix' instead of
19532 using pupa_dl_get_prefix to get the prefix.
19533 * kern/misc.c: Include <pupa/env.h>.
19534 (pupa_isdigit): New function.
19535 (pupa_isgraph): Likewise.
19536 (pupa_ftoa): Likewise.
19537 (pupa_vsprintf): Added support for printing values of the type
19538 `double'. Make it possible to format variable output when using
19539 formatting like `%1.2%f'.
19540 (pupa_split_cmdline): New function.
19541 * kern/rescue.c: Include <pupa/env.h>.
19542 (next_word): Removed function.
19543 (pupa_rescue_cmd_prefix): Likewise.
19544 (pupa_rescue_cmd_set): New function.
19545 (pupa_rescue_cmd_unset): New function.
19546 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
19547 split the command line instead of splitting it here. Added
19548 support for setting variables using the syntax `foo=bar'. Don't
19549 initialize the prefix command anymore. Initialized the set and
19550 unset commands.
19551 * normal/cmdline.c: Include <pupa/env.h>.
19552 (pupa_tab_complete): Added prototypes for print_simple_completion,
19553 print_partition_completion, add_completion, iterate_commands,
19554 iterate_dev, iterate_part and iterate_dir. Moved code to print
19555 partition information from here to kern/disk.c.
fe6b695a 19556 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 19557 * normal/main.c: Include <pupa/env.h>.
19558 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
19559 instead of using pupa_dl_get_prefix to get the prefix.
19560 * term/i386/pc/vga.c: Include <pupa/arg.h>.
19561 (check_vga_mem): Cast pointers to `void *' to silence a gcc
19562 warning.
19563 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
19564 (pupa_vga_setcolor): Declare unused variables with `__attribute__
19565 ((unused))' to silence a gcc warning.
19566 (pupa_vga_setcolor): Likewise.
19567 (debug_command): Changed to match argument parsing
19568 interface changes.
19569 * util/pupa-emu.c: Include <pupa/env.h>.
19570 (options): Added 0's for unused fields to silence a gcc warning.
19571 (argp): Likewise.
19572 (main): Use the environment variable `prefix' instead of using
19573 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
19574 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
19575 and terminal.
19576
19577 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
19578 * util/misc.c: Include <malloc.h>.
19579 (pupa_malloc): Rewritten so errors are correctly reported.
19580 (pupa_realloc): Likewise.
19581 (pupa_memalign): Likewise.
19582 (pupa_mm_init_region): Declare unused variables with
19583 `__attribute__ ((unused))' to silence a gcc warning.
19584 * normal/i386/setjmp.S: Remove tab at the end of the file to
19585 silence a gcc warning.
19586 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
19587 variables with `__attribute__ ((unused))' to silence a gcc
19588 warning.
19589 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
19590 local variable i unsigned to silence a gcc warning.
19591
19592 * kern/term.c: Include <pupa/misc.h>.
19593 (pupa_more_lines): New variable.
19594 (pupa_more): Likewise.
19595 (pupa_putcode): When the pager is active pause at the end of every
19596 screen.
19597 (pupa_set_more): New function.
19598 * include/pupa/term.h (pupa_set_more): New prototype.
19599
19600
3b1139cb 196012004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
19602
19603 Now this project is GRUB 2 rather than PUPA. The location of
19604 the CVS repository was moved to GRUB's.
f19dbdb7 19605
3b1139cb 19606 * configure.ac: Use bug-grub as the reporting address.
19607 Use GRUB instead of PUPA.
19608 Change the version number to 1.90.
19609
8367695c 196102004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
19611
19612 * genkernsyms.sh: Updated copyright information.
19613 * genmk.rb: Likewise.
19614 * genmodsrc.sh: Likewise.
19615 * gensymlist.sh: Likewise.
19616 * boot/i386/pc/boot.S: Likewise.
19617 * boot/i386/pc/diskboot.S: Likewise.
19618 * disk/i386/pc/biosdisk.c: Likewise.
19619 * disk/i386/pc/partition.c: Likewise.
19620 * font/manager.c: Likewise.
19621 * fs/ext2.c: Likewise.
19622 * fs/fat.c: Likewise.
19623 * include/pupa/boot.h: Likewise.
19624 * include/pupa/device.h: Likewise.
19625 * include/pupa/disk.h: Likewise.
19626 * include/pupa/dl.h: Likewise.
19627 * include/pupa/elf.h: Likewise.
19628 * include/pupa/err.h: Likewise.
19629 * include/pupa/file.h: Likewise.
19630 * include/pupa/font.h: Likewise.
19631 * include/pupa/fs.h: Likewise.
19632 * include/pupa/kernel.h: Likewise.
19633 * include/pupa/loader.h: Likewise.
19634 * include/pupa/misc.h: Likewise.
19635 * include/pupa/mm.h: Likewise.
19636 * include/pupa/net.h: Likewise.
19637 * include/pupa/normal.h: Likewise.
19638 * include/pupa/rescue.h: Likewise.
19639 * include/pupa/setjmp.h: Likewise.
19640 * include/pupa/symbol.h: Likewise.
19641 * include/pupa/term.h: Likewise.
19642 * include/pupa/types.h: Likewise.
19643 * include/pupa/i386/setjmp.h: Likewise.
19644 * include/pupa/i386/types.h: Likewise.
19645 * include/pupa/i386/pc/biosdisk.h: Likewise.
19646 * include/pupa/i386/pc/boot.h: Likewise.
19647 * include/pupa/i386/pc/console.h: Likewise.
19648 * include/pupa/i386/pc/init.h: Likewise.
19649 * include/pupa/i386/pc/kernel.h: Likewise.
19650 * include/pupa/i386/pc/linux.h: Likewise.
19651 * include/pupa/i386/pc/loader.h: Likewise.
19652 * include/pupa/i386/pc/memory.h: Likewise.
19653 * include/pupa/i386/pc/multiboot.h: Likewise.
19654 * include/pupa/i386/pc/partition.h: Likewise.
19655 * include/pupa/i386/pc/time.h: Likewise.
19656 * include/pupa/i386/pc/vga.h: Likewise.
19657 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
19658 * include/pupa/util/getroot.h: Likewise.
19659 * include/pupa/util/misc.h: Likewise.
19660 * include/pupa/util/resolve.h: Likewise.
19661 * kern/device.c: Likewise.
19662 * kern/disk.c: Likewise.
19663 * kern/dl.c: Likewise.
19664 * kern/err.c: Likewise.
19665 * kern/file.c: Likewise.
19666 * kern/fs.c: Likewise.
19667 * kern/loader.c: Likewise.
19668 * kern/main.c: Likewise.
19669 * kern/misc.c: Likewise.
19670 * kern/mm.c: Likewise.
19671 * kern/rescue.c: Likewise.
19672 * kern/term.c: Likewise.
19673 * kern/i386/dl.c: Likewise.
19674 * kern/i386/pc/init.c: Likewise.
19675 * kern/i386/pc/lzo1x.S: Likewise.
19676 * kern/i386/pc/startup.S: Likewise.
19677 * loader/i386/pc/chainloader.c: Likewise.
19678 * loader/i386/pc/linux.c: Likewise.
19679 * loader/i386/pc/multiboot.c: Likewise.
19680 * normal/cmdline.c: Likewise.
19681 * normal/command.c: Likewise.
19682 * normal/main.c: Likewise.
19683 * normal/menu.c: Likewise.
19684 * normal/i386/setjmp.S: Likewise.
19685 * term/i386/pc/console.c: Likewise.
19686 * term/i386/pc/vga.c: Likewise.
19687 * util/console.c: Likewise.
19688 * util/genmoddep.c: Likewise.
19689 * util/misc.c: Likewise.
19690 * util/pupa-emu.c: Likewise.
19691 * util/resolve.c: Likewise.
19692 * util/unifont2pff.rb: Likewise.
19693 * util/i386/pc/biosdisk.c: Likewise.
19694 * util/i386/pc/getroot.c: Likewise.
19695 * util/i386/pc/pupa-mkimage.c: Likewise.
19696 * util/i386/pc/pupa-setup.c: Likewise.
19697
e6eced71 196982004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
19699
19700 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
19701 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
19702 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
19703 reading and reset it after reading.
19704 (pupa_ext2_close): Return PUPA_ERR_NONE.
19705
19706 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
19707 Correct value.
19708 (struct linux_kernel_header): Add kernel_version and
19709 initrd_addr_max.
19710 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
19711 pupa_file_read succeeds.
19712 (pupa_rescue_cmd_initrd): Implement.
19713
5aded270 197142003-12-03 Marco Gerards <metgerards@student.han.nl>
19715
19716 * fs/ext2.c (pupa_ext2_label): New function.
19717 (pupa_ext2_fs): Added label.
19718 * fs/fat.c (pupa_fat_label): New function.
19719 (pupa_fat_fs): Added label.
19720 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
19721
19722 * kern/misc.c (pupa_strndup): New function.
19723 * include/pupa/misc.h (pupa_strndup): New prototype.
19724
19725 * include/pupa/normal.h: Include <pupa/err.h>.
19726 (pupa_set_history): New prototype.
19727 (pupa_iterate_commands): New prototype.
19728 * normal/cmdline.c: Include <pupa/machine/partition.h>,
19729 <pupa/disk.h>, <pupa/file.h>.
19730 (hist_size): New variable.
19731 (hist_lines): Likewise.
19732 (hist_end): Likewise.
19733 (hist_used): Likewise.
19734 (pupa_set_history): New function.
19735 (pupa_history_get): Likewise.
19736 (pupa_history_add): Likewise.
19737 (pupa_history_replace): Likewise.
19738 (pupa_tab_complete): Likewise.
19739 (pupa_cmdline_run): Added tab completion and history buffer. Tab
19740 completion shows partitionnames while completing partitions, this
19741 feature was suggested by Jeff Bailey.
19742 * normal/command.c (pupa_iterate_commands): New function.
19743 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
19744 (pupa_normal_init): Initialize history buffer.
19745 (PUPA_MOD_INIT): Likewise.
19746 (pupa_normal_fini): Free the history buffer.
19747 (PUPA_MOD_FINI): Likewise.
19748
19749 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
19750 key.
19751
19752 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
19753 * configure.ac [i386]: Check for regparam bug.
19754 (NESTED_FUNC_ATTR) [! i386]: Defined.
19755
1f7315a3 197562003-11-17 Marco Gerards <metgerards@student.han.nl>
19757
19758 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
19759 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
19760 (pupa_emu_SOURCES): New variable.
19761 (pupa_emu_LDFLAGS): Likewise.
19762 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
19763 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
19764 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
19765 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19766 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
19767 (pupa_jmp_buf): New typedef.
19768 (pupa_setjmp) [PUPA_UTIL]: New macro.
19769 (pupa_longjmp) [PUPA_UTIL]: Likewise.
19770 * include/pupa/term.h (struct pupa_term): New member `refresh'.
19771 (pupa_refresh): New prototype.
19772 * include/pupa/util/getroot.h: New file.
19773 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
19774 it.
19775 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
19776 (pupa_rescue_cmd_cat): Likewise.
19777 (pupa_rescue_cmd_ls): Likewise.
19778 (pupa_rescue_cmd_testload): Likewise.
19779 (pupa_rescue_cmd_lsmod): Likewise.
19780 * normal/cmdline.c (pupa_cmdline_get): Likewise.
19781 * normal/menu.c (run_menu): Likewise.
19782 * kern/term.c (pupa_cls): Likewise.
19783 (pupa_refresh): New function.
19784 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
19785 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19786 * util/console.c: New file.
f19dbdb7 19787
1f7315a3 19788 * util/i386/pc/getroot.c: New file.
19789 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
19790 (pupa_putchar): New function.
19791 (pupa_refresh): Likewise.
19792 (xgetcwd): Function moved to ...
19793 (strip_extra_slashes): Likewise.
19794 (get_prefix): Likewise.
f19dbdb7 19795 * util/i386/pc/getroot.c: ... here.
1f7315a3 19796 (find_root_device): Function moved and renamed to...
19797 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
19798 Changed all callers.
19799 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
19800 and renamed to...
19801 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
19802 Changed all callers.
19803 * util/misc.c (pupa_memalign): New function.
19804 (pupa_mm_init_region): Likewise.
19805 (pupa_register_exported_symbols): Likewise.
19806 (pupa_putchar): Function removed.
19807 * util/pupa-emu.c: New file.
19808
9a5c1ade 198092003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
19810
19811 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
19812 (_multiboot_mod_SOURCES): New variable.
19813 (_multiboot_mod_CFLAGS): Likewise.
19814 * loader/i386/pc/multiboot.c: New file.
19815 * include/pupa/i386/pc/multiboot.h: Likewise.
19816 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
19817 (pupa_multiboot_real_boot): New function.
19818 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
19819 (pupa_multiboot_real_boot): New prototype.
19820 (pupa_rescue_cmd_multiboot): Likewise
19821 (pupa_rescue_cmd_module): Likewise.
19822
19823 * kern/loader.c (pupa_loader_set): Continue when
19824 pupa_loader_unload_func() fails.
19825 (pupa_loader_unset): New function.
19826 * include/pupa/loader.h (pupa_loader_unset): New prototype.
19827
19828 * kern/misc.c (pupa_stpcpy): New function.
19829 * include/pupa/misc.h (pupa_stpcpy): New prototype.
19830
8e72a9c0 198312003-11-12 Marco Gerards <metgerards@student.han.nl>
19832
19833 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
19834 for available extensions.
19835
19836 * include/pupa/i386/pc/time.h: New file.
19837 * kern/disk.c: Include <pupa/machine/time.h>.
19838 (PUPA_CACHE_TIMEOUT): New macro.
19839 (pupa_last_time): New variable.
19840 (pupa_disk_open): Flush the cache when there was a timeout.
19841 (pupa_disk_close): Reset the timer.
19842 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
19843 pupa_currticks.
19844 * util/misc.c: Include <sys/times.h>
19845 (pupa_get_rtc): New function.
19846
c4adbd32 198472003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19848
19849 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
19850 as blocks.
19851 (pupa_ext2_get_file_block): Use blocks member.
19852
19853 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
19854 first block. Return -1 instead of pupa_errno on error.
19855
bfd30f06 198562003-10-27 Marco Gerards <metgerards@student.han.nl>
19857
19858 * README: In the pupa-mkimage example use _chain instead of chain
19859 and ext2 instead of fat.
19860 * TODO: Replace ext2fs with jfs as an example. Add an item for
19861 adding journal playback for ext2fs.
19862 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
19863 (pkgdata_MODULES): Added ext2.mod.
19864 (ext2_mod_SOURCES): New variable.
19865 (ext2_mod_CFLAGS): Likewise.
19866 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
19867 * include/pupa/misc.h (pupa_strncpy): New prototype.
19868 (pupa_strcat): Likewise.
19869 (pupa_strncmp): Likewise.
19870 * kern/misc.c (pupa_strcat): Enable function.
19871 (pupa_strncpy): New function.
19872 (pupa_strncmp): Likewise.
19873 * fs/ext2.c: New file.
f19dbdb7 19874
bfd30f06 19875 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
19876 when the read failed before retrying.
19877 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
19878 (_FILE_OFFSET_BITS): Likewise.
19879 * configure.ac: Added AC_SYS_LARGEFILE.
19880
98d15063 198812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19882
19883 * genmk.rb (PModule#rule): Make sure to get only symbol names
19884 from the output of nm.
19885 Reported by Robert Millan <zeratul2@wanadoo.es>.
19886
18d9c7cd 198872003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19888
19889 I forgot to check in these changes for a long time. This adds
19890 incomplete support for VGA console, and this is still very
19891 buggy. Also, a lot of consideration is required for I18N,
19892 UNICODE, and VGA font issues. Therefore, assume that this is
19893 such that "better than nothing".
f19dbdb7 19894
18d9c7cd 19895 * font/manager.c: New file.
19896 * include/pupa/font.h: Likewise.
19897 * include/pupa/i386/pc/vga.h: Likewise.
19898 * term/i386/pc/vga.c: Likewise.
19899 * util/unifont2pff.rb: Likewise.
19900
19901 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
19902 (pkgdata_MODULES): Added vga.mod and font.mod.
19903 (vga_mod_SOURCES): New variables.
19904 (vga_mod_CFLAGS): Likewise.
19905 (font_mod_SOURCES): Likewise.
19906 (font_mod_CFLAGS): Likewise.
19907
19908 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
19909
19910 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 19911 (struct pupa_term): Added init and fini.
18d9c7cd 19912 Changed the argument of putchar to pupa_uint32_t.
19913
19914 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
19915 (pupa_console_real_putchar): New prototype.
19916 (pupa_console_putchar): Removed.
19917 (pupa_console_checkkey): Exported.
19918 (pupa_console_getkey): Likewise.
19919
19920 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
19921 characters.
19922
19923 * kern/term.c (pupa_term_set_current): Rewritten.
19924 (pupa_putchar): Likewise.
19925 (pupa_putcode): New function.
19926
19927 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
19928 (pupa_console_real_putchar): ... this.
19929 (pupa_vga_set_mode): New function.
19930 (pupa_vga_get_font): Likewise.
19931
19932 * normal/command.c: Include pupa/term.h.
19933 (terminal_command): New function.
19934 (pupa_command_init): Register the command "terminal".
19935
19936 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
19937 (DISP_UP): Likewise.
19938 (DISP_RIGHT): Likewise.
19939 (DISP_DOWN): Likewise.
19940 (DISP_HLINE): Likewise.
19941 (DISP_VLINE): Likewise.
19942 (DISP_UL): Likewise.
19943 (DISP_UR): Likewise.
19944 (DISP_LL): Likewise.
19945 (DISP_LR): Likewise.
19946
19947 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 19948
977329f5 199492003-02-08 NIIBE Yutaka <gniibe@m17n.org>
19950
19951 * util/resolve.c (pupa_util_resolve_dependencies): BUG
19952 FIX. Reverse the path_list.
19953
19954 * include/pupa/normal.h: Export pupa_register_command and
19955 pupa_unregister_command.
19956
19957 * hello/hello.c (pupa_cmd_hello): New module.
19958 * conf/i386-pc.rmk: Added hello.mod.
19959
1f5ab428 199602003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
19961
19962 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 19963
1f5ab428 19964 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
19965 (compress_kernel): New variable.
19966 (generate_image): Heavily modified to support compressing a
19967 large part of the core image.
19968
19969 * util/misc.c (pupa_util_read_image): Fix a file descriptor
19970 leak.
19971 (pupa_util_load_image): New function.
19972
19973 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
19974 (pupa_compressed_size): New variable.
19975 (codestart): Enable Gate A20 here.
19976 Decompress the compressed part of the core image.
19977 Rearrange the code to put functions and variables which are
19978 required for initialization in the non-compressed part.
19979 Include lzo1x.S.
19980
19981 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
19982 here.
19983
19984 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
19985
f19dbdb7 19986 * include/pupa/i386/pc/kernel.h
1f5ab428 19987 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
19988 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
19989 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
19990 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
19991 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
19992
19993 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
19994
19995 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
19996 (Utility#rule): Likewise.
19997
19998 * configure.ac: Check if LZO is available.
19999
ce5bf700 200002003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
20001
20002 * include/pupa/normal.h: New file.
20003 * include/pupa/setjmp.h: Likewise.
20004 * include/pupa/i386/setjmp.h: Likewise.
20005 * normal/cmdline.c: Likewise.
20006 * normal/command.c: Likewise.
20007 * normal/main.c: Likewise.
20008 * normal/menu.c: Likewise.
20009 * normal/i386/setjmp.S: Likewise.
f19dbdb7 20010
ce5bf700 20011 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20012 (pupa_rescue_cmd_initrd): Likewise.
20013
20014 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20015 Likewise.
20016
20017 * kern/i386/pc/startup.S (translation_table): New variable.
20018 (translate_keycode): New function.
20019 (pupa_console_getkey): Call translate_keycode.
20020
20021 * kern/rescue.c (attempt_normal_mode): New function.
20022 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20023 it failed, print a message.
20024
20025 * kern/mm.c (pupa_real_malloc): Print more information when a
20026 free magic is broken.
20027 (pupa_free): If the first free header is not free actually, set
20028 it to P.
20029
20030 * kern/main.c (pupa_load_normal_mode): Just load the module
20031 "normal".
20032 (pupa_main): Don't print the message
20033 "Entering into rescue mode..." here.
20034
20035 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20036 Declared.
20037 (pupa_rescue_cmd_initrd): Likewise.
20038 (pupa_rescue_cmd_initrd): Likewise.
20039
20040 * include/pupa/symbol.h (FUNCTION): Specify the type.
20041 (VARIABLE): Likewise.
20042
20043 * include/pupa/err.h (pupa_err_t): Added
20044 PUPA_ERR_UNKNOWN_COMMAND.
20045
20046 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20047 (pupa_dl_get_prefix): Likewise.
20048
20049 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20050 Added _chain.mod and _linux.mod instead of chain.mod and
20051 linux.mod.
20052 (chain_mod_SOURCES): Renamed to ...
20053 (_chain_mod_SOURCES): ... this.
20054 (chain_mod_CFLAGS): Renamed to ...
20055 (_chain_mod_CFLAGS): ... this.
20056 (linux_mod_SOURCES): Renamed to ...
20057 (_linux_mod_SOURCES): ... this.
20058 (linux_mod_CFLAGS): Renamed to ...
20059 (_linux_mod_CFLAGS): ... this.
20060 (normal_mod_SOURCES): New variable.
20061 (normal_mod_CFLAGS): Likewise.
20062 (normal_mod_ASFLAGS): Likewise.
20063
200642003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20065
20066 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20067 possible.
20068
fe6b695a 20069 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 20070 recursively.
20071 (pupa_dl_unref): Unrefer depending modules recursively.
20072 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20073 a module is unloaded before one depending on that module is
20074 unloaded.
20075 (pupa_dl_unload): Unload depending modules explicitly,
20076 if possible.
20077
c04da074 200782003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
20079
20080 * include/pupa/i386/pc/linux.h: New file.
20081 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 20082
c04da074 20083 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
20084 Removed.
20085 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
20086 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
20087 of PUPA_CHAINLOADER_BOOT_SECTOR.
20088
20089 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
20090 (pupa_linux_prot_size): New variable.
20091 (pupa_linux_tmp_addr): Likewise.
20092 (pupa_linux_real_addr): Likewise.
20093 (pupa_linux_boot_zimage): New function.
20094 (pupa_linux_boot_bzimage): Likewise.
20095
20096 * kern/i386/pc/init.c (struct mem_region): New structure.
20097 (MAX_REGIONS): New macro.
20098 (mem_regions): New variable.
20099 (num_regions): Likewise.
20100 (pupa_os_area_addr): Likewise.
20101 (pupa_os_area_size): Likewise.
20102 (pupa_lower_mem): Likewise.
20103 (pupa_upper_mem): Likewise.
20104 (add_mem_region): New function.
20105 (compact_mem_regions): Likewise.
20106 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
20107 the size of the conventional memory and that of so-called upper
20108 memory (before the first memory hole).
20109 Instead of adding each found region to free memory, use
20110 add_mem_region and add them after removing overlaps.
20111 Also, add only 1/4 of the upper memory to free memory. The rest
20112 is used for loading OS images. Maybe this is ad hoc, but this
20113 makes it much easier to relocate OS images when booting.
20114
20115 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
20116 (pupa_enter_rescue_mode): Don't register initrd and module.
20117
20118 * kern/mm.c: Include pupa/dl.h.
20119
20120 * kern/main.c: Include pupa/file.h and pupa/device.h.
20121
20122 * kern/loader.c (pupa_loader_load_module_func): Removed.
20123 (pupa_loader_load_module): Likewise.
20124
20125 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
20126 ``.o''.
20127
20128 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
20129 (pupa_linux_tmp_addr): Likewise.
20130 (pupa_linux_real_addr): Likewise.
20131 (pupa_linux_boot_zimage): Likewise.
20132 (pupa_linux_boot_bzimage): Likewise.
20133
20134 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
20135 (pupa_upper_mem): Likewise.
20136 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
20137 module is too dangerous.
20138
20139 * include/pupa/loader.h (pupa_os_area_addr): Declared.
20140 (pupa_os_area_size): Likewise.
20141 (pupa_loader_set): Remove the first argument. Loader doesn't
20142 manage modules or initrd any longer.
20143 (pupa_loader_load_module): Removed.
20144
20145 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
20146 (linux_mod_SOURCES): New variable.
20147 (linux_mod_CFLAGS): Likewise.
20148
a13f9237 201492003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
20150
20151 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
20152 the length of a blocklist correctly.
20153
20154 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
20155 Use ioctl only if the OS file is a block device.
20156 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
20157 not very useful for normal files.
20158
20159 * kern/main.c (pupa_set_root_dev): New function.
20160 (pupa_load_normal_mode): Likewise.
20161 (pupa_main): Call those above.
20162
20163 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
20164 pupa_uint16_t.
20165
20166 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
20167
a5ffe966 201682003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20169
20170 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
20171 (setup): Configure the installed partition information and the
20172 dl prefix.
20173
20174 * loader/i386/pc/chainloader.c (my_mod): New variable.
20175 (pupa_chainloader_unload): New function.
20176 (pupa_rescue_cmd_chainloader): Refer itself.
20177 (PUPA_MOD_INIT): Save its own module in MY_MOD.
20178
20179 * kern/i386/pc/startup.S (install_partition): Removed.
20180 (version_string): Likewise.
20181 (config_file): Likewise.
20182 (pupa_install_dos_part): New variable.
20183 (pupa_install_bsd_part): Likewise.
20184 (pupa_prefix): Likewise.
20185 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
20186
20187 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
20188 and pupa/misc.h.
20189 (make_install_device): New function.
20190 (pupa_machine_init): Set the dl prefix.
20191
20192 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
20193 (buf): Renamed to ...
20194 (linebuf): ... this.
20195 (pupa_rescue_cmd_prefix): New function.
20196 (pupa_rescue_cmd_insmod): Likewise.
20197 (pupa_rescue_cmd_rmmod): Likewise.
20198 (pupa_rescue_cmd_lsmod): Likewise.
20199 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
20200 rmmod and lsmod.
20201
20202 * kern/mm.c (pupa_memalign): If failed even after invalidating
20203 disk caches, unload unneeded modules and retry.
20204
20205 * kern/misc.c (pupa_memmove): New function.
20206 (pupa_memcpy): Removed.
20207 (pupa_strcpy): New function.
20208 (pupa_itoa): Made static.
20209
20210 * kern/dl.c (pupa_dl_iterate): New function.
20211 (pupa_dl_ref): Likewise.
20212 (pupa_dl_unref): Likewise.
20213 (pupa_dl_unload): Return if succeeded or not.
20214 (pupa_dl_unload_unneeded): New function.
20215 (pupa_dl_unload_all): Likewise.
20216 (pupa_dl_init): Renamed to ...
20217 (pupa_dl_set_prefix): ... this.
20218 (pupa_dl_get_prefix): New function.
20219
20220 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
20221 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
20222 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20223 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20224 (pupa_install_dos_part): Declared.
20225 (pupa_install_bsd_part): Likewise.
20226 (pupa_prefix): Likewise.
20227 (pupa_boot_drive): Likewise.
20228
20229 * include/pupa/types.h: Fix a typo.
20230
20231 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
20232 pupa_memmove.
20233 (pupa_memmove): Declared.
20234 (pupa_strcpy): Likewise.
20235
20236 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
20237 pupa_mod_init takes one argument, its own module.
20238 (pupa_dl_unload_unneeded): Declared.
20239 (pupa_dl_unload_all): Likewise.
20240 (pupa_dl_ref): Likewise.
20241 (pupa_dl_unref): Likewise.
20242 (pupa_dl_iterate): Likewise.
20243 (pupa_dl_init): Renamed to ...
20244 (pupa_dl_set_prefix): ... this.
20245 (pupa_dl_get_prefix): Declared.
20246
20247 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 20248 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 20249 unloaded.
20250 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
20251 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
20252
20253 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
20254 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
20255
012d7999 202562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20257
20258 * util/i386/pc/pupa-setup.c (setup): Define the internal
20259 function find_first_partition_start at the top level, because GCC
20260 3.0.x cannot compile internal functions in deeper scopes
20261 correctly.
20262 (find_root_device): Use lstat instead of stat.
20263 Don't follow symbolic links.
20264 Fix the path-constructing code.
20265
20266 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
20267 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
20268 by a BLKGETSIZE ioctl first, because block devices don't fill
20269 the member st_mode of the structure stat on Linux.
20270 [__linux__] (linux_find_partition): Use a temporary buffer
20271 REAL_DEV for the working space. Copy it to DEV before returning.
20272 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
20273 buffer cache consistent.
20274 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
20275 strncmp. The previous value was merely wrong.
20276 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
20277
20278 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
20279 FAT size is 12. The previous value was merely wrong.
20280
20281 * kern/main.c (pupa_main): Don't split the starting message from
20282 newlines.
20283
20284 * kern/term.c (pupa_putchar): Put CR after LF instead of before
20285 LF, because BIOS goes crazy about character attributes in this
20286 case.
20287
1cc73a62 202882003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20289
20290 * include/i386/pc/util/biosdisk.h: New file.
20291 * util/i386/pc/biosdisk.c: Likewise.
20292 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 20293
1cc73a62 20294 * Makefile.in (INCLUDE_DISTFILES): Added
20295 include/pupa/i386/pc/util/biosdisk.h.
20296 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
20297 directory util/i386/pc.
20298 (install-local): Added a rule for sbin_UTILITIES.
20299 (uninstall): Likewise.
20300
20301 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
20302
20303 * util/misc.c (xrealloc): New function.
20304 (pupa_malloc): Likewise.
20305 (pupa_free): Likewise.
20306 (pupa_realloc): Likewise.
20307 (pupa_stop): Likewise.
20308 (pupa_putchar): Likewise.
20309
20310 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
20311
20312 * include/pupa/util/misc.h (xrealloc): Declared.
20313
20314 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
20315 macro.
20316 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
20317 (PUPA_BOOT_MACHINE_BPB_END): ... this.
20318
20319 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
20320 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20321
20322 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
20323 way should be implemented.
20324 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20325
20326 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
20327 the size of NAME for safety.
20328 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
20329 0x88.
20330
20331 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
20332 (pupa_setup_SOURCES): Likewise.
20333
20334 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
20335
08b70fe8 203362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20337
20338 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
20339 bunch of pushl's from pusha, because this destroys the return
20340 value.
20341
62ddcc8f 203422002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20343
20344 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
20345 This means that any missing prototypes could be fatal. Also, you
20346 must take care when writing assembly code. See the comments at
20347 the beginning of startup.S, for more details.
f19dbdb7 20348
62ddcc8f 20349 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
20350 compilation mechanism.
20351 (pupa_chainloader_real_boot): Likewise.
20352 (pupa_biosdisk_rw_int13_extensions): Likewise.
20353 (pupa_biosdisk_rw_standard): Likewise.
20354 (pupa_biosdisk_check_int13_extensions): Likewise.
20355 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
20356 (pupa_biosdisk_get_diskinfo_standard): Likewise.
20357 (pupa_get_memsize): Likewise.
20358 (pupa_get_mmap_entry): Likewise.
20359 (pupa_console_putchar): Likewise.
20360 (pupa_console_setcursor): Likewise.
20361 (pupa_getrtsecs): Use pushl instead of push.
20362
20363 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
20364 memory instead of the stack for a mmap entry, because some
20365 BIOSes may ignore the maximum size and overflow.
20366
20367 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
20368
20369 * genmk.rb (PModule#rule): Compile automatically generated
20370 sources with module-specific CFLAGS as well as other sources.
20371
9962ed99 203722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20373
20374 * configure.ac: Check ld.
20375 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
20376 respectively, before checking endianness and sizes.
20377
20378 * Makefile.in (LD): New variable.
f19dbdb7 20379
abdfc3c5 203802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20381
20382 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
20383
6a161fa9 203842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20385
20386 * Changelog: New file.
20387