+++ /dev/null
-diff -urN --exclude-from=xlist-build grub-0.90/configure grub-0.90.jfs+xfs/configure
---- grub-0.90/configure Fri Jul 6 21:56:44 2001
-+++ grub-0.90.jfs+xfs/configure Thu Aug 23 18:21:27 2001
-@@ -32,6 +32,10 @@
- ac_help="$ac_help
- --disable-reiserfs disable ReiserFS support in Stage 2"
- ac_help="$ac_help
-+ --disable-jfs disable IBM JFS support in Stage 2"
-+ac_help="$ac_help
-+ --disable-xfs disable SGI XFS support in Stage 2"
-+ac_help="$ac_help
- --disable-vstafs disable VSTa FS support in Stage 2"
- ac_help="$ac_help
- --disable-gunzip disable decompression in Stage 2"
-@@ -675,7 +679,7 @@
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # ./install, which can be erroneously created by make from ./install.sh.
- echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
--echo "configure:679: checking for a BSD compatible install" >&5
-+echo "configure:683: checking for a BSD compatible install" >&5
- if test -z "$INSTALL"; then
- if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -728,7 +732,7 @@
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
- echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
--echo "configure:732: checking whether build environment is sane" >&5
-+echo "configure:736: checking whether build environment is sane" >&5
- # Just in case
- sleep 1
- echo timestamp > conftest.file
-@@ -800,7 +804,7 @@
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:804: checking for $ac_word" >&5
-+echo "configure:808: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -830,7 +834,7 @@
- done
-
- echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
--echo "configure:834: checking whether ${MAKE-make} sets \${MAKE}" >&5
-+echo "configure:838: checking whether ${MAKE-make} sets \${MAKE}" >&5
- set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -960,7 +964,7 @@
- fi
-
- echo $ac_n "checking host system type""... $ac_c" 1>&6
--echo "configure:964: checking host system type" >&5
-+echo "configure:968: checking host system type" >&5
-
- host_alias=$host
- case "$host_alias" in
-@@ -994,7 +998,7 @@
- #
-
- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
--echo "configure:998: checking whether to enable maintainer-specific portions of Makefiles" >&5
-+echo "configure:1002: checking whether to enable maintainer-specific portions of Makefiles" >&5
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
- if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
-@@ -1020,7 +1024,7 @@
- # Extract the first word of "perl", so it can be a program name with args.
- set dummy perl; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1024: checking for $ac_word" >&5
-+echo "configure:1028: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1067,7 +1071,7 @@
- #
-
- echo $ac_n "checking build system type""... $ac_c" 1>&6
--echo "configure:1071: checking build system type" >&5
-+echo "configure:1075: checking build system type" >&5
-
- build_alias=$build
- case "$build_alias" in
-@@ -1093,7 +1097,7 @@
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}gcc; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1097: checking for $ac_word" >&5
-+echo "configure:1101: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1125,7 +1129,7 @@
- # Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1129: checking for $ac_word" >&5
-+echo "configure:1133: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1155,7 +1159,7 @@
- # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1159: checking for $ac_word" >&5
-+echo "configure:1163: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1206,7 +1210,7 @@
- # Extract the first word of "cl", so it can be a program name with args.
- set dummy cl; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1210: checking for $ac_word" >&5
-+echo "configure:1214: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1238,7 +1242,7 @@
- fi
-
- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
--echo "configure:1242: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-+echo "configure:1246: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-@@ -1249,12 +1253,12 @@
-
- cat > conftest.$ac_ext << EOF
-
--#line 1253 "configure"
-+#line 1257 "configure"
- #include "confdefs.h"
-
- main(){return(0);}
- EOF
--if { (eval echo configure:1258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:1262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
-@@ -1280,12 +1284,12 @@
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
- fi
- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
--echo "configure:1284: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-+echo "configure:1288: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
- echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
--echo "configure:1289: checking whether we are using GNU C" >&5
-+echo "configure:1293: checking whether we are using GNU C" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1294,7 +1298,7 @@
- yes;
- #endif
- EOF
--if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
- else
- ac_cv_prog_gcc=no
-@@ -1313,7 +1317,7 @@
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
--echo "configure:1317: checking whether ${CC-cc} accepts -g" >&5
-+echo "configure:1321: checking whether ${CC-cc} accepts -g" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1346,7 +1350,7 @@
-
-
- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:1350: checking how to run the C preprocessor" >&5
-+echo "configure:1354: checking how to run the C preprocessor" >&5
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-@@ -1361,13 +1365,13 @@
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
--#line 1365 "configure"
-+#line 1369 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:1375: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -1378,13 +1382,13 @@
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
--#line 1382 "configure"
-+#line 1386 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1388: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:1392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -1395,13 +1399,13 @@
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
--#line 1399 "configure"
-+#line 1403 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:1409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -1432,7 +1436,7 @@
- END
- # If we don't find an include directive, just comment out the code.
- echo $ac_n "checking for style of include used by $am_make""... $ac_c" 1>&6
--echo "configure:1436: checking for style of include used by $am_make" >&5
-+echo "configure:1440: checking for style of include used by $am_make" >&5
- _am_include='#'
- _am_quote=
- _am_result=none
-@@ -1471,7 +1475,7 @@
-
-
- echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6
--echo "configure:1475: checking dependency style of $depcc" >&5
-+echo "configure:1479: checking dependency style of $depcc" >&5
- if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1550,7 +1554,7 @@
- # Extract the first word of "ranlib", so it can be a program name with args.
- set dummy ranlib; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1554: checking for $ac_word" >&5
-+echo "configure:1558: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1587,7 +1591,7 @@
- # Extract the first word of "ranlib", so it can be a program name with args.
- set dummy ranlib; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1591: checking for $ac_word" >&5
-+echo "configure:1595: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1627,7 +1631,7 @@
- STAGE1_CFLAGS="-O2"
- GRUB_CFLAGS="-O2"
- echo $ac_n "checking whether optimization for size works""... $ac_c" 1>&6
--echo "configure:1631: checking whether optimization for size works" >&5
-+echo "configure:1635: checking whether optimization for size works" >&5
- if eval "test \"`echo '$''{'size_flag'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1635,14 +1639,14 @@
- saved_CFLAGS=$CFLAGS
- CFLAGS="-Os -g"
- cat > conftest.$ac_ext <<EOF
--#line 1639 "configure"
-+#line 1643 "configure"
- #include "confdefs.h"
-
- int main() {
-
- ; return 0; }
- EOF
--if { (eval echo configure:1646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- size_flag=yes
- else
-@@ -1674,7 +1678,7 @@
- CPPFLAGS="$CPPFLAGS -Wpointer-arith"
-
- echo $ac_n "checking whether -Wundef works""... $ac_c" 1>&6
--echo "configure:1678: checking whether -Wundef works" >&5
-+echo "configure:1682: checking whether -Wundef works" >&5
- if eval "test \"`echo '$''{'undef_flag'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1682,14 +1686,14 @@
- saved_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="-Wundef"
- cat > conftest.$ac_ext <<EOF
--#line 1686 "configure"
-+#line 1690 "configure"
- #include "confdefs.h"
-
- int main() {
-
- ; return 0; }
- EOF
--if { (eval echo configure:1693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- undef_flag=yes
- else
-@@ -1716,7 +1720,7 @@
- # Extract the first word of "objcopy", so it can be a program name with args.
- set dummy objcopy; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1720: checking for $ac_word" >&5
-+echo "configure:1724: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_path_OBJCOPY'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1752,7 +1756,7 @@
- # Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args.
- set dummy ${ac_tool_prefix}objcopy; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1756: checking for $ac_word" >&5
-+echo "configure:1760: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1786,7 +1790,7 @@
- # Defined in acinclude.m4.
-
- echo $ac_n "checking if C symbols get an underscore after compilation""... $ac_c" 1>&6
--echo "configure:1790: checking if C symbols get an underscore after compilation" >&5
-+echo "configure:1794: checking if C symbols get an underscore after compilation" >&5
- if eval "test \"`echo '$''{'grub_cv_asm_uscore'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1799,7 +1803,7 @@
- }
- EOF
-
--if { ac_try='${CC-cc} ${CFLAGS} -S conftest.c'; { (eval echo configure:1803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then
-+if { ac_try='${CC-cc} ${CFLAGS} -S conftest.c'; { (eval echo configure:1807: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then
- true
- else
- { echo "configure: error: ${CC-cc} failed to produce assembly code" 1>&2; exit 1; }
-@@ -1825,7 +1829,7 @@
- echo "$ac_t""$grub_cv_asm_uscore" 1>&6
-
- echo $ac_n "checking whether ${OBJCOPY} works for absolute addresses""... $ac_c" 1>&6
--echo "configure:1829: checking whether ${OBJCOPY} works for absolute addresses" >&5
-+echo "configure:1833: checking whether ${OBJCOPY} works for absolute addresses" >&5
- if eval "test \"`echo '$''{'grub_cv_prog_objcopy_absolute'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1837,21 +1841,21 @@
- }
- EOF
-
--if { (eval echo configure:1841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then :
-+if { (eval echo configure:1845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then :
- else
- { echo "configure: error: ${CC-cc} cannot compile C source code" 1>&2; exit 1; }
- fi
- grub_cv_prog_objcopy_absolute=yes
- for link_addr in 2000 8000 7C00; do
-- if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec'; { (eval echo configure:1847: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
-+ if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec'; { (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
- else
- { echo "configure: error: ${CC-cc} cannot link at address $link_addr" 1>&2; exit 1; }
- fi
-- if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
-+ if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
- else
- { echo "configure: error: ${OBJCOPY-objcopy} cannot create binary files" 1>&2; exit 1; }
- fi
-- if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
-+ if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
- mv -f conftest conftest.old
- else
- grub_cv_prog_objcopy_absolute=no
-@@ -1868,7 +1872,7 @@
-
-
- echo $ac_n "checking whether addr32 must be in the same line as the instruction""... $ac_c" 1>&6
--echo "configure:1872: checking whether addr32 must be in the same line as the instruction" >&5
-+echo "configure:1876: checking whether addr32 must be in the same line as the instruction" >&5
- if eval "test \"`echo '$''{'grub_cv_asm_prefix_requirement'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1877,7 +1881,7 @@
- l1: addr32 movb %al, l1
- EOF
-
--if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1881: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
-+if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1885: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
- grub_cv_asm_prefix_requirement=yes
- else
- grub_cv_asm_prefix_requirement=no
-@@ -1909,7 +1913,7 @@
-
-
- echo $ac_n "checking for .code16 addr32 assembler support""... $ac_c" 1>&6
--echo "configure:1913: checking for .code16 addr32 assembler support" >&5
-+echo "configure:1917: checking for .code16 addr32 assembler support" >&5
- if eval "test \"`echo '$''{'grub_cv_asm_addr32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1924,7 +1928,7 @@
- sed -e s/@ADDR32@/addr32\;/ < conftest.s.in > conftest.s
- fi
-
--if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
-+if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1932: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
- grub_cv_asm_addr32=yes
- else
- grub_cv_asm_addr32=no
-@@ -1941,7 +1945,7 @@
-
-
- echo $ac_n "checking whether an absolute indirect call/jump must not be prefixed with an asterisk""... $ac_c" 1>&6
--echo "configure:1945: checking whether an absolute indirect call/jump must not be prefixed with an asterisk" >&5
-+echo "configure:1949: checking whether an absolute indirect call/jump must not be prefixed with an asterisk" >&5
- if eval "test \"`echo '$''{'grub_cv_asm_absolute_without_asterisk'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1952,7 +1956,7 @@
- .word 0
- EOF
-
--if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
-+if { ac_try='${CC-cc} ${CFLAGS} -c conftest.s'; { (eval echo configure:1960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
- grub_cv_asm_absolute_without_asterisk=no
- else
- grub_cv_asm_absolute_without_asterisk=yes
-@@ -1973,19 +1977,19 @@
-
-
- echo $ac_n "checking if start is defined by the compiler""... $ac_c" 1>&6
--echo "configure:1977: checking if start is defined by the compiler" >&5
-+echo "configure:1981: checking if start is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_start_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1982 "configure"
-+#line 1986 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl start")
- ; return 0; }
- EOF
--if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:1993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_start_symbol=yes
- else
-@@ -2009,19 +2013,19 @@
-
-
- echo $ac_n "checking if _start is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2013: checking if _start is defined by the compiler" >&5
-+echo "configure:2017: checking if _start is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_uscore_start_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2018 "configure"
-+#line 2022 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl _start")
- ; return 0; }
- EOF
--if { (eval echo configure:2025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_uscore_start_symbol=yes
- else
-@@ -2050,19 +2054,19 @@
-
-
- echo $ac_n "checking if __bss_start is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2054: checking if __bss_start is defined by the compiler" >&5
-+echo "configure:2058: checking if __bss_start is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_uscore_uscore_bss_start_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2059 "configure"
-+#line 2063 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl __bss_start")
- ; return 0; }
- EOF
--if { (eval echo configure:2066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_uscore_uscore_bss_start_symbol=yes
- else
-@@ -2086,19 +2090,19 @@
-
-
- echo $ac_n "checking if _edata is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2090: checking if _edata is defined by the compiler" >&5
-+echo "configure:2094: checking if _edata is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_uscore_edata_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2095 "configure"
-+#line 2099 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl _edata")
- ; return 0; }
- EOF
--if { (eval echo configure:2102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_uscore_edata_symbol=yes
- else
-@@ -2122,19 +2126,19 @@
-
-
- echo $ac_n "checking if edata is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2126: checking if edata is defined by the compiler" >&5
-+echo "configure:2130: checking if edata is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_edata_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2131 "configure"
-+#line 2135 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl edata")
- ; return 0; }
- EOF
--if { (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_edata_symbol=yes
- else
-@@ -2164,19 +2168,19 @@
-
-
- echo $ac_n "checking if end is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2168: checking if end is defined by the compiler" >&5
-+echo "configure:2172: checking if end is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_end_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2173 "configure"
-+#line 2177 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl end")
- ; return 0; }
- EOF
--if { (eval echo configure:2180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_end_symbol=yes
- else
-@@ -2200,19 +2204,19 @@
-
-
- echo $ac_n "checking if _end is defined by the compiler""... $ac_c" 1>&6
--echo "configure:2204: checking if _end is defined by the compiler" >&5
-+echo "configure:2208: checking if _end is defined by the compiler" >&5
- if eval "test \"`echo '$''{'grub_cv_check_uscore_end_symbol'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2209 "configure"
-+#line 2213 "configure"
- #include "confdefs.h"
-
- int main() {
- asm ("incl _end")
- ; return 0; }
- EOF
--if { (eval echo configure:2216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- grub_cv_check_uscore_end_symbol=yes
- else
-@@ -2250,7 +2254,7 @@
- # Get the filename or the whole disk and open it.
- # Known to work on NetBSD.
- echo $ac_n "checking for opendisk in -lutil""... $ac_c" 1>&6
--echo "configure:2254: checking for opendisk in -lutil" >&5
-+echo "configure:2258: checking for opendisk in -lutil" >&5
- ac_lib_var=`echo util'_'opendisk | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -2258,7 +2262,7 @@
- ac_save_LIBS="$LIBS"
- LIBS="-lutil $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 2262 "configure"
-+#line 2266 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
-@@ -2269,7 +2273,7 @@
- opendisk()
- ; return 0; }
- EOF
--if { (eval echo configure:2273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -2297,7 +2301,7 @@
- # Unless the user specify --without-curses, check for curses.
- if test "x$with_curses" != "xno"; then
- echo $ac_n "checking for wgetch in -lncurses""... $ac_c" 1>&6
--echo "configure:2301: checking for wgetch in -lncurses" >&5
-+echo "configure:2305: checking for wgetch in -lncurses" >&5
- ac_lib_var=`echo ncurses'_'wgetch | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -2305,7 +2309,7 @@
- ac_save_LIBS="$LIBS"
- LIBS="-lncurses $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 2309 "configure"
-+#line 2313 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
-@@ -2316,7 +2320,7 @@
- wgetch()
- ; return 0; }
- EOF
--if { (eval echo configure:2320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -2339,7 +2343,7 @@
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for wgetch in -lcurses""... $ac_c" 1>&6
--echo "configure:2343: checking for wgetch in -lcurses" >&5
-+echo "configure:2347: checking for wgetch in -lcurses" >&5
- ac_lib_var=`echo curses'_'wgetch | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -2347,7 +2351,7 @@
- ac_save_LIBS="$LIBS"
- LIBS="-lcurses $LIBS"
- cat > conftest.$ac_ext <<EOF
--#line 2351 "configure"
-+#line 2355 "configure"
- #include "confdefs.h"
- /* Override any gcc2 internal prototype to avoid an error. */
- /* We use char because int might match the return type of a gcc2
-@@ -2358,7 +2362,7 @@
- wgetch()
- ; return 0; }
- EOF
--if { (eval echo configure:2362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:2366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
- else
-@@ -2393,17 +2397,17 @@
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:2397: checking for $ac_hdr" >&5
-+echo "configure:2401: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 2402 "configure"
-+#line 2406 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:2407: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:2411: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- rm -rf conftest*
-@@ -2488,6 +2492,28 @@
- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1"
- fi
-
-+# Check whether --enable-jfs or --disable-jfs was given.
-+if test "${enable_jfs+set}" = set; then
-+ enableval="$enable_jfs"
-+ :
-+fi
-+
-+
-+if test x"$enable_jfs" != xno; then
-+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_JFS=1"
-+fi
-+
-+# Check whether --enable-xfs or --disable-xfs was given.
-+if test "${enable_xfs+set}" = set; then
-+ enableval="$enable_xfs"
-+ :
-+fi
-+
-+
-+if test x"$enable_xfs" != xno; then
-+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_XFS=1"
-+fi
-+
- # Check whether --enable-vstafs or --disable-vstafs was given.
- if test "${enable_vstafs+set}" = set; then
- enableval="$enable_vstafs"
-@@ -3039,7 +3065,7 @@
- }
- EOF
-
--if { ac_try='${CC-cc} ${CFLAGS} conftest.c -o conftest'; { (eval echo configure:3043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest; then
-+if { ac_try='${CC-cc} ${CFLAGS} conftest.c -o conftest'; { (eval echo configure:3069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest; then
- grub_tmp_value=`./conftest < "$enable_preset_menu"`
- else
- { echo "configure: error: ${CC-cc} failed to produce an executable file" 1>&2; exit 1; }
-diff -urN --exclude-from=xlist-build grub-0.90/docs/Makefile.in grub-0.90.jfs+xfs/docs/Makefile.in
---- grub-0.90/docs/Makefile.in Thu Jul 5 15:29:56 2001
-+++ grub-0.90.jfs+xfs/docs/Makefile.in Thu Aug 23 18:21:23 2001
-@@ -284,11 +284,11 @@
- done
-
- mostlyclean-aminfo:
-- -rm -f grub.aux grub.cp grub.cps grub.dvi grub.fn grub.ky grub.log grub.pg \
-- grub.ps grub.toc grub.tp grub.vr multiboot.aux multiboot.cp \
-- multiboot.cps multiboot.dvi multiboot.fn multiboot.ky \
-- multiboot.log multiboot.pg multiboot.ps multiboot.toc \
-- multiboot.tp multiboot.vr
-+ -rm -f grub.aux grub.cp grub.dvi grub.fn grub.ky grub.log grub.pg grub.ps \
-+ grub.toc grub.tp grub.vr multiboot.aux multiboot.cp \
-+ multiboot.dvi multiboot.fn multiboot.ky multiboot.log \
-+ multiboot.pg multiboot.ps multiboot.toc multiboot.tp \
-+ multiboot.vr
-
- maintainer-clean-aminfo:
- cd $(srcdir) && \
-diff -urN --exclude-from=xlist-build grub-0.90/stage2/Makefile.in grub-0.90.jfs+xfs/stage2/Makefile.in
---- grub-0.90/stage2/Makefile.in Wed Jul 4 11:33:48 2001
-+++ grub-0.90.jfs+xfs/stage2/Makefile.in Thu Aug 23 18:21:23 2001
-@@ -93,7 +93,7 @@
-
- # For dist target.
- noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \
-- fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
-+ fat.h jfs.h xfs.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
- imgact_aout.h mb_header.h mb_info.h md5.h pc_slice.h serial.h \
- shared.h smp-imps.h nbi.h vstafs.h
-
-@@ -106,32 +106,37 @@
- noinst_LIBRARIES = libgrub.a
- libgrub_a_SOURCES = boot.c builtins.c common.c char_io.c cmdline.c \
- disk_io.c gunzip.c fsys_ffs.c fsys_ext2fs.c fsys_fat.c \
-- fsys_minix.c fsys_reiserfs.c fsys_vstafs.c stage2.c md5.c
-+ fsys_minix.c fsys_reiserfs.c fsys_jfs.c fsys_xfs.c fsys_vstafs.c \
-+ stage2.c md5.c
-
- libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
- -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
-- -DFSYS_MINIX=1 -DFSYS_REISERFS=1 -DFSYS_VSTAFS=1 \
-- -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 -fwritable-strings
-+ -DFSYS_MINIX=1 -DFSYS_REISERFS=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
-+ -DFSYS_VSTAFS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 \
-+ -fwritable-strings
-
-
- EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
-
- @DISKLESS_SUPPORT_TRUE@pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
--@DISKLESS_SUPPORT_TRUE@ minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5 nbgrub pxegrub
-+@DISKLESS_SUPPORT_TRUE@ minix_stage1_5 reiserfs_stage1_5 jfs_stage1_5 xfs_stage1_5 \
-+@DISKLESS_SUPPORT_TRUE@ vstafs_stage1_5 nbgrub pxegrub
-
- @DISKLESS_SUPPORT_FALSE@pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
--@DISKLESS_SUPPORT_FALSE@ minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5
-+@DISKLESS_SUPPORT_FALSE@ minix_stage1_5 reiserfs_stage1_5 jfs_stage1_5 xfs_stage1_5 \
-+@DISKLESS_SUPPORT_FALSE@ vstafs_stage1_5
-
- @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start nbloader pxeloader diskless
- @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start
- @DISKLESS_SUPPORT_TRUE@noinst_PROGRAMS = pre_stage2.exec start.exec e2fs_stage1_5.exec \
- @DISKLESS_SUPPORT_TRUE@ fat_stage1_5.exec ffs_stage1_5.exec minix_stage1_5.exec \
--@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5.exec vstafs_stage1_5.exec nbloader.exec \
--@DISKLESS_SUPPORT_TRUE@ pxeloader.exec diskless.exec
-+@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5.exec jfs_stage1_5.exec xfs_stage1_5.exec \
-+@DISKLESS_SUPPORT_TRUE@ vstafs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec
-
- @DISKLESS_SUPPORT_FALSE@noinst_PROGRAMS = pre_stage2.exec start.exec e2fs_stage1_5.exec \
- @DISKLESS_SUPPORT_FALSE@ fat_stage1_5.exec ffs_stage1_5.exec minix_stage1_5.exec \
--@DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5.exec vstafs_stage1_5.exec
-+@DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5.exec jfs_stage1_5.exec xfs_stage1_5.exec \
-+@DISKLESS_SUPPORT_FALSE@ vstafs_stage1_5.exec
-
- MOSTLYCLEANFILES = $(noinst_PROGRAMS)
-
-@@ -160,7 +165,8 @@
- pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c common.c \
- char_io.c cmdline.c disk_io.c gunzip.c fsys_ext2fs.c \
- fsys_fat.c fsys_ffs.c fsys_minix.c fsys_reiserfs.c \
-- fsys_vstafs.c hercules.c serial.c smp-imps.c stage2.c md5.c
-+ fsys_jfs.c fsys_xfs.c fsys_vstafs.c hercules.c serial.c \
-+ smp-imps.c stage2.c md5.c
-
- pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
- pre_stage2_exec_ASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
-@@ -237,6 +243,30 @@
-
- reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-
-+# For jfs_stage1_5 target.
-+jfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
-+ disk_io.c stage1_5.c fsys_jfs.c bios.c
-+
-+jfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
-+ -DNO_BLOCK_FILES=1
-+
-+jfs_stage1_5_exec_ASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
-+ -DNO_BLOCK_FILES=1
-+
-+jfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-+
-+# For xfs_stage1_5 target.
-+xfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
-+ disk_io.c stage1_5.c fsys_xfs.c bios.c
-+
-+xfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
-+ -DNO_BLOCK_FILES=1
-+
-+xfs_stage1_5_exec_ASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
-+ -DNO_BLOCK_FILES=1
-+
-+xfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-+
- # For vstafs_stage1_5 target.
- vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
- disk_io.c stage1_5.c fsys_vstafs.c bios.c
-@@ -285,21 +315,23 @@
- libgrub_a-disk_io.$(OBJEXT) libgrub_a-gunzip.$(OBJEXT) \
- libgrub_a-fsys_ffs.$(OBJEXT) libgrub_a-fsys_ext2fs.$(OBJEXT) \
- libgrub_a-fsys_fat.$(OBJEXT) libgrub_a-fsys_minix.$(OBJEXT) \
-- libgrub_a-fsys_reiserfs.$(OBJEXT) \
-- libgrub_a-fsys_vstafs.$(OBJEXT) libgrub_a-stage2.$(OBJEXT) \
-- libgrub_a-md5.$(OBJEXT)
-+ libgrub_a-fsys_reiserfs.$(OBJEXT) libgrub_a-fsys_jfs.$(OBJEXT) \
-+ libgrub_a-fsys_xfs.$(OBJEXT) libgrub_a-fsys_vstafs.$(OBJEXT) \
-+ libgrub_a-stage2.$(OBJEXT) libgrub_a-md5.$(OBJEXT)
- libgrub_a_OBJECTS = $(am_libgrub_a_OBJECTS)
- EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
- @DISKLESS_SUPPORT_TRUE@noinst_PROGRAMS = pre_stage2.exec start.exec \
- @DISKLESS_SUPPORT_TRUE@ e2fs_stage1_5.exec fat_stage1_5.exec \
- @DISKLESS_SUPPORT_TRUE@ ffs_stage1_5.exec minix_stage1_5.exec \
--@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5.exec \
--@DISKLESS_SUPPORT_TRUE@ vstafs_stage1_5.exec nbloader.exec \
--@DISKLESS_SUPPORT_TRUE@ pxeloader.exec diskless.exec
-+@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5.exec jfs_stage1_5.exec \
-+@DISKLESS_SUPPORT_TRUE@ xfs_stage1_5.exec vstafs_stage1_5.exec \
-+@DISKLESS_SUPPORT_TRUE@ nbloader.exec pxeloader.exec \
-+@DISKLESS_SUPPORT_TRUE@ diskless.exec
- @DISKLESS_SUPPORT_FALSE@noinst_PROGRAMS = pre_stage2.exec start.exec \
- @DISKLESS_SUPPORT_FALSE@ e2fs_stage1_5.exec fat_stage1_5.exec \
- @DISKLESS_SUPPORT_FALSE@ ffs_stage1_5.exec minix_stage1_5.exec \
- @DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5.exec \
-+@DISKLESS_SUPPORT_FALSE@ jfs_stage1_5.exec xfs_stage1_5.exec \
- @DISKLESS_SUPPORT_FALSE@ vstafs_stage1_5.exec
- PROGRAMS = $(noinst_PROGRAMS)
-
-@@ -313,6 +345,8 @@
- diskless_exec-fsys_ffs.$(OBJEXT) \
- diskless_exec-fsys_minix.$(OBJEXT) \
- diskless_exec-fsys_reiserfs.$(OBJEXT) \
-+ diskless_exec-fsys_jfs.$(OBJEXT) \
-+ diskless_exec-fsys_xfs.$(OBJEXT) \
- diskless_exec-fsys_vstafs.$(OBJEXT) \
- diskless_exec-hercules.$(OBJEXT) diskless_exec-serial.$(OBJEXT) \
- diskless_exec-smp-imps.$(OBJEXT) diskless_exec-stage2.$(OBJEXT) \
-@@ -352,6 +386,17 @@
- ffs_stage1_5_exec_OBJECTS = $(am_ffs_stage1_5_exec_OBJECTS)
- ffs_stage1_5_exec_LDADD = $(LDADD)
- ffs_stage1_5_exec_DEPENDENCIES =
-+am_jfs_stage1_5_exec_OBJECTS = jfs_stage1_5_exec-start.$(OBJEXT) \
-+ jfs_stage1_5_exec-asm.$(OBJEXT) \
-+ jfs_stage1_5_exec-common.$(OBJEXT) \
-+ jfs_stage1_5_exec-char_io.$(OBJEXT) \
-+ jfs_stage1_5_exec-disk_io.$(OBJEXT) \
-+ jfs_stage1_5_exec-stage1_5.$(OBJEXT) \
-+ jfs_stage1_5_exec-fsys_jfs.$(OBJEXT) \
-+ jfs_stage1_5_exec-bios.$(OBJEXT)
-+jfs_stage1_5_exec_OBJECTS = $(am_jfs_stage1_5_exec_OBJECTS)
-+jfs_stage1_5_exec_LDADD = $(LDADD)
-+jfs_stage1_5_exec_DEPENDENCIES =
- am_minix_stage1_5_exec_OBJECTS = minix_stage1_5_exec-start.$(OBJEXT) \
- minix_stage1_5_exec-asm.$(OBJEXT) \
- minix_stage1_5_exec-common.$(OBJEXT) \
-@@ -380,6 +425,8 @@
- pre_stage2_exec-fsys_ffs.$(OBJEXT) \
- pre_stage2_exec-fsys_minix.$(OBJEXT) \
- pre_stage2_exec-fsys_reiserfs.$(OBJEXT) \
-+ pre_stage2_exec-fsys_jfs.$(OBJEXT) \
-+ pre_stage2_exec-fsys_xfs.$(OBJEXT) \
- pre_stage2_exec-fsys_vstafs.$(OBJEXT) \
- pre_stage2_exec-hercules.$(OBJEXT) \
- pre_stage2_exec-serial.$(OBJEXT) \
-@@ -420,6 +467,17 @@
- vstafs_stage1_5_exec_OBJECTS = $(am_vstafs_stage1_5_exec_OBJECTS)
- vstafs_stage1_5_exec_LDADD = $(LDADD)
- vstafs_stage1_5_exec_DEPENDENCIES =
-+am_xfs_stage1_5_exec_OBJECTS = xfs_stage1_5_exec-start.$(OBJEXT) \
-+ xfs_stage1_5_exec-asm.$(OBJEXT) \
-+ xfs_stage1_5_exec-common.$(OBJEXT) \
-+ xfs_stage1_5_exec-char_io.$(OBJEXT) \
-+ xfs_stage1_5_exec-disk_io.$(OBJEXT) \
-+ xfs_stage1_5_exec-stage1_5.$(OBJEXT) \
-+ xfs_stage1_5_exec-fsys_xfs.$(OBJEXT) \
-+ xfs_stage1_5_exec-bios.$(OBJEXT)
-+xfs_stage1_5_exec_OBJECTS = $(am_xfs_stage1_5_exec_OBJECTS)
-+xfs_stage1_5_exec_LDADD = $(LDADD)
-+xfs_stage1_5_exec_DEPENDENCIES =
- SCRIPTS = $(noinst_SCRIPTS)
-
-
-@@ -439,9 +497,11 @@
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_ext2fs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_fat.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_ffs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_jfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_minix.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_reiserfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_vstafs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/diskless_exec-fsys_xfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-gunzip.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-hercules.Po \
- @AMDEP_TRUE@ $(DEPDIR)/diskless_exec-md5.Po \
-@@ -466,6 +526,12 @@
- @AMDEP_TRUE@ $(DEPDIR)/ffs_stage1_5_exec-disk_io.Po \
- @AMDEP_TRUE@ $(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-bios.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-char_io.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-common.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-disk_io.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-boot.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-builtins.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-char_io.Po \
-@@ -475,9 +541,11 @@
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_ext2fs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_fat.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_ffs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_jfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_minix.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_reiserfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_vstafs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/libgrub_a-fsys_xfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-gunzip.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-md5.Po \
- @AMDEP_TRUE@ $(DEPDIR)/libgrub_a-stage2.Po \
-@@ -497,9 +565,11 @@
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_fat.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_ffs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_jfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_minix.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-fsys_xfs.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-gunzip.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-hercules.Po \
- @AMDEP_TRUE@ $(DEPDIR)/pre_stage2_exec-md5.Po \
-@@ -517,7 +587,13 @@
- @AMDEP_TRUE@ $(DEPDIR)/vstafs_stage1_5_exec-common.Po \
- @AMDEP_TRUE@ $(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po \
- @AMDEP_TRUE@ $(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po \
--@AMDEP_TRUE@ $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po
-+@AMDEP_TRUE@ $(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-bios.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-char_io.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-common.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-disk_io.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po \
-+@AMDEP_TRUE@ $(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po
- ASCOMPILE = $(AS) $(AM_ASFLAGS) $(ASFLAGS)
- COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@@ -526,16 +602,17 @@
- CFLAGS = @CFLAGS@
- DIST_SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) \
- $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) \
-- $(ffs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) \
-- $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) \
-- $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) \
-- $(start_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES)
-+ $(ffs_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) \
-+ $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) \
-+ $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) \
-+ $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) \
-+ $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES)
- DATA = $(noinst_DATA) $(pkgdata_DATA)
-
- HEADERS = $(noinst_HEADERS)
-
- DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in compile
--SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES)
-+SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES)
-
- all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
-@@ -566,6 +643,8 @@
- libgrub_a-fsys_fat.$(OBJEXT): fsys_fat.c
- libgrub_a-fsys_minix.$(OBJEXT): fsys_minix.c
- libgrub_a-fsys_reiserfs.$(OBJEXT): fsys_reiserfs.c
-+libgrub_a-fsys_jfs.$(OBJEXT): fsys_jfs.c
-+libgrub_a-fsys_xfs.$(OBJEXT): fsys_xfs.c
- libgrub_a-fsys_vstafs.$(OBJEXT): fsys_vstafs.c
- libgrub_a-stage2.$(OBJEXT): stage2.c
- libgrub_a-md5.$(OBJEXT): md5.c
-@@ -590,6 +669,8 @@
- diskless_exec-fsys_ffs.$(OBJEXT): fsys_ffs.c
- diskless_exec-fsys_minix.$(OBJEXT): fsys_minix.c
- diskless_exec-fsys_reiserfs.$(OBJEXT): fsys_reiserfs.c
-+diskless_exec-fsys_jfs.$(OBJEXT): fsys_jfs.c
-+diskless_exec-fsys_xfs.$(OBJEXT): fsys_xfs.c
- diskless_exec-fsys_vstafs.$(OBJEXT): fsys_vstafs.c
- diskless_exec-hercules.$(OBJEXT): hercules.c
- diskless_exec-serial.$(OBJEXT): serial.c
-@@ -632,6 +713,17 @@
- ffs_stage1_5.exec$(EXEEXT): $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_DEPENDENCIES)
- @rm -f ffs_stage1_5.exec$(EXEEXT)
- $(LINK) $(ffs_stage1_5_exec_LDFLAGS) $(ffs_stage1_5_exec_OBJECTS) $(ffs_stage1_5_exec_LDADD) $(LIBS)
-+jfs_stage1_5_exec-start.$(OBJEXT): start.S
-+jfs_stage1_5_exec-asm.$(OBJEXT): asm.S
-+jfs_stage1_5_exec-common.$(OBJEXT): common.c
-+jfs_stage1_5_exec-char_io.$(OBJEXT): char_io.c
-+jfs_stage1_5_exec-disk_io.$(OBJEXT): disk_io.c
-+jfs_stage1_5_exec-stage1_5.$(OBJEXT): stage1_5.c
-+jfs_stage1_5_exec-fsys_jfs.$(OBJEXT): fsys_jfs.c
-+jfs_stage1_5_exec-bios.$(OBJEXT): bios.c
-+jfs_stage1_5.exec$(EXEEXT): $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_DEPENDENCIES)
-+ @rm -f jfs_stage1_5.exec$(EXEEXT)
-+ $(LINK) $(jfs_stage1_5_exec_LDFLAGS) $(jfs_stage1_5_exec_OBJECTS) $(jfs_stage1_5_exec_LDADD) $(LIBS)
- minix_stage1_5_exec-start.$(OBJEXT): start.S
- minix_stage1_5_exec-asm.$(OBJEXT): asm.S
- minix_stage1_5_exec-common.$(OBJEXT): common.c
-@@ -661,6 +753,8 @@
- pre_stage2_exec-fsys_ffs.$(OBJEXT): fsys_ffs.c
- pre_stage2_exec-fsys_minix.$(OBJEXT): fsys_minix.c
- pre_stage2_exec-fsys_reiserfs.$(OBJEXT): fsys_reiserfs.c
-+pre_stage2_exec-fsys_jfs.$(OBJEXT): fsys_jfs.c
-+pre_stage2_exec-fsys_xfs.$(OBJEXT): fsys_xfs.c
- pre_stage2_exec-fsys_vstafs.$(OBJEXT): fsys_vstafs.c
- pre_stage2_exec-hercules.$(OBJEXT): hercules.c
- pre_stage2_exec-serial.$(OBJEXT): serial.c
-@@ -700,6 +794,17 @@
- vstafs_stage1_5.exec$(EXEEXT): $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_DEPENDENCIES)
- @rm -f vstafs_stage1_5.exec$(EXEEXT)
- $(LINK) $(vstafs_stage1_5_exec_LDFLAGS) $(vstafs_stage1_5_exec_OBJECTS) $(vstafs_stage1_5_exec_LDADD) $(LIBS)
-+xfs_stage1_5_exec-start.$(OBJEXT): start.S
-+xfs_stage1_5_exec-asm.$(OBJEXT): asm.S
-+xfs_stage1_5_exec-common.$(OBJEXT): common.c
-+xfs_stage1_5_exec-char_io.$(OBJEXT): char_io.c
-+xfs_stage1_5_exec-disk_io.$(OBJEXT): disk_io.c
-+xfs_stage1_5_exec-stage1_5.$(OBJEXT): stage1_5.c
-+xfs_stage1_5_exec-fsys_xfs.$(OBJEXT): fsys_xfs.c
-+xfs_stage1_5_exec-bios.$(OBJEXT): bios.c
-+xfs_stage1_5.exec$(EXEEXT): $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_DEPENDENCIES)
-+ @rm -f xfs_stage1_5.exec$(EXEEXT)
-+ $(LINK) $(xfs_stage1_5_exec_LDFLAGS) $(xfs_stage1_5_exec_OBJECTS) $(xfs_stage1_5_exec_LDADD) $(LIBS)
-
- mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-@@ -717,9 +822,11 @@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_ext2fs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_fat.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_ffs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_jfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_minix.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_reiserfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_vstafs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-fsys_xfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-gunzip.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-hercules.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/diskless_exec-md5.Po@_am_quote@
-@@ -744,6 +851,12 @@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/ffs_stage1_5_exec-disk_io.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/ffs_stage1_5_exec-fsys_ffs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/ffs_stage1_5_exec-stage1_5.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-bios.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-char_io.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-common.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-boot.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-builtins.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-char_io.Po@_am_quote@
-@@ -753,9 +866,11 @@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_ext2fs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_fat.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_ffs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_jfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_minix.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_reiserfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_vstafs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-fsys_xfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-gunzip.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-md5.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/libgrub_a-stage2.Po@_am_quote@
-@@ -775,9 +890,11 @@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_ext2fs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_fat.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_ffs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_minix.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-gunzip.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-hercules.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/pre_stage2_exec-md5.Po@_am_quote@
-@@ -796,6 +913,12 @@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/vstafs_stage1_5_exec-disk_io.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/vstafs_stage1_5_exec-fsys_vstafs.Po@_am_quote@
- @AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/vstafs_stage1_5_exec-stage1_5.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-bios.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-char_io.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-common.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po@_am_quote@
-+@AMDEP_TRUE@@_am_include@ @_am_quote@$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po@_am_quote@
-
- distclean-depend:
- -rm -rf $(DEPDIR)
-@@ -848,6 +971,18 @@
- ffs_stage1_5_exec-asm.obj: asm.S
- $(AS) $(ffs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o ffs_stage1_5_exec-asm.obj `cygpath -w asm.S`
-
-+jfs_stage1_5_exec-start.o: start.S
-+ $(AS) $(jfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o jfs_stage1_5_exec-start.o `test -f start.S || echo '$(srcdir)/'`start.S
-+
-+jfs_stage1_5_exec-start.obj: start.S
-+ $(AS) $(jfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o jfs_stage1_5_exec-start.obj `cygpath -w start.S`
-+
-+jfs_stage1_5_exec-asm.o: asm.S
-+ $(AS) $(jfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o jfs_stage1_5_exec-asm.o `test -f asm.S || echo '$(srcdir)/'`asm.S
-+
-+jfs_stage1_5_exec-asm.obj: asm.S
-+ $(AS) $(jfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o jfs_stage1_5_exec-asm.obj `cygpath -w asm.S`
-+
- minix_stage1_5_exec-start.o: start.S
- $(AS) $(minix_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o minix_stage1_5_exec-start.o `test -f start.S || echo '$(srcdir)/'`start.S
-
-@@ -908,6 +1043,18 @@
- vstafs_stage1_5_exec-asm.obj: asm.S
- $(AS) $(vstafs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o vstafs_stage1_5_exec-asm.obj `cygpath -w asm.S`
-
-+xfs_stage1_5_exec-start.o: start.S
-+ $(AS) $(xfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o xfs_stage1_5_exec-start.o `test -f start.S || echo '$(srcdir)/'`start.S
-+
-+xfs_stage1_5_exec-start.obj: start.S
-+ $(AS) $(xfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o xfs_stage1_5_exec-start.obj `cygpath -w start.S`
-+
-+xfs_stage1_5_exec-asm.o: asm.S
-+ $(AS) $(xfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o xfs_stage1_5_exec-asm.o `test -f asm.S || echo '$(srcdir)/'`asm.S
-+
-+xfs_stage1_5_exec-asm.obj: asm.S
-+ $(AS) $(xfs_stage1_5_exec_ASFLAGS) $(ASFLAGS) -c -o xfs_stage1_5_exec-asm.obj `cygpath -w asm.S`
-+
- .c.o:
- @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@@ -1064,6 +1211,30 @@
- @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.obj `cygpath -w fsys_reiserfs.c`
-
-+libgrub_a-fsys_jfs.o: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/libgrub_a-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/libgrub_a-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.o `test -f fsys_jfs.c || echo '$(srcdir)/'`fsys_jfs.c
-+
-+libgrub_a-fsys_jfs.obj: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='libgrub_a-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/libgrub_a-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/libgrub_a-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_jfs.obj `cygpath -w fsys_jfs.c`
-+
-+libgrub_a-fsys_xfs.o: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/libgrub_a-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/libgrub_a-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.o `test -f fsys_xfs.c || echo '$(srcdir)/'`fsys_xfs.c
-+
-+libgrub_a-fsys_xfs.obj: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='libgrub_a-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/libgrub_a-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/libgrub_a-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_xfs.obj `cygpath -w fsys_xfs.c`
-+
- libgrub_a-fsys_vstafs.o: fsys_vstafs.c
- @AMDEP_TRUE@ source='fsys_vstafs.c' object='libgrub_a-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/libgrub_a-fsys_vstafs.Po' tmpdepfile='$(DEPDIR)/libgrub_a-fsys_vstafs.TPo' @AMDEPBACKSLASH@
-@@ -1256,6 +1427,30 @@
- @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.obj `cygpath -w fsys_reiserfs.c`
-
-+diskless_exec-fsys_jfs.o: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/diskless_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/diskless_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.o `test -f fsys_jfs.c || echo '$(srcdir)/'`fsys_jfs.c
-+
-+diskless_exec-fsys_jfs.obj: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='diskless_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/diskless_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/diskless_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_jfs.obj `cygpath -w fsys_jfs.c`
-+
-+diskless_exec-fsys_xfs.o: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/diskless_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/diskless_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.o `test -f fsys_xfs.c || echo '$(srcdir)/'`fsys_xfs.c
-+
-+diskless_exec-fsys_xfs.obj: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='diskless_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/diskless_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/diskless_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_xfs.obj `cygpath -w fsys_xfs.c`
-+
- diskless_exec-fsys_vstafs.o: fsys_vstafs.c
- @AMDEP_TRUE@ source='fsys_vstafs.c' object='diskless_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/diskless_exec-fsys_vstafs.Po' tmpdepfile='$(DEPDIR)/diskless_exec-fsys_vstafs.TPo' @AMDEPBACKSLASH@
-@@ -1544,6 +1739,78 @@
- @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ffs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o ffs_stage1_5_exec-bios.obj `cygpath -w bios.c`
-
-+jfs_stage1_5_exec-common.o: common.c
-+@AMDEP_TRUE@ source='common.c' object='jfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-common.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-common.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.o `test -f common.c || echo '$(srcdir)/'`common.c
-+
-+jfs_stage1_5_exec-common.obj: common.c
-+@AMDEP_TRUE@ source='common.c' object='jfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-common.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-common.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-common.obj `cygpath -w common.c`
-+
-+jfs_stage1_5_exec-char_io.o: char_io.c
-+@AMDEP_TRUE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-char_io.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-char_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.o `test -f char_io.c || echo '$(srcdir)/'`char_io.c
-+
-+jfs_stage1_5_exec-char_io.obj: char_io.c
-+@AMDEP_TRUE@ source='char_io.c' object='jfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-char_io.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-char_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-char_io.obj `cygpath -w char_io.c`
-+
-+jfs_stage1_5_exec-disk_io.o: disk_io.c
-+@AMDEP_TRUE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-disk_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.o `test -f disk_io.c || echo '$(srcdir)/'`disk_io.c
-+
-+jfs_stage1_5_exec-disk_io.obj: disk_io.c
-+@AMDEP_TRUE@ source='disk_io.c' object='jfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-disk_io.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-disk_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-disk_io.obj `cygpath -w disk_io.c`
-+
-+jfs_stage1_5_exec-stage1_5.o: stage1_5.c
-+@AMDEP_TRUE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-stage1_5.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.o `test -f stage1_5.c || echo '$(srcdir)/'`stage1_5.c
-+
-+jfs_stage1_5_exec-stage1_5.obj: stage1_5.c
-+@AMDEP_TRUE@ source='stage1_5.c' object='jfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-stage1_5.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-stage1_5.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-stage1_5.obj `cygpath -w stage1_5.c`
-+
-+jfs_stage1_5_exec-fsys_jfs.o: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.o `test -f fsys_jfs.c || echo '$(srcdir)/'`fsys_jfs.c
-+
-+jfs_stage1_5_exec-fsys_jfs.obj: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='jfs_stage1_5_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-fsys_jfs.obj `cygpath -w fsys_jfs.c`
-+
-+jfs_stage1_5_exec-bios.o: bios.c
-+@AMDEP_TRUE@ source='bios.c' object='jfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-bios.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-bios.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.o `test -f bios.c || echo '$(srcdir)/'`bios.c
-+
-+jfs_stage1_5_exec-bios.obj: bios.c
-+@AMDEP_TRUE@ source='bios.c' object='jfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/jfs_stage1_5_exec-bios.Po' tmpdepfile='$(DEPDIR)/jfs_stage1_5_exec-bios.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(jfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o jfs_stage1_5_exec-bios.obj `cygpath -w bios.c`
-+
- minix_stage1_5_exec-common.o: common.c
- @AMDEP_TRUE@ source='common.c' object='minix_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/minix_stage1_5_exec-common.Po' tmpdepfile='$(DEPDIR)/minix_stage1_5_exec-common.TPo' @AMDEPBACKSLASH@
-@@ -1772,6 +2039,30 @@
- @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.obj `cygpath -w fsys_reiserfs.c`
-
-+pre_stage2_exec-fsys_jfs.o: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/pre_stage2_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.o `test -f fsys_jfs.c || echo '$(srcdir)/'`fsys_jfs.c
-+
-+pre_stage2_exec-fsys_jfs.obj: fsys_jfs.c
-+@AMDEP_TRUE@ source='fsys_jfs.c' object='pre_stage2_exec-fsys_jfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po' tmpdepfile='$(DEPDIR)/pre_stage2_exec-fsys_jfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_jfs.obj `cygpath -w fsys_jfs.c`
-+
-+pre_stage2_exec-fsys_xfs.o: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/pre_stage2_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.o `test -f fsys_xfs.c || echo '$(srcdir)/'`fsys_xfs.c
-+
-+pre_stage2_exec-fsys_xfs.obj: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='pre_stage2_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/pre_stage2_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_xfs.obj `cygpath -w fsys_xfs.c`
-+
- pre_stage2_exec-fsys_vstafs.o: fsys_vstafs.c
- @AMDEP_TRUE@ source='fsys_vstafs.c' object='pre_stage2_exec-fsys_vstafs.o' libtool=no @AMDEPBACKSLASH@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po' tmpdepfile='$(DEPDIR)/pre_stage2_exec-fsys_vstafs.TPo' @AMDEPBACKSLASH@
-@@ -1987,6 +2278,78 @@
- @AMDEP_TRUE@ depfile='$(DEPDIR)/vstafs_stage1_5_exec-bios.Po' tmpdepfile='$(DEPDIR)/vstafs_stage1_5_exec-bios.TPo' @AMDEPBACKSLASH@
- @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vstafs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o vstafs_stage1_5_exec-bios.obj `cygpath -w bios.c`
-+
-+xfs_stage1_5_exec-common.o: common.c
-+@AMDEP_TRUE@ source='common.c' object='xfs_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-common.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-common.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.o `test -f common.c || echo '$(srcdir)/'`common.c
-+
-+xfs_stage1_5_exec-common.obj: common.c
-+@AMDEP_TRUE@ source='common.c' object='xfs_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-common.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-common.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-common.obj `cygpath -w common.c`
-+
-+xfs_stage1_5_exec-char_io.o: char_io.c
-+@AMDEP_TRUE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-char_io.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-char_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.o `test -f char_io.c || echo '$(srcdir)/'`char_io.c
-+
-+xfs_stage1_5_exec-char_io.obj: char_io.c
-+@AMDEP_TRUE@ source='char_io.c' object='xfs_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-char_io.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-char_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-char_io.obj `cygpath -w char_io.c`
-+
-+xfs_stage1_5_exec-disk_io.o: disk_io.c
-+@AMDEP_TRUE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-disk_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.o `test -f disk_io.c || echo '$(srcdir)/'`disk_io.c
-+
-+xfs_stage1_5_exec-disk_io.obj: disk_io.c
-+@AMDEP_TRUE@ source='disk_io.c' object='xfs_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-disk_io.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-disk_io.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-disk_io.obj `cygpath -w disk_io.c`
-+
-+xfs_stage1_5_exec-stage1_5.o: stage1_5.c
-+@AMDEP_TRUE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-stage1_5.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.o `test -f stage1_5.c || echo '$(srcdir)/'`stage1_5.c
-+
-+xfs_stage1_5_exec-stage1_5.obj: stage1_5.c
-+@AMDEP_TRUE@ source='stage1_5.c' object='xfs_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-stage1_5.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-stage1_5.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-stage1_5.obj `cygpath -w stage1_5.c`
-+
-+xfs_stage1_5_exec-fsys_xfs.o: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.o `test -f fsys_xfs.c || echo '$(srcdir)/'`fsys_xfs.c
-+
-+xfs_stage1_5_exec-fsys_xfs.obj: fsys_xfs.c
-+@AMDEP_TRUE@ source='fsys_xfs.c' object='xfs_stage1_5_exec-fsys_xfs.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-fsys_xfs.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-fsys_xfs.obj `cygpath -w fsys_xfs.c`
-+
-+xfs_stage1_5_exec-bios.o: bios.c
-+@AMDEP_TRUE@ source='bios.c' object='xfs_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-bios.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-bios.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.o `test -f bios.c || echo '$(srcdir)/'`bios.c
-+
-+xfs_stage1_5_exec-bios.obj: bios.c
-+@AMDEP_TRUE@ source='bios.c' object='xfs_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/xfs_stage1_5_exec-bios.Po' tmpdepfile='$(DEPDIR)/xfs_stage1_5_exec-bios.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xfs_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o xfs_stage1_5_exec-bios.obj `cygpath -w bios.c`
- CCDEPMODE = @CCDEPMODE@
- uninstall-info-am:
- install-pkgdataDATA: $(pkgdata_DATA)
+++ /dev/null
-diff -urN --exclude-from=xlist-core grub-0.90/AUTHORS grub-0.90.jfs+xfs/AUTHORS
---- grub-0.90/AUTHORS Fri Jun 22 06:32:55 2001
-+++ grub-0.90.jfs+xfs/AUTHORS Tue Aug 28 17:00:29 2001
-@@ -37,3 +37,5 @@
- Frank Mehnert added support for hercules console.
-
- Kristoffer Branemyr added VSTa filesystem support.
-+
-+Serguei Tzukanov wrote stage2/fsys_jfs.c and stage2/fsys_xfs.c.
-diff -urN --exclude-from=xlist-core grub-0.90/README grub-0.90.jfs+xfs/README
---- grub-0.90/README Thu Jun 21 01:02:46 2001
-+++ grub-0.90.jfs+xfs/README Tue Aug 28 16:56:55 2001
-@@ -4,8 +4,9 @@
-
- - provides fully-featured command line and graphical interfaces
- - recognizes fdisk partitions and BSD disklabels
-- - can dynamically read Linux ext2fs and ReiserFS, BSD ufs, MS-DOS
-- FAT16 and FAT32, and Minix fs filesystems, plus hardcoded blocklists
-+ - can dynamically read Linux ext2fs, ReiserFS, JFS and XFS, BSD ufs,
-+ MS-DOS FAT16 and FAT32, and Minix fs filesystems, plus hardcoded
-+ blocklists
- - can boot Multiboot-compliant kernels (such as GNU Mach), as well
- as standard Linux and *BSD kernels
-
-diff -urN --exclude-from=xlist-core grub-0.90/TODO grub-0.90.jfs+xfs/TODO
---- grub-0.90/TODO Sun Nov 26 21:39:50 2000
-+++ grub-0.90.jfs+xfs/TODO Tue Aug 28 17:06:35 2001
-@@ -80,7 +80,7 @@
-
- * Add ISA PnP support.
-
--* Add more filesystems support (XFS, NTFS, etc.)
-+* Add more filesystems support (NTFS, etc.)
-
- * Add more remote console support (parallel and net).
-
-diff -urN --exclude-from=xlist-core grub-0.90/configure.in grub-0.90.jfs+xfs/configure.in
---- grub-0.90/configure.in Thu Jul 5 15:29:56 2001
-+++ grub-0.90.jfs+xfs/configure.in Thu Aug 23 17:53:16 2001
-@@ -219,6 +219,20 @@
- FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1"
- fi
-
-+AC_ARG_ENABLE(jfs,
-+ [ --disable-jfs disable IBM JFS support in Stage 2])
-+
-+if test x"$enable_jfs" != xno; then
-+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_JFS=1"
-+fi
-+
-+AC_ARG_ENABLE(xfs,
-+ [ --disable-xfs disable SGI XFS support in Stage 2])
-+
-+if test x"$enable_xfs" != xno; then
-+ FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_XFS=1"
-+fi
-+
- AC_ARG_ENABLE(vstafs,
- [ --disable-vstafs disable VSTa FS support in Stage 2])
-
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/Makefile.am grub-0.90.jfs+xfs/stage2/Makefile.am
---- grub-0.90/stage2/Makefile.am Wed Jul 4 11:33:48 2001
-+++ grub-0.90.jfs+xfs/stage2/Makefile.am Thu Aug 23 18:03:38 2001
-@@ -4,7 +4,7 @@
-
- # For dist target.
- noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \
-- fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
-+ fat.h jfs.h xfs.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \
- imgact_aout.h mb_header.h mb_info.h md5.h pc_slice.h serial.h \
- shared.h smp-imps.h nbi.h vstafs.h
- EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS)
-@@ -16,11 +16,13 @@
- noinst_LIBRARIES = libgrub.a
- libgrub_a_SOURCES = boot.c builtins.c common.c char_io.c cmdline.c \
- disk_io.c gunzip.c fsys_ffs.c fsys_ext2fs.c fsys_fat.c \
-- fsys_minix.c fsys_reiserfs.c fsys_vstafs.c stage2.c md5.c
-+ fsys_minix.c fsys_reiserfs.c fsys_jfs.c fsys_xfs.c fsys_vstafs.c \
-+ stage2.c md5.c
- libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
- -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \
-- -DFSYS_MINIX=1 -DFSYS_REISERFS=1 -DFSYS_VSTAFS=1 \
-- -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 -fwritable-strings
-+ -DFSYS_MINIX=1 -DFSYS_REISERFS=1 -DFSYS_JFS=1 -DFSYS_XFS=1 \
-+ -DFSYS_VSTAFS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 \
-+ -fwritable-strings
-
- # Stage 2 and Stage 1.5's.
- pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-@@ -29,19 +31,22 @@
-
- if DISKLESS_SUPPORT
- pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
-- minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5 nbgrub pxegrub
-+ minix_stage1_5 reiserfs_stage1_5 jfs_stage1_5 xfs_stage1_5 \
-+ vstafs_stage1_5 nbgrub pxegrub
- noinst_DATA = pre_stage2 start nbloader pxeloader diskless
- noinst_PROGRAMS = pre_stage2.exec start.exec e2fs_stage1_5.exec \
- fat_stage1_5.exec ffs_stage1_5.exec minix_stage1_5.exec \
-- reiserfs_stage1_5.exec vstafs_stage1_5.exec nbloader.exec \
-- pxeloader.exec diskless.exec
-+ reiserfs_stage1_5.exec jfs_stage1_5.exec xfs_stage1_5.exec \
-+ vstafs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec
- else
- pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
-- minix_stage1_5 reiserfs_stage1_5 vstafs_stage1_5
-+ minix_stage1_5 reiserfs_stage1_5 jfs_stage1_5 xfs_stage1_5 \
-+ vstafs_stage1_5
- noinst_DATA = pre_stage2 start
- noinst_PROGRAMS = pre_stage2.exec start.exec e2fs_stage1_5.exec \
- fat_stage1_5.exec ffs_stage1_5.exec minix_stage1_5.exec \
-- reiserfs_stage1_5.exec vstafs_stage1_5.exec
-+ reiserfs_stage1_5.exec jfs_stage1_5.exec xfs_stage1_5.exec \
-+ vstafs_stage1_5.exec
- endif
- MOSTLYCLEANFILES = $(noinst_PROGRAMS)
-
-@@ -78,7 +83,8 @@
- pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c common.c \
- char_io.c cmdline.c disk_io.c gunzip.c fsys_ext2fs.c \
- fsys_fat.c fsys_ffs.c fsys_minix.c fsys_reiserfs.c \
-- fsys_vstafs.c hercules.c serial.c smp-imps.c stage2.c md5.c
-+ fsys_jfs.c fsys_xfs.c fsys_vstafs.c hercules.c serial.c \
-+ smp-imps.c stage2.c md5.c
- pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
- pre_stage2_exec_ASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS)
- pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK)
-@@ -158,6 +164,24 @@
- reiserfs_stage1_5_exec_ASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_REISERFS=1 \
- -DNO_BLOCK_FILES=1
- reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-+
-+# For jfs_stage1_5 target.
-+jfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
-+ disk_io.c stage1_5.c fsys_jfs.c bios.c
-+jfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
-+ -DNO_BLOCK_FILES=1
-+jfs_stage1_5_exec_ASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_JFS=1 \
-+ -DNO_BLOCK_FILES=1
-+jfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-+
-+# For xfs_stage1_5 target.
-+xfs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
-+ disk_io.c stage1_5.c fsys_xfs.c bios.c
-+xfs_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
-+ -DNO_BLOCK_FILES=1
-+xfs_stage1_5_exec_ASFLAGS = $(STAGE1_5_COMPILE) -DFSYS_XFS=1 \
-+ -DNO_BLOCK_FILES=1
-+xfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK)
-
- # For vstafs_stage1_5 target.
- vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/builtins.c grub-0.90.jfs+xfs/stage2/builtins.c
---- grub-0.90/stage2/builtins.c Fri Jun 22 03:15:02 2001
-+++ grub-0.90.jfs+xfs/stage2/builtins.c Fri Aug 24 22:13:48 2001
-@@ -3643,7 +3643,9 @@
- {"ffs", "/ffs_stage1_5"},
- {"fat", "/fat_stage1_5"},
- {"minix", "/minix_stage1_5"},
-- {"reiserfs", "/reiserfs_stage1_5"}
-+ {"reiserfs", "/reiserfs_stage1_5"},
-+ {"jfs", "/jfs_stage1_5"},
-+ {"xfs", "/xfs_stage1_5"}
- };
-
- tmp_drive = saved_drive;
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/disk_io.c grub-0.90.jfs+xfs/stage2/disk_io.c
---- grub-0.90/stage2/disk_io.c Fri Jun 22 06:32:56 2001
-+++ grub-0.90.jfs+xfs/stage2/disk_io.c Thu Aug 23 17:57:46 2001
-@@ -60,6 +60,12 @@
- # ifdef FSYS_REISERFS
- {"reiserfs", reiserfs_mount, reiserfs_read, reiserfs_dir, 0, reiserfs_embed},
- # endif
-+# ifdef FSYS_JFS
-+ {"jfs", jfs_mount, jfs_read, jfs_dir, 0, jfs_embed},
-+# endif
-+# ifdef FSYS_XFS
-+ {"xfs", xfs_mount, xfs_read, xfs_dir, 0, 0},
-+# endif
- # ifdef FSYS_VSTAFS
- {"vstafs", vstafs_mount, vstafs_read, vstafs_dir, 0, 0},
- # endif
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/filesys.h grub-0.90.jfs+xfs/stage2/filesys.h
---- grub-0.90/stage2/filesys.h Fri Jun 22 06:32:56 2001
-+++ grub-0.90.jfs+xfs/stage2/filesys.h Fri Aug 24 23:09:23 2001
-@@ -68,6 +68,25 @@
- #define FSYS_REISERFS_NUM 0
- #endif
-
-+#ifdef FSYS_JFS
-+#define FSYS_JFS_NUM 1
-+int jfs_mount (void);
-+int jfs_read (char *buf, int len);
-+int jfs_dir (char *dirname);
-+int jfs_embed (int *start_sector, int needed_sectors);
-+#else
-+#define FSYS_JFS_NUM 0
-+#endif
-+
-+#ifdef FSYS_XFS
-+#define FSYS_XFS_NUM 1
-+int xfs_mount (void);
-+int xfs_read (char *buf, int len);
-+int xfs_dir (char *dirname);
-+#else
-+#define FSYS_XFS_NUM 0
-+#endif
-+
- #ifdef FSYS_VSTAFS
- #define FSYS_VSTAFS_NUM 1
- int vstafs_mount (void);
-@@ -90,7 +109,8 @@
- #ifndef NUM_FSYS
- #define NUM_FSYS \
- (FSYS_FFS_NUM + FSYS_FAT_NUM + FSYS_EXT2FS_NUM + FSYS_MINIX_NUM \
-- + FSYS_REISERFS_NUM + FSYS_VSTAFS_NUM + FSYS_TFTP_NUM)
-+ + FSYS_REISERFS_NUM + FSYS_JFS_NUM + FSYS_XFS_NUM + FSYS_VSTAFS_NUM \
-+ + FSYS_TFTP_NUM)
- #endif
-
- /* defines for the block filesystem info area */
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/fsys_jfs.c grub-0.90.jfs+xfs/stage2/fsys_jfs.c
---- grub-0.90/stage2/fsys_jfs.c Thu Jan 1 03:00:00 1970
-+++ grub-0.90.jfs+xfs/stage2/fsys_jfs.c Wed Aug 29 01:20:04 2001
-@@ -0,0 +1,405 @@
-+/*
-+ * fsys_jfs.c - an implementation for the IBM JFS file system
-+ *
-+ * Copyright (C) 2001 Serguei Tzukanov
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#ifdef FSYS_JFS
-+
-+#include "shared.h"
-+#include "filesys.h"
-+#include "jfs.h"
-+
-+#define MAX_LINK_COUNT 8
-+
-+#define DTTYPE_INLINE 0
-+#define DTTYPE_PAGE 1
-+
-+struct jfs_info
-+{
-+ int bsize;
-+ int l2bsize;
-+ int bdlog;
-+ int xindex;
-+ int xlastindex;
-+ int sindex;
-+ int slastindex;
-+ int de_index;
-+ int dttype;
-+ xad_t *xad;
-+ ldtentry_t *de;
-+};
-+
-+static struct jfs_info jfs;
-+
-+#define xtpage ((xtpage_t *)FSYS_BUF)
-+#define dtpage ((dtpage_t *)((char *)FSYS_BUF + 4096))
-+#define fileset ((dinode_t *)((char *)FSYS_BUF + 8192))
-+#define inode ((dinode_t *)((char *)FSYS_BUF + 8192 + sizeof(dinode_t)))
-+#define dtroot ((dtroot_t *)(&inode->di_btroot))
-+
-+static ldtentry_t de_always[2] = {
-+ {1, -1, 2, {'.', '.'}},
-+ {1, -1, 1, {'.'}}
-+};
-+
-+static int
-+isinxt (s64 key, s64 offset, s64 len)
-+{
-+ return (key >= offset) ? (key < offset + len ? 1 : 0) : 0;
-+}
-+
-+static xad_t *
-+first_extent (dinode_t *di)
-+{
-+ xtpage_t *xtp;
-+
-+ jfs.xindex = 2;
-+ xtp = (xtpage_t *)&di->di_btroot;
-+ jfs.xad = &xtp->xad[2];
-+ if (xtp->header.flag & BT_LEAF) {
-+ jfs.xlastindex = xtp->header.nextindex;
-+ } else {
-+ do {
-+ devread (addressXAD (jfs.xad) << jfs.bdlog, 0,
-+ sizeof(xtpage_t), (char *)xtpage);
-+ jfs.xad = &xtpage->xad[2];
-+ } while (!(xtpage->header.flag & BT_LEAF));
-+ jfs.xlastindex = xtpage->header.nextindex;
-+ }
-+
-+ return jfs.xad;
-+}
-+
-+static xad_t *
-+next_extent (void)
-+{
-+ if (++jfs.xindex < jfs.xlastindex) {
-+ } else if (xtpage->header.next) {
-+ devread (xtpage->header.next << jfs.bdlog, 0,
-+ sizeof(xtpage_t), (char *)xtpage);
-+ jfs.xlastindex = xtpage->header.nextindex;
-+ jfs.xindex = XTENTRYSTART;
-+ jfs.xad = &xtpage->xad[XTENTRYSTART];
-+ } else {
-+ return NULL;
-+ }
-+ return ++jfs.xad;
-+}
-+
-+
-+static void
-+di_read (u32 inum, dinode_t *di)
-+{
-+ s64 key;
-+ u32 xd, ioffset;
-+ s64 offset;
-+ xad_t *xad;
-+ pxd_t pxd;
-+
-+ key = (((inum >> L2INOSPERIAG) << L2INOSPERIAG) + 4096) >> jfs.l2bsize;
-+ xd = (inum & (INOSPERIAG - 1)) >> L2INOSPEREXT;
-+ ioffset = ((inum & (INOSPERIAG - 1)) & (INOSPEREXT - 1)) << L2DISIZE;
-+ xad = first_extent (fileset);
-+ do {
-+ offset = offsetXAD (xad);
-+ if (isinxt (key, offset, lengthXAD (xad))) {
-+ devread ((addressXAD (xad) + key - offset) << jfs.bdlog,
-+ 3072 + xd*sizeof(pxd_t), sizeof(pxd_t), (char *)&pxd);
-+ devread (addressPXD (&pxd) << jfs.bdlog,
-+ ioffset, DISIZE, (char *)di);
-+ break;
-+ }
-+ } while ((xad = next_extent ()));
-+}
-+
-+static ldtentry_t *
-+next_dentry (void)
-+{
-+ ldtentry_t *de;
-+ s8 *stbl;
-+
-+ if (jfs.dttype == DTTYPE_INLINE) {
-+ if (jfs.sindex < jfs.slastindex) {
-+ return (ldtentry_t *)&dtroot->slot[(int)dtroot->header.stbl[jfs.sindex++]];
-+ }
-+ } else {
-+ de = (ldtentry_t *)dtpage->slot;
-+ stbl = (s8 *)&de[(int)dtpage->header.stblindex];
-+ if (jfs.sindex < jfs.slastindex) {
-+ return &de[(int)stbl[jfs.sindex++]];
-+ } else if (dtpage->header.next) {
-+ devread (dtpage->header.next << jfs.bdlog, 0,
-+ sizeof(dtpage_t), (char *)dtpage);
-+ jfs.slastindex = dtpage->header.nextindex;
-+ jfs.sindex = 1;
-+ return &de[(int)((s8 *)&de[(int)dtpage->header.stblindex])[0]];
-+ }
-+ }
-+
-+ return (jfs.de_index < 2) ? &de_always[jfs.de_index++] : NULL;
-+}
-+
-+static ldtentry_t *
-+first_dentry (void)
-+{
-+ dtroot_t *dtr;
-+ pxd_t *xd;
-+ idtentry_t *de;
-+
-+ dtr = (dtroot_t *)&inode->di_btroot;
-+ jfs.sindex = 0;
-+ jfs.de_index = 0;
-+
-+ de_always[0].inumber = inode->di_parent;
-+ de_always[1].inumber = inode->di_number;
-+ if (dtr->header.flag & BT_LEAF) {
-+ jfs.dttype = DTTYPE_INLINE;
-+ jfs.slastindex = dtr->header.nextindex;
-+ } else {
-+ de = (idtentry_t *)dtpage->slot;
-+ jfs.dttype = DTTYPE_PAGE;
-+ xd = &((idtentry_t *)dtr->slot)[(int)dtr->header.stbl[0]].xd;
-+ for (;;) {
-+ devread (addressPXD (xd) << jfs.bdlog, 0,
-+ sizeof(dtpage_t), (char *)dtpage);
-+ if (dtpage->header.flag & BT_LEAF)
-+ break;
-+ xd = &de[(int)((s8 *)&de[(int)dtpage->header.stblindex])[0]].xd;
-+ }
-+ jfs.slastindex = dtpage->header.nextindex;
-+ }
-+
-+ return next_dentry ();
-+}
-+
-+
-+static dtslot_t *
-+next_dslot (int next)
-+{
-+ return (jfs.dttype == DTTYPE_INLINE)
-+ ? (dtslot_t *)&dtroot->slot[next]
-+ : &((dtslot_t *)dtpage->slot)[next];
-+}
-+
-+static void
-+uni2ansi (UniChar *uni, char *ansi, int len)
-+{
-+ for (; len; len--, uni++)
-+ *ansi++ = (*uni & 0xff80) ? '?' : *(char *)uni;
-+}
-+
-+int
-+jfs_mount (void)
-+{
-+ struct jfs_superblock super;
-+
-+ if (part_length < MINJFS >> SECTOR_BITS
-+ || !devread (SUPER1_OFF >> SECTOR_BITS, 0,
-+ sizeof(struct jfs_superblock), (char *)&super)
-+ || (super.s_magic != JFS_MAGIC)
-+ || !devread ((AITBL_OFF >> SECTOR_BITS) + FILESYSTEM_I,
-+ 0, DISIZE, (char*)fileset)) {
-+ return 0;
-+ }
-+
-+ jfs.bsize = super.s_bsize;
-+ jfs.l2bsize = super.s_l2bsize;
-+ jfs.bdlog = jfs.l2bsize - SECTOR_BITS;
-+
-+ return 1;
-+}
-+
-+int
-+jfs_read (char *buf, int len)
-+{
-+ xad_t *xad;
-+ s64 endofprev, endofcur;
-+ s64 offset, xadlen;
-+ int toread, startpos, endpos;
-+
-+ startpos = filepos;
-+ endpos = filepos + len;
-+ endofprev = (1ULL << 62) - 1;
-+ xad = first_extent (inode);
-+ do {
-+ offset = offsetXAD (xad);
-+ xadlen = lengthXAD (xad);
-+ if (isinxt (filepos >> jfs.l2bsize, offset, xadlen)) {
-+ endofcur = (offset + xadlen) << jfs.l2bsize;
-+ toread = (endofcur >= endpos)
-+ ? len : (endofcur - filepos);
-+#ifndef STAGE1_5
-+ disk_read_func = disk_read_hook;
-+#endif /* STAGE1_5 */
-+ devread (addressXAD (xad) << jfs.bdlog,
-+ filepos - (offset << jfs.l2bsize), toread, buf);
-+#ifndef STAGE1_5
-+ disk_read_func = NULL;
-+#endif /* STAGE1_5 */
-+ buf += toread;
-+ len -= toread;
-+ filepos += toread;
-+ } else if (offset > endofprev) {
-+ toread = ((offset << jfs.l2bsize) >= endpos)
-+ ? len : ((offset - endofprev) << jfs.l2bsize);
-+ len -= toread;
-+ filepos += toread;
-+ for (; toread; toread--) {
-+ *buf++ = 0;
-+ }
-+ continue;
-+ }
-+ endofprev = offset + xadlen;
-+ xad = next_extent ();
-+ } while (len > 0 && xad);
-+
-+ return filepos - startpos;
-+}
-+
-+int
-+jfs_dir (char *dirname)
-+{
-+ char *ptr, *rest, ch;
-+ ldtentry_t *de;
-+ dtslot_t *ds;
-+ u32 inum, parent_inum;
-+ s64 di_size;
-+ u32 di_mode;
-+ int namlen, cmp, n, link_count;
-+ char namebuf[JFS_NAME_MAX + 1], linkbuf[JFS_PATH_MAX];
-+
-+ parent_inum = inum = ROOT_I;
-+ link_count = 0;
-+ for (;;) {
-+ di_read (inum, inode);
-+ di_size = inode->di_size;
-+ di_mode = inode->di_mode;
-+
-+ if ((di_mode & IFMT) == IFLNK) {
-+ if (++link_count > MAX_LINK_COUNT) {
-+ errnum = ERR_SYMLINK_LOOP;
-+ return 0;
-+ }
-+ if (di_size < (di_mode & INLINEEA ? 256 : 128)) {
-+ grub_memmove (linkbuf, inode->di_fastsymlink, di_size);
-+ n = di_size;
-+ } else if (di_size < JFS_PATH_MAX - 1) {
-+ filepos = 0;
-+ filemax = di_size;
-+ n = jfs_read (linkbuf, filemax);
-+ } else {
-+ errnum = ERR_FILELENGTH;
-+ return 0;
-+ }
-+
-+ inum = (linkbuf[0] == '/') ? ROOT_I : parent_inum;
-+ while (n < (JFS_PATH_MAX - 1) && (linkbuf[n++] = *dirname++));
-+ linkbuf[n] = 0;
-+ dirname = linkbuf;
-+ continue;
-+ }
-+
-+ if (!*dirname || isspace (*dirname)) {
-+ if ((di_mode & IFMT) != IFREG) {
-+ errnum = ERR_BAD_FILETYPE;
-+ return 0;
-+ }
-+ filepos = 0;
-+ filemax = di_size;
-+ return 1;
-+ }
-+
-+ if ((di_mode & IFMT) != IFDIR) {
-+ errnum = ERR_BAD_FILETYPE;
-+ return 0;
-+ }
-+
-+ for (; *dirname == '/'; dirname++);
-+
-+ for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++);
-+ *rest = 0;
-+
-+ de = first_dentry ();
-+ for (;;) {
-+ namlen = de->namlen;
-+ if (de->next == -1) {
-+ uni2ansi (de->name, namebuf, namlen);
-+ namebuf[namlen] = 0;
-+ } else {
-+ uni2ansi (de->name, namebuf, DTLHDRDATALEN);
-+ ptr = namebuf;
-+ ptr += DTLHDRDATALEN;
-+ namlen -= DTLHDRDATALEN;
-+ ds = next_dslot (de->next);
-+ while (ds->next != -1) {
-+ uni2ansi (ds->name, ptr, DTSLOTDATALEN);
-+ ptr += DTSLOTDATALEN;
-+ namlen -= DTSLOTDATALEN;
-+ ds = next_dslot (ds->next);
-+ }
-+ uni2ansi (ds->name, ptr, namlen);
-+ ptr += namlen;
-+ *ptr = 0;
-+ }
-+
-+ cmp = (!*dirname) ? -1 : substring (dirname, namebuf);
-+#ifndef STAGE1_5
-+ if (print_possibilities && ch != '/'
-+ && cmp <= 0) {
-+ if (print_possibilities > 0)
-+ print_possibilities = -print_possibilities;
-+ print_a_completion (namebuf);
-+ } else
-+#endif
-+ if (cmp == 0) {
-+ parent_inum = inum;
-+ inum = de->inumber;
-+ *(dirname = rest) = ch;
-+ break;
-+ }
-+ de = next_dentry ();
-+ if (de == NULL) {
-+ if (print_possibilities < 0)
-+ return 1;
-+
-+ errnum = ERR_FILE_NOT_FOUND;
-+ *rest = ch;
-+ return 0;
-+ }
-+ }
-+ }
-+}
-+
-+int
-+jfs_embed (int *start_sector, int needed_sectors)
-+{
-+ struct jfs_superblock super;
-+
-+ if (needed_sectors > 63
-+ || !devread (SUPER1_OFF >> SECTOR_BITS, 0,
-+ sizeof (struct jfs_superblock),
-+ (char *)&super)
-+ || (super.s_magic != JFS_MAGIC)) {
-+ return 0;
-+ }
-+
-+ *start_sector = 1;
-+ return 1;
-+}
-+
-+#endif /* FSYS_JFS */
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/fsys_xfs.c grub-0.90.jfs+xfs/stage2/fsys_xfs.c
---- grub-0.90/stage2/fsys_xfs.c Thu Jan 1 03:00:00 1970
-+++ grub-0.90.jfs+xfs/stage2/fsys_xfs.c Wed Aug 29 11:24:18 2001
-@@ -0,0 +1,617 @@
-+/*
-+ * fsys_xfs.c - an implementation for the SGI XFS file system
-+ *
-+ * Copyright (C) 2001 Serguei Tzukanov
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#ifdef FSYS_XFS
-+
-+#include "shared.h"
-+#include "filesys.h"
-+#include "xfs.h"
-+
-+#define MAX_LINK_COUNT 8
-+
-+typedef struct xad {
-+ xfs_fileoff_t offset;
-+ xfs_fsblock_t start;
-+ xfs_filblks_t len;
-+} xad_t;
-+
-+struct xfs_info {
-+ int bsize;
-+ int dirbsize;
-+ int isize;
-+ unsigned int agblocks;
-+ int bdlog;
-+ int blklog;
-+ int inopblog;
-+ int agblklog;
-+ int agnolog;
-+ unsigned int nextents;
-+ xfs_daddr_t next;
-+ xfs_daddr_t daddr;
-+ xfs_dablk_t forw;
-+ xfs_dablk_t dablk;
-+ xfs_bmbt_rec_32_t *xt;
-+ xfs_bmbt_ptr_t ptr0;
-+ int btnode_ptr0_off;
-+ int i8param;
-+ int dirpos;
-+ int dirmax;
-+ int blkoff;
-+ int fpos;
-+ xfs_ino_t rootino;
-+};
-+
-+static struct xfs_info xfs;
-+
-+#define dirbuf ((char *)FSYS_BUF)
-+#define filebuf ((char *)FSYS_BUF + 4096)
-+#define inode ((xfs_dinode_t *)((char *)FSYS_BUF + 8192))
-+#define icore (inode->di_core)
-+
-+#define mask32lo(n) (((__uint32_t)1 << (n)) - 1)
-+
-+#define XFS_INO_MASK(k) ((__uint32_t)((1ULL << (k)) - 1))
-+#define XFS_INO_OFFSET_BITS xfs.inopblog
-+#define XFS_INO_AGBNO_BITS xfs.agblklog
-+#define XFS_INO_AGINO_BITS (xfs.agblklog + xfs.inopblog)
-+#define XFS_INO_AGNO_BITS xfs.agnolog
-+
-+static inline xfs_agblock_t
-+agino2agbno (xfs_agino_t agino)
-+{
-+ return agino >> XFS_INO_OFFSET_BITS;
-+}
-+
-+static inline xfs_agnumber_t
-+ino2agno (xfs_ino_t ino)
-+{
-+ return ino >> XFS_INO_AGINO_BITS;
-+}
-+
-+static inline xfs_agino_t
-+ino2agino (xfs_ino_t ino)
-+{
-+ return ino & XFS_INO_MASK(XFS_INO_AGINO_BITS);
-+}
-+
-+static inline int
-+ino2offset (xfs_ino_t ino)
-+{
-+ return ino & XFS_INO_MASK(XFS_INO_OFFSET_BITS);
-+}
-+
-+static inline __const__ __uint16_t
-+le16 (__uint16_t x)
-+{
-+ __asm__("xchgb %b0,%h0" \
-+ : "=q" (x) \
-+ : "0" (x)); \
-+ return x;
-+}
-+
-+static inline __const__ __uint32_t
-+le32 (__uint32_t x)
-+{
-+ __asm__("bswap %0" : "=r" (x) : "0" (x));
-+ return x;
-+}
-+
-+static inline __const__ __uint64_t
-+le64 (__uint64_t x)
-+{
-+ __uint32_t h = x >> 32;
-+ __uint32_t l = x & ((1ULL<<32)-1);
-+ return (((__uint64_t)le32(l)) << 32) | ((__uint64_t)(le32(h)));
-+}
-+
-+
-+static xfs_fsblock_t
-+xt_start (xfs_bmbt_rec_32_t *r)
-+{
-+ return (((xfs_fsblock_t)(le32 (r->l1) & mask32lo(9))) << 43) |
-+ (((xfs_fsblock_t)le32 (r->l2)) << 11) |
-+ (((xfs_fsblock_t)le32 (r->l3)) >> 21);
-+}
-+
-+static xfs_fileoff_t
-+xt_offset (xfs_bmbt_rec_32_t *r)
-+{
-+ return (((xfs_fileoff_t)le32 (r->l0) &
-+ mask32lo(31)) << 23) |
-+ (((xfs_fileoff_t)le32 (r->l1)) >> 9);
-+}
-+
-+static xfs_filblks_t
-+xt_len (xfs_bmbt_rec_32_t *r)
-+{
-+ return le32(r->l3) & mask32lo(21);
-+}
-+
-+static inline int
-+xfs_highbit32(__uint32_t v)
-+{
-+ int i;
-+
-+ if (--v) {
-+ for (i = 0; i < 31; i++, v >>= 1) {
-+ if (v == 0)
-+ return i;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int
-+isinxt (xfs_fileoff_t key, xfs_fileoff_t offset, xfs_filblks_t len)
-+{
-+ return (key >= offset) ? (key < offset + len ? 1 : 0) : 0;
-+}
-+
-+static xfs_daddr_t
-+agb2daddr (xfs_agnumber_t agno, xfs_agblock_t agbno)
-+{
-+ return ((xfs_fsblock_t)agno*xfs.agblocks + agbno) << xfs.bdlog;
-+}
-+
-+static xfs_daddr_t
-+fsb2daddr (xfs_fsblock_t fsbno)
-+{
-+ return agb2daddr ((xfs_agnumber_t)(fsbno >> xfs.agblklog),
-+ (xfs_agblock_t)(fsbno & mask32lo(xfs.agblklog)));
-+}
-+
-+#undef offsetof
-+#define offsetof(t,m) ((int)&(((t *)0)->m))
-+
-+static inline int
-+btroot_maxrecs (void)
-+{
-+ int tmp = icore.di_forkoff ? (icore.di_forkoff << 3) : xfs.isize;
-+
-+ return (tmp - sizeof(xfs_bmdr_block_t) - offsetof(xfs_dinode_t, di_u)) /
-+ (sizeof (xfs_bmbt_key_t) + sizeof (xfs_bmbt_ptr_t));
-+}
-+
-+static int
-+di_read (xfs_ino_t ino)
-+{
-+ xfs_agino_t agino;
-+ xfs_agnumber_t agno;
-+ xfs_agblock_t agbno;
-+ xfs_daddr_t daddr;
-+ int offset;
-+
-+ agno = ino2agno (ino);
-+ agino = ino2agino (ino);
-+ agbno = agino2agbno (agino);
-+ offset = ino2offset (ino);
-+ daddr = agb2daddr (agno, agbno);
-+
-+ devread (daddr, offset*xfs.isize, xfs.isize, (char *)inode);
-+
-+ xfs.ptr0 = *(xfs_bmbt_ptr_t *)
-+ (inode->di_u.di_c + sizeof(xfs_bmdr_block_t)
-+ + btroot_maxrecs ()*sizeof(xfs_bmbt_key_t));
-+
-+ return 1;
-+}
-+
-+static void
-+init_extents (void)
-+{
-+ xfs_bmbt_ptr_t ptr0;
-+ xfs_btree_lblock_t h;
-+
-+ switch (icore.di_format) {
-+ case XFS_DINODE_FMT_EXTENTS:
-+ xfs.xt = inode->di_u.di_bmx;
-+ xfs.nextents = le32 (icore.di_nextents);
-+ break;
-+ case XFS_DINODE_FMT_BTREE:
-+ ptr0 = xfs.ptr0;
-+ for (;;) {
-+ xfs.daddr = fsb2daddr (le64(ptr0));
-+ devread (xfs.daddr, 0,
-+ sizeof(xfs_btree_lblock_t), (char *)&h);
-+ if (!h.bb_level) {
-+ xfs.nextents = le16(h.bb_numrecs);
-+ xfs.next = fsb2daddr (le64(h.bb_rightsib));
-+ xfs.fpos = sizeof(xfs_btree_block_t);
-+ return;
-+ }
-+ devread (xfs.daddr, xfs.btnode_ptr0_off,
-+ sizeof(xfs_bmbt_ptr_t), (char *)&ptr0);
-+ }
-+ }
-+}
-+
-+static xad_t *
-+next_extent (void)
-+{
-+ static xad_t xad;
-+
-+ switch (icore.di_format) {
-+ case XFS_DINODE_FMT_EXTENTS:
-+ if (xfs.nextents == 0)
-+ return NULL;
-+ break;
-+ case XFS_DINODE_FMT_BTREE:
-+ if (xfs.nextents == 0) {
-+ xfs_btree_lblock_t h;
-+ if (xfs.next == 0)
-+ return NULL;
-+ xfs.daddr = xfs.next;
-+ devread (xfs.daddr, 0, sizeof(xfs_btree_lblock_t), (char *)&h);
-+ xfs.nextents = le16(h.bb_numrecs);
-+ xfs.next = fsb2daddr (le64(h.bb_rightsib));
-+ xfs.fpos = sizeof(xfs_btree_block_t);
-+ }
-+ /* Yeah, I know that's slow, but I really don't care */
-+ devread (xfs.daddr, xfs.fpos, sizeof(xfs_bmbt_rec_t), filebuf);
-+ xfs.xt = (xfs_bmbt_rec_32_t *)filebuf;
-+ xfs.fpos += sizeof(xfs_bmbt_rec_32_t);
-+ }
-+ xad.offset = xt_offset (xfs.xt);
-+ xad.start = xt_start (xfs.xt);
-+ xad.len = xt_len (xfs.xt);
-+ ++xfs.xt;
-+ --xfs.nextents;
-+
-+ return &xad;
-+}
-+
-+/*
-+ * Name lies - the function reads only first 100 bytes
-+ */
-+static void
-+xfs_dabread (void)
-+{
-+ xad_t *xad;
-+ xfs_fileoff_t offset;;
-+
-+ init_extents ();
-+ while ((xad = next_extent ())) {
-+ offset = xad->offset;
-+ if (isinxt (xfs.dablk, offset, xad->len)) {
-+ devread (fsb2daddr (xad->start + xfs.dablk - offset),
-+ 0, 100, dirbuf);
-+ break;
-+ }
-+ }
-+}
-+
-+static inline xfs_ino_t
-+sf_ino (char *sfe, int namelen)
-+{
-+ void *p = sfe + namelen + 3;
-+
-+ return (xfs.i8param == 0)
-+ ? le64(*(xfs_ino_t *)p) : le32(*(__uint32_t *)p);
-+}
-+
-+static inline xfs_ino_t
-+sf_parent_ino (void)
-+{
-+ return (xfs.i8param == 0)
-+ ? le64(*(xfs_ino_t *)(&inode->di_u.di_dir2sf.hdr.parent))
-+ : le32(*(__uint32_t *)(&inode->di_u.di_dir2sf.hdr.parent));
-+}
-+
-+static inline int
-+roundup8 (int n)
-+{
-+ return ((n+7)&~7);
-+}
-+
-+static char *
-+next_dentry (xfs_ino_t *ino)
-+{
-+ int namelen = 1;
-+ int toread;
-+ static char *usual[2] = {".", ".."};
-+ static xfs_dir2_sf_entry_t *sfe;
-+ char *name = usual[0];
-+
-+ if (xfs.dirpos >= xfs.dirmax) {
-+ if (xfs.forw == 0)
-+ return NULL;
-+ xfs.dablk = xfs.forw;
-+ xfs_dabread ();
-+#define h ((xfs_dir2_leaf_hdr_t *)dirbuf)
-+ xfs.dirmax = le16 (h->count) - le16 (h->stale);
-+ xfs.forw = le32 (h->info.forw);
-+#undef h
-+ xfs.dirpos = 0;
-+ }
-+
-+ switch (icore.di_format) {
-+ case XFS_DINODE_FMT_LOCAL:
-+ switch (xfs.dirpos) {
-+ case -2:
-+ *ino = 0;
-+ break;
-+ case -1:
-+ *ino = sf_parent_ino ();
-+ ++name;
-+ ++namelen;
-+ sfe = (xfs_dir2_sf_entry_t *)
-+ (inode->di_u.di_c
-+ + sizeof(xfs_dir2_sf_hdr_t)
-+ - xfs.i8param);
-+ break;
-+ default:
-+ namelen = sfe->namelen;
-+ *ino = sf_ino ((char *)sfe, namelen);
-+ name = sfe->name;
-+ sfe = (xfs_dir2_sf_entry_t *)
-+ ((char *)sfe + namelen + 11 - xfs.i8param);
-+ }
-+ break;
-+ case XFS_DINODE_FMT_BTREE:
-+ case XFS_DINODE_FMT_EXTENTS:
-+#define dau ((xfs_dir2_data_union_t *)dirbuf)
-+ for (;;) {
-+ if (xfs.blkoff >= xfs.dirbsize) {
-+ xfs.blkoff = sizeof(xfs_dir2_data_hdr_t);
-+ filepos &= ~(xfs.dirbsize - 1);
-+ filepos |= xfs.blkoff;
-+ }
-+ xfs_read (dirbuf, 4);
-+ xfs.blkoff += 4;
-+ if (dau->unused.freetag == XFS_DIR2_DATA_FREE_TAG) {
-+ toread = roundup8 (le16(dau->unused.length)) - 4;
-+ xfs.blkoff += toread;
-+ filepos += toread;
-+ continue;
-+ }
-+ break;
-+ }
-+ xfs_read ((char *)dirbuf + 4, 5);
-+ *ino = le64 (dau->entry.inumber);
-+ namelen = dau->entry.namelen;
-+#undef dau
-+ toread = roundup8 (namelen + 11) - 9;
-+ xfs_read (dirbuf, toread);
-+ name = (char *)dirbuf;
-+ xfs.blkoff += toread + 5;
-+ }
-+ ++xfs.dirpos;
-+ name[namelen] = 0;
-+
-+ return name;
-+}
-+
-+static char *
-+first_dentry (xfs_ino_t *ino)
-+{
-+ xfs.forw = 0;
-+ switch (icore.di_format) {
-+ case XFS_DINODE_FMT_LOCAL:
-+ xfs.dirmax = inode->di_u.di_dir2sf.hdr.count;
-+ xfs.i8param = inode->di_u.di_dir2sf.hdr.i8count ? 0 : 4;
-+ xfs.dirpos = -2;
-+ break;
-+ case XFS_DINODE_FMT_EXTENTS:
-+ case XFS_DINODE_FMT_BTREE:
-+ filepos = 0;
-+ xfs_read (dirbuf, sizeof(xfs_dir2_data_hdr_t));
-+ if (((xfs_dir2_data_hdr_t *)dirbuf)->magic == le32(XFS_DIR2_BLOCK_MAGIC)) {
-+#define tail ((xfs_dir2_block_tail_t *)dirbuf)
-+ filepos = xfs.dirbsize - sizeof(*tail);
-+ xfs_read (dirbuf, sizeof(*tail));
-+ xfs.dirmax = le32 (tail->count) - le32 (tail->stale);
-+#undef tail
-+ } else {
-+ xfs.dablk = (1ULL << 35) >> xfs.blklog;
-+#define h ((xfs_dir2_leaf_hdr_t *)dirbuf)
-+#define n ((xfs_da_intnode_t *)dirbuf)
-+ for (;;) {
-+ xfs_dabread ();
-+ if ((n->hdr.info.magic == le16(XFS_DIR2_LEAFN_MAGIC))
-+ || (n->hdr.info.magic == le16(XFS_DIR2_LEAF1_MAGIC))) {
-+ xfs.dirmax = le16 (h->count) - le16 (h->stale);
-+ xfs.forw = le32 (h->info.forw);
-+ break;
-+ }
-+ xfs.dablk = le32 (n->btree[0].before);
-+ }
-+#undef n
-+#undef h
-+ }
-+ xfs.blkoff = sizeof(xfs_dir2_data_hdr_t);
-+ filepos = xfs.blkoff;
-+ xfs.dirpos = 0;
-+ }
-+ return next_dentry (ino);
-+}
-+
-+int
-+xfs_mount (void)
-+{
-+ xfs_sb_t super;
-+
-+ if (!devread (0, 0, sizeof(super), (char *)&super)
-+ || (le32(super.sb_magicnum) != XFS_SB_MAGIC)
-+ || ((le16(super.sb_versionnum)
-+ & XFS_SB_VERSION_NUMBITS) != XFS_SB_VERSION_4) ) {
-+ return 0;
-+ }
-+
-+ xfs.bsize = le32 (super.sb_blocksize);
-+ xfs.blklog = super.sb_blocklog;
-+ xfs.bdlog = xfs.blklog - SECTOR_BITS;
-+ xfs.rootino = le64 (super.sb_rootino);
-+ xfs.isize = le16 (super.sb_inodesize);
-+ xfs.agblocks = le32 (super.sb_agblocks);
-+ xfs.dirbsize = xfs.bsize << super.sb_dirblklog;
-+
-+ xfs.inopblog = super.sb_inopblog;
-+ xfs.agblklog = super.sb_agblklog;
-+ xfs.agnolog = xfs_highbit32 (le32(super.sb_agcount));
-+
-+ xfs.btnode_ptr0_off =
-+ ((xfs.bsize - sizeof(xfs_btree_block_t)) /
-+ (sizeof (xfs_bmbt_key_t) + sizeof (xfs_bmbt_ptr_t)))
-+ * sizeof(xfs_bmbt_key_t) + sizeof(xfs_btree_block_t);
-+
-+ return 1;
-+}
-+
-+int
-+xfs_read (char *buf, int len)
-+{
-+ xad_t *xad;
-+ xfs_fileoff_t endofprev, endofcur, offset;
-+ xfs_filblks_t xadlen;
-+ int toread, startpos, endpos;
-+
-+ if (icore.di_format == XFS_DINODE_FMT_LOCAL) {
-+ grub_memmove (buf, inode->di_u.di_c + filepos, len);
-+ filepos += len;
-+ return len;
-+ }
-+
-+ startpos = filepos;
-+ endpos = filepos + len;
-+ endofprev = (xfs_fileoff_t)-1;
-+ init_extents ();
-+ while (len > 0 && (xad = next_extent ())) {
-+ offset = xad->offset;
-+ xadlen = xad->len;
-+ if (isinxt (filepos >> xfs.blklog, offset, xadlen)) {
-+ endofcur = (offset + xadlen) << xfs.blklog;
-+ toread = (endofcur >= endpos)
-+ ? len : (endofcur - filepos);
-+#ifndef STAGE1_5
-+ disk_read_func = disk_read_hook;
-+#endif /* STAGE1_5 */
-+ devread (fsb2daddr (xad->start),
-+ filepos - (offset << xfs.blklog), toread, buf);
-+#ifndef STAGE1_5
-+ disk_read_func = NULL;
-+#endif /* STAGE1_5 */
-+ buf += toread;
-+ len -= toread;
-+ filepos += toread;
-+ } else if (offset > endofprev) {
-+ toread = ((offset << xfs.blklog) >= endpos)
-+ ? len : ((offset - endofprev) << xfs.blklog);
-+ len -= toread;
-+ filepos += toread;
-+ for (; toread; toread--) {
-+ *buf++ = 0;
-+ }
-+ continue;
-+ }
-+ endofprev = offset + xadlen;
-+ }
-+
-+ return filepos - startpos;
-+}
-+
-+int
-+xfs_dir (char *dirname)
-+{
-+ xfs_ino_t ino, parent_ino, new_ino;
-+ xfs_fsize_t di_size;
-+ int di_mode;
-+ int cmp, n, link_count;
-+ char linkbuf[xfs.bsize];
-+ char *rest, *name, ch;
-+
-+ parent_ino = ino = xfs.rootino;
-+ link_count = 0;
-+ for (;;) {
-+ di_read (ino);
-+ di_size = le64 (icore.di_size);
-+ di_mode = le16 (icore.di_mode);
-+
-+ if ((di_mode & IFMT) == IFLNK) {
-+ if (++link_count > MAX_LINK_COUNT) {
-+ errnum = ERR_SYMLINK_LOOP;
-+ return 0;
-+ }
-+ if (di_size < xfs.bsize - 1) {
-+ filepos = 0;
-+ filemax = di_size;
-+ n = xfs_read (linkbuf, filemax);
-+ } else {
-+ errnum = ERR_FILELENGTH;
-+ return 0;
-+ }
-+
-+ ino = (linkbuf[0] == '/') ? xfs.rootino : parent_ino;
-+ while (n < (xfs.bsize - 1) && (linkbuf[n++] = *dirname++));
-+ linkbuf[n] = 0;
-+ dirname = linkbuf;
-+ continue;
-+ }
-+
-+ if (!*dirname || isspace (*dirname)) {
-+ if ((di_mode & IFMT) != IFREG) {
-+ errnum = ERR_BAD_FILETYPE;
-+ return 0;
-+ }
-+ filepos = 0;
-+ filemax = di_size;
-+ return 1;
-+ }
-+
-+ if ((di_mode & IFMT) != IFDIR) {
-+ errnum = ERR_BAD_FILETYPE;
-+ return 0;
-+ }
-+
-+ for (; *dirname == '/'; dirname++);
-+
-+ for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++);
-+ *rest = 0;
-+
-+ name = first_dentry (&new_ino);
-+ for (;;) {
-+ cmp = (!*dirname) ? -1 : substring (dirname, name);
-+#ifndef STAGE1_5
-+ if (print_possibilities && ch != '/' && cmp <= 0) {
-+ if (print_possibilities > 0)
-+ print_possibilities = -print_possibilities;
-+ print_a_completion (name);
-+ } else
-+#endif
-+ if (cmp == 0) {
-+ parent_ino = ino;
-+ if (new_ino)
-+ ino = new_ino;
-+ *(dirname = rest) = ch;
-+ break;
-+ }
-+ name = next_dentry (&new_ino);
-+ if (name == NULL) {
-+ if (print_possibilities < 0)
-+ return 1;
-+
-+ errnum = ERR_FILE_NOT_FOUND;
-+ *rest = ch;
-+ return 0;
-+ }
-+ }
-+ }
-+}
-+
-+#endif /* FSYS_XFS */
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/jfs.h grub-0.90.jfs+xfs/stage2/jfs.h
---- grub-0.90/stage2/jfs.h Thu Jan 1 03:00:00 1970
-+++ grub-0.90.jfs+xfs/stage2/jfs.h Mon Aug 27 12:57:53 2001
-@@ -0,0 +1,601 @@
-+/*
-+ * jfs.h - an extractions from linux/include/linux/jfs/jfs* into one file
-+ *
-+ * Copyright (c) International Business Machines Corp., 2000
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-+ * the GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ */
-+
-+#ifndef _JFS_H_
-+#define _JFS_H_
-+
-+/* those are from jfs_filsys.h */
-+
-+/*
-+ * file system option (superblock flag)
-+ */
-+/* platform option (conditional compilation) */
-+#define JFS_AIX 0x80000000 /* AIX support */
-+/* POSIX name/directory support */
-+
-+#define JFS_OS2 0x40000000 /* OS/2 support */
-+/* case-insensitive name/directory support */
-+
-+#define JFS_LINUX 0x10000000 /* Linux support */
-+/* case-sensitive name/directory support */
-+
-+/* directory option */
-+#define JFS_UNICODE 0x00000001 /* unicode name */
-+
-+/* bba */
-+#define JFS_SWAP_BYTES 0x00100000 /* running on big endian computer */
-+
-+
-+/*
-+ * buffer cache configuration
-+ */
-+/* page size */
-+#ifdef PSIZE
-+#undef PSIZE
-+#endif
-+#define PSIZE 4096 /* page size (in byte) */
-+
-+/*
-+ * fs fundamental size
-+ *
-+ * PSIZE >= file system block size >= PBSIZE >= DISIZE
-+ */
-+#define PBSIZE 512 /* physical block size (in byte) */
-+#define DISIZE 512 /* on-disk inode size (in byte) */
-+#define L2DISIZE 9
-+#define INOSPERIAG 4096 /* number of disk inodes per iag */
-+#define L2INOSPERIAG 12
-+#define INOSPEREXT 32 /* number of disk inode per extent */
-+#define L2INOSPEREXT 5
-+
-+/* Minimum number of bytes supported for a JFS partition */
-+#define MINJFS (0x1000000)
-+
-+/*
-+ * fixed byte offset address
-+ */
-+#define SUPER1_OFF 0x8000 /* primary superblock */
-+
-+#define AITBL_OFF (SUPER1_OFF + PSIZE + (PSIZE << 1))
-+
-+/*
-+ * fixed reserved inode number
-+ */
-+/* aggregate inode */
-+#define AGGREGATE_I 1 /* aggregate inode map inode */
-+#define FILESYSTEM_I 16 /* 1st/only fileset inode in ait:
-+ * fileset inode map inode
-+ */
-+
-+/* per fileset inode */
-+#define ROOT_I 2 /* fileset root inode */
-+
-+/*
-+ * directory configuration
-+ */
-+#define JFS_NAME_MAX 255
-+#define JFS_PATH_MAX PSIZE
-+
-+typedef unsigned char u8;
-+typedef char s8;
-+typedef unsigned short u16;
-+typedef short s16;
-+typedef unsigned int u32;
-+typedef int s32;
-+typedef unsigned long long u64;
-+typedef long long s64;
-+
-+typedef u16 UniChar;
-+
-+/* these from jfs_btree.h */
-+
-+/* btpaget_t flag */
-+#define BT_TYPE 0x07 /* B+-tree index */
-+#define BT_ROOT 0x01 /* root page */
-+#define BT_LEAF 0x02 /* leaf page */
-+#define BT_INTERNAL 0x04 /* internal page */
-+#define BT_RIGHTMOST 0x10 /* rightmost page */
-+#define BT_LEFTMOST 0x20 /* leftmost page */
-+
-+/* those are from jfs_types.h */
-+
-+struct timestruc_t {
-+ u32 tv_sec;
-+ u32 tv_nsec;
-+};
-+
-+/*
-+ * physical xd (pxd)
-+ */
-+typedef struct {
-+ unsigned len:24;
-+ unsigned addr1:8;
-+ u32 addr2;
-+} pxd_t;
-+
-+/* xd_t field extraction */
-+#define lengthPXD(pxd) ((pxd)->len)
-+#define addressPXD(pxd) (((s64)((pxd)->addr1)) << 32 | ((pxd)->addr2))
-+
-+/*
-+ * data extent descriptor (dxd)
-+ */
-+typedef struct {
-+ unsigned flag:8; /* 1: flags */
-+ unsigned rsrvd:24; /* 3: */
-+ u32 size; /* 4: size in byte */
-+ unsigned len:24; /* 3: length in unit of fsblksize */
-+ unsigned addr1:8; /* 1: address in unit of fsblksize */
-+ u32 addr2; /* 4: address in unit of fsblksize */
-+} dxd_t; /* - 16 - */
-+
-+/*
-+ * DASD limit information - stored in directory inode
-+ */
-+typedef struct dasd {
-+ u8 thresh; /* Alert Threshold (in percent) */
-+ u8 delta; /* Alert Threshold delta (in percent) */
-+ u8 rsrvd1;
-+ u8 limit_hi; /* DASD limit (in logical blocks) */
-+ u32 limit_lo; /* DASD limit (in logical blocks) */
-+ u8 rsrvd2[3];
-+ u8 used_hi; /* DASD usage (in logical blocks) */
-+ u32 used_lo; /* DASD usage (in logical blocks) */
-+} dasd_t;
-+
-+
-+/* from jfs_superblock.h */
-+
-+#define JFS_MAGIC 0x3153464A /* "JFS1" */
-+
-+struct jfs_superblock
-+{
-+ u32 s_magic; /* 4: magic number */
-+ u32 s_version; /* 4: version number */
-+
-+ s64 s_size; /* 8: aggregate size in hardware/LVM blocks;
-+ * VFS: number of blocks
-+ */
-+ s32 s_bsize; /* 4: aggregate block size in bytes;
-+ * VFS: fragment size
-+ */
-+ s16 s_l2bsize; /* 2: log2 of s_bsize */
-+ s16 s_l2bfactor; /* 2: log2(s_bsize/hardware block size) */
-+ s32 s_pbsize; /* 4: hardware/LVM block size in bytes */
-+ s16 s_l2pbsize; /* 2: log2 of s_pbsize */
-+ s16 pad; /* 2: padding necessary for alignment */
-+
-+ u32 s_agsize; /* 4: allocation group size in aggr. blocks */
-+
-+ u32 s_flag; /* 4: aggregate attributes:
-+ * see jfs_filsys.h
-+ */
-+ u32 s_state; /* 4: mount/unmount/recovery state:
-+ * see jfs_filsys.h
-+ */
-+ s32 s_compress; /* 4: > 0 if data compression */
-+
-+ pxd_t s_ait2; /* 8: first extent of secondary
-+ * aggregate inode table
-+ */
-+
-+ pxd_t s_aim2; /* 8: first extent of secondary
-+ * aggregate inode map
-+ */
-+ u32 s_logdev; /* 4: device address of log */
-+ s32 s_logserial; /* 4: log serial number at aggregate mount */
-+ pxd_t s_logpxd; /* 8: inline log extent */
-+
-+ pxd_t s_fsckpxd; /* 8: inline fsck work space extent */
-+
-+ struct timestruc_t s_time; /* 8: time last updated */
-+
-+ s32 s_fsckloglen; /* 4: Number of filesystem blocks reserved for
-+ * the fsck service log.
-+ * N.B. These blocks are divided among the
-+ * versions kept. This is not a per
-+ * version size.
-+ * N.B. These blocks are included in the
-+ * length field of s_fsckpxd.
-+ */
-+ s8 s_fscklog; /* 1: which fsck service log is most recent
-+ * 0 => no service log data yet
-+ * 1 => the first one
-+ * 2 => the 2nd one
-+ */
-+ char s_fpack[11]; /* 11: file system volume name
-+ * N.B. This must be 11 bytes to
-+ * conform with the OS/2 BootSector
-+ * requirements
-+ */
-+
-+ /* extendfs() parameter under s_state & FM_EXTENDFS */
-+ s64 s_xsize; /* 8: extendfs s_size */
-+ pxd_t s_xfsckpxd; /* 8: extendfs fsckpxd */
-+ pxd_t s_xlogpxd; /* 8: extendfs logpxd */
-+ /* - 128 byte boundary - */
-+
-+ /*
-+ * DFS VFS support (preliminary)
-+ */
-+ char s_attach; /* 1: VFS: flag: set when aggregate is attached
-+ */
-+ u8 rsrvd4[7]; /* 7: reserved - set to 0 */
-+
-+ u64 totalUsable; /* 8: VFS: total of 1K blocks which are
-+ * available to "normal" (non-root) users.
-+ */
-+ u64 minFree; /* 8: VFS: # of 1K blocks held in reserve for
-+ * exclusive use of root. This value can be 0,
-+ * and if it is then totalUsable will be equal
-+ * to # of blocks in aggregate. I believe this
-+ * means that minFree + totalUsable = # blocks.
-+ * In that case, we don't need to store both
-+ * totalUsable and minFree since we can compute
-+ * one from the other. I would guess minFree
-+ * would be the one we should store, and
-+ * totalUsable would be the one we should
-+ * compute. (Just a guess...)
-+ */
-+
-+ u64 realFree; /* 8: VFS: # of free 1K blocks can be used by
-+ * "normal" users. It may be this is something
-+ * we should compute when asked for instead of
-+ * storing in the superblock. I don't know how
-+ * often this information is needed.
-+ */
-+ /*
-+ * graffiti area
-+ */
-+};
-+
-+/* from jfs_dtree.h */
-+
-+/*
-+ * entry segment/slot
-+ *
-+ * an entry consists of type dependent head/only segment/slot and
-+ * additional segments/slots linked vi next field;
-+ * N.B. last/only segment of entry is terminated by next = -1;
-+ */
-+/*
-+ * directory page slot
-+ */
-+typedef struct {
-+ s8 next; /* 1: */
-+ s8 cnt; /* 1: */
-+ UniChar name[15]; /* 30: */
-+} dtslot_t; /* (32) */
-+
-+#define DTSLOTDATALEN 15
-+
-+/*
-+ * internal node entry head/only segment
-+ */
-+typedef struct {
-+ pxd_t xd; /* 8: child extent descriptor */
-+
-+ s8 next; /* 1: */
-+ u8 namlen; /* 1: */
-+ UniChar name[11]; /* 22: 2-byte aligned */
-+} idtentry_t; /* (32) */
-+
-+/*
-+ * leaf node entry head/only segment
-+ *
-+ * For legacy filesystems, name contains 13 unichars -- no index field
-+ */
-+typedef struct {
-+ u32 inumber; /* 4: 4-byte aligned */
-+ s8 next; /* 1: */
-+ u8 namlen; /* 1: */
-+ UniChar name[11]; /* 22: 2-byte aligned */
-+ u32 index; /* 4: index into dir_table */
-+} ldtentry_t; /* (32) */
-+
-+#define DTLHDRDATALEN 11
-+
-+/*
-+ * dir_table used for directory traversal during readdir
-+*/
-+
-+/*
-+ * Maximum entry in inline directory table
-+ */
-+
-+typedef struct dir_table_slot {
-+ u8 rsrvd; /* 1: */
-+ u8 flag; /* 1: 0 if free */
-+ u8 slot; /* 1: slot within leaf page of entry */
-+ u8 addr1; /* 1: upper 8 bits of leaf page address */
-+ u32 addr2; /* 4: lower 32 bits of leaf page address -OR-
-+ index of next entry when this entry was deleted */
-+} dir_table_slot_t; /* (8) */
-+
-+/*
-+ * directory root page (in-line in on-disk inode):
-+ *
-+ * cf. dtpage_t below.
-+ */
-+typedef union {
-+ struct {
-+ dasd_t DASD; /* 16: DASD limit/usage info F226941 */
-+
-+ u8 flag; /* 1: */
-+ s8 nextindex; /* 1: next free entry in stbl */
-+ s8 freecnt; /* 1: free count */
-+ s8 freelist; /* 1: freelist header */
-+
-+ u32 idotdot; /* 4: parent inode number */
-+
-+ s8 stbl[8]; /* 8: sorted entry index table */
-+ } header; /* (32) */
-+
-+ dtslot_t slot[9];
-+} dtroot_t;
-+
-+/*
-+ * directory regular page:
-+ *
-+ * entry slot array of 32 byte slot
-+ *
-+ * sorted entry slot index table (stbl):
-+ * contiguous slots at slot specified by stblindex,
-+ * 1-byte per entry
-+ * 512 byte block: 16 entry tbl (1 slot)
-+ * 1024 byte block: 32 entry tbl (1 slot)
-+ * 2048 byte block: 64 entry tbl (2 slot)
-+ * 4096 byte block: 128 entry tbl (4 slot)
-+ *
-+ * data area:
-+ * 512 byte block: 16 - 2 = 14 slot
-+ * 1024 byte block: 32 - 2 = 30 slot
-+ * 2048 byte block: 64 - 3 = 61 slot
-+ * 4096 byte block: 128 - 5 = 123 slot
-+ *
-+ * N.B. index is 0-based; index fields refer to slot index
-+ * except nextindex which refers to entry index in stbl;
-+ * end of entry stot list or freelist is marked with -1.
-+ */
-+typedef union {
-+ struct {
-+ s64 next; /* 8: next sibling */
-+ s64 prev; /* 8: previous sibling */
-+
-+ u8 flag; /* 1: */
-+ s8 nextindex; /* 1: next entry index in stbl */
-+ s8 freecnt; /* 1: */
-+ s8 freelist; /* 1: slot index of head of freelist */
-+
-+ u8 maxslot; /* 1: number of slots in page slot[] */
-+ s8 stblindex; /* 1: slot index of start of stbl */
-+ u8 rsrvd[2]; /* 2: */
-+
-+ pxd_t self; /* 8: self pxd */
-+ } header; /* (32) */
-+
-+ dtslot_t slot[128];
-+} dtpage_t;
-+
-+/* from jfs_xtree.h */
-+
-+/*
-+ * extent allocation descriptor (xad)
-+ */
-+typedef struct xad {
-+ unsigned flag:8; /* 1: flag */
-+ unsigned rsvrd:16; /* 2: reserved */
-+ unsigned off1:8; /* 1: offset in unit of fsblksize */
-+ u32 off2; /* 4: offset in unit of fsblksize */
-+ unsigned len:24; /* 3: length in unit of fsblksize */
-+ unsigned addr1:8; /* 1: address in unit of fsblksize */
-+ u32 addr2; /* 4: address in unit of fsblksize */
-+} xad_t; /* (16) */
-+
-+/* xad_t field extraction */
-+#define offsetXAD(xad) (((s64)((xad)->off1)) << 32 | ((xad)->off2))
-+#define addressXAD(xad) (((s64)((xad)->addr1)) << 32 | ((xad)->addr2))
-+#define lengthXAD(xad) ((xad)->len)
-+
-+/* possible values for maxentry */
-+#define XTPAGEMAXSLOT 256
-+#define XTENTRYSTART 2
-+
-+/*
-+ * xtree page:
-+ */
-+typedef union {
-+ struct xtheader {
-+ s64 next; /* 8: */
-+ s64 prev; /* 8: */
-+
-+ u8 flag; /* 1: */
-+ u8 rsrvd1; /* 1: */
-+ s16 nextindex; /* 2: next index = number of entries */
-+ s16 maxentry; /* 2: max number of entries */
-+ s16 rsrvd2; /* 2: */
-+
-+ pxd_t self; /* 8: self */
-+ } header; /* (32) */
-+
-+ xad_t xad[XTPAGEMAXSLOT]; /* 16 * maxentry: xad array */
-+} xtpage_t;
-+
-+/* from jfs_dinode.h */
-+
-+struct dinode {
-+ /*
-+ * I. base area (128 bytes)
-+ * ------------------------
-+ *
-+ * define generic/POSIX attributes
-+ */
-+ u32 di_inostamp; /* 4: stamp to show inode belongs to fileset */
-+ s32 di_fileset; /* 4: fileset number */
-+ u32 di_number; /* 4: inode number, aka file serial number */
-+ u32 di_gen; /* 4: inode generation number */
-+
-+ pxd_t di_ixpxd; /* 8: inode extent descriptor */
-+
-+ s64 di_size; /* 8: size */
-+ s64 di_nblocks; /* 8: number of blocks allocated */
-+
-+ u32 di_nlink; /* 4: number of links to the object */
-+
-+ u32 di_uid; /* 4: user id of owner */
-+ u32 di_gid; /* 4: group id of owner */
-+
-+ u32 di_mode; /* 4: attribute, format and permission */
-+
-+ struct timestruc_t di_atime; /* 8: time last data accessed */
-+ struct timestruc_t di_ctime; /* 8: time last status changed */
-+ struct timestruc_t di_mtime; /* 8: time last data modified */
-+ struct timestruc_t di_otime; /* 8: time created */
-+
-+ dxd_t di_acl; /* 16: acl descriptor */
-+
-+ dxd_t di_ea; /* 16: ea descriptor */
-+
-+ s32 di_next_index; /* 4: Next available dir_table index */
-+
-+ s32 di_acltype; /* 4: Type of ACL */
-+
-+ /*
-+ * Extension Areas.
-+ *
-+ * Historically, the inode was partitioned into 4 128-byte areas,
-+ * the last 3 being defined as unions which could have multiple
-+ * uses. The first 96 bytes had been completely unused until
-+ * an index table was added to the directory. It is now more
-+ * useful to describe the last 3/4 of the inode as a single
-+ * union. We would probably be better off redesigning the
-+ * entire structure from scratch, but we don't want to break
-+ * commonality with OS/2's JFS at this time.
-+ */
-+ union {
-+ struct {
-+ /*
-+ * This table contains the information needed to
-+ * find a directory entry from a 32-bit index.
-+ * If the index is small enough, the table is inline,
-+ * otherwise, an x-tree root overlays this table
-+ */
-+ dir_table_slot_t _table[12]; /* 96: inline */
-+
-+ dtroot_t _dtroot; /* 288: dtree root */
-+ } _dir; /* (384) */
-+#define di_dirtable u._dir._table
-+#define di_dtroot u._dir._dtroot
-+#define di_parent di_dtroot.header.idotdot
-+#define di_DASD di_dtroot.header.DASD
-+
-+ struct {
-+ union {
-+ u8 _data[96]; /* 96: unused */
-+ struct {
-+ void *_imap; /* 4: unused */
-+ u32 _gengen; /* 4: generator */
-+ } _imap;
-+ } _u1; /* 96: */
-+#define di_gengen u._file._u1._imap._gengen
-+
-+ union {
-+ xtpage_t _xtroot;
-+ struct {
-+ u8 unused[16]; /* 16: */
-+ dxd_t _dxd; /* 16: */
-+ union {
-+ u32 _rdev; /* 4: */
-+ u8 _fastsymlink[128];
-+ } _u;
-+ u8 _inlineea[128];
-+ } _special;
-+ } _u2;
-+ } _file;
-+#define di_xtroot u._file._u2._xtroot
-+#define di_dxd u._file._u2._special._dxd
-+#define di_btroot di_xtroot
-+#define di_inlinedata u._file._u2._special._u
-+#define di_rdev u._file._u2._special._u._rdev
-+#define di_fastsymlink u._file._u2._special._u._fastsymlink
-+#define di_inlineea u._file._u2._special._inlineea
-+ } u;
-+};
-+
-+typedef struct dinode dinode_t;
-+
-+/* di_mode */
-+#define IFMT 0xF000 /* S_IFMT - mask of file type */
-+#define IFDIR 0x4000 /* S_IFDIR - directory */
-+#define IFREG 0x8000 /* S_IFREG - regular file */
-+#define IFLNK 0xA000 /* S_IFLNK - symbolic link */
-+
-+/* extended mode bits (on-disk inode di_mode) */
-+#define INLINEEA 0x00040000 /* inline EA area free */
-+
-+/* from jfs_imap.h */
-+
-+#define EXTSPERIAG 128 /* number of disk inode extent per iag */
-+#define SMAPSZ 4 /* number of words per summary map */
-+#define MAXAG 128 /* maximum number of allocation groups */
-+
-+/*
-+ * inode allocation map:
-+ *
-+ * inode allocation map consists of
-+ * . the inode map control page and
-+ * . inode allocation group pages (per 4096 inodes)
-+ * which are addressed by standard JFS xtree.
-+ */
-+/*
-+ * inode allocation group page (per 4096 inodes of an AG)
-+ */
-+typedef struct {
-+ s64 agstart; /* 8: starting block of ag */
-+ s32 iagnum; /* 4: inode allocation group number */
-+ s32 inofreefwd; /* 4: ag inode free list forward */
-+ s32 inofreeback; /* 4: ag inode free list back */
-+ s32 extfreefwd; /* 4: ag inode extent free list forward */
-+ s32 extfreeback; /* 4: ag inode extent free list back */
-+ s32 iagfree; /* 4: iag free list */
-+
-+ /* summary map: 1 bit per inode extent */
-+ s32 inosmap[SMAPSZ]; /* 16: sum map of mapwords w/ free inodes;
-+ * note: this indicates free and backed
-+ * inodes, if the extent is not backed the
-+ * value will be 1. if the extent is
-+ * backed but all inodes are being used the
-+ * value will be 1. if the extent is
-+ * backed but at least one of the inodes is
-+ * free the value will be 0.
-+ */
-+ s32 extsmap[SMAPSZ]; /* 16: sum map of mapwords w/ free extents */
-+ s32 nfreeinos; /* 4: number of free inodes */
-+ s32 nfreeexts; /* 4: number of free extents */
-+ /* (72) */
-+ u8 pad[1976]; /* 1976: pad to 2048 bytes */
-+ /* allocation bit map: 1 bit per inode (0 - free, 1 - allocated) */
-+ u32 wmap[EXTSPERIAG]; /* 512: working allocation map */
-+ u32 pmap[EXTSPERIAG]; /* 512: persistent allocation map */
-+ pxd_t inoext[EXTSPERIAG]; /* 1024: inode extent addresses */
-+} iag_t; /* (4096) */
-+
-+#endif /* _JFS_H_ */
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/shared.h grub-0.90.jfs+xfs/stage2/shared.h
---- grub-0.90/stage2/shared.h Fri Jun 22 06:32:56 2001
-+++ grub-0.90.jfs+xfs/stage2/shared.h Thu Aug 23 17:49:01 2001
-@@ -206,7 +206,9 @@
- #define STAGE2_ID_FAT_STAGE1_5 3
- #define STAGE2_ID_MINIX_STAGE1_5 4
- #define STAGE2_ID_REISERFS_STAGE1_5 5
--#define STAGE2_ID_VSTAFS_STAGE1_5 6
-+#define STAGE2_ID_JFS_STAGE1_5 6
-+#define STAGE2_ID_XFS_STAGE1_5 7
-+#define STAGE2_ID_VSTAFS_STAGE1_5 8
-
- #ifndef STAGE1_5
- # define STAGE2_ID STAGE2_ID_STAGE2
-@@ -221,6 +223,10 @@
- # define STAGE2_ID STAGE2_ID_MINIX_STAGE1_5
- # elif defined(FSYS_REISERFS)
- # define STAGE2_ID STAGE2_ID_REISERFS_STAGE1_5
-+# elif defined(FSYS_JFS)
-+# define STAGE2_ID STAGE2_ID_JFS_STAGE1_5
-+# elif defined(FSYS_XFS)
-+# define STAGE2_ID STAGE2_ID_XFS_STAGE1_5
- # elif defined(FSYS_VSTAFS)
- # define STAGE2_ID STAGE2_ID_VSTAFS_STAGE1_5
- # else
-diff -urN --exclude-from=xlist-core grub-0.90/stage2/xfs.h grub-0.90.jfs+xfs/stage2/xfs.h
---- grub-0.90/stage2/xfs.h Thu Jan 1 03:00:00 1970
-+++ grub-0.90.jfs+xfs/stage2/xfs.h Wed Aug 29 02:00:47 2001
-@@ -0,0 +1,545 @@
-+/*
-+ * xfs.h - an extraction from xfsprogs-1.3.5/include/xfs* into one file
-+ *
-+ * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of version 2 of the GNU General Public License as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it would be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-+ *
-+ * Further, this software is distributed without any warranty that it is
-+ * free of the rightful claim of any third person regarding infringement
-+ * or the like. Any license provided herein, whether implied or
-+ * otherwise, applies only to this software file. Patent licenses, if
-+ * any, provided herein do not apply to combinations of this program with
-+ * other software, or any other product whatsoever.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write the Free Software Foundation, Inc., 59
-+ * Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+ *
-+ * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
-+ * Mountain View, CA 94043, or:
-+ *
-+ * http://www.sgi.com
-+ *
-+ * For further information regarding this notice, see:
-+ *
-+ * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
-+ */
-+
-+#ifndef _BITS_TYPES_H
-+typedef signed char __int8_t;
-+typedef unsigned char __uint8_t;
-+typedef short __int16_t;
-+typedef unsigned short __uint16_t;
-+typedef int __int32_t;
-+typedef unsigned int __uint32_t;
-+typedef long long __int64_t;
-+typedef unsigned long long __uint64_t;
-+#endif
-+
-+typedef __uint64_t xfs_ino_t;
-+typedef __uint32_t xfs_agino_t;
-+typedef __int64_t xfs_daddr_t;
-+typedef __int64_t xfs_off_t;
-+typedef __uint8_t uuid_t[16];
-+
-+
-+/* those are from xfs_types.h */
-+
-+typedef __uint32_t xfs_agblock_t; /* blockno in alloc. group */
-+typedef __uint32_t xfs_extlen_t; /* extent length in blocks */
-+typedef __uint32_t xfs_agnumber_t; /* allocation group number */
-+typedef __int32_t xfs_extnum_t; /* # of extents in a file */
-+typedef __int16_t xfs_aextnum_t; /* # extents in an attribute fork */
-+typedef __int64_t xfs_fsize_t; /* bytes in a file */
-+
-+typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */
-+typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */
-+
-+/*
-+ * Disk based types:
-+ */
-+typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */
-+typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */
-+typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */
-+typedef __uint64_t xfs_dfiloff_t; /* block number in a file */
-+
-+typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */
-+typedef __uint64_t xfs_fileoff_t; /* block number in a file */
-+typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */
-+
-+
-+/* those are from xfs_sb.h */
-+
-+#define XFS_SB_MAGIC 0x58465342 /* 'XFSB'*/
-+#define XFS_SB_VERSION_4 4 /* 6.2+ - bitmask version */
-+#define XFS_SB_VERSION_NUMBITS 0x000f
-+
-+typedef struct xfs_sb
-+{
-+ __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */
-+ __uint32_t sb_blocksize; /* logical block size, bytes */
-+ xfs_drfsbno_t sb_dblocks; /* number of data blocks */
-+ xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */
-+ xfs_drtbno_t sb_rextents; /* number of realtime extents */
-+ uuid_t sb_uuid; /* file system unique id */
-+ xfs_dfsbno_t sb_logstart; /* starting block of log if internal */
-+ xfs_ino_t sb_rootino; /* root inode number */
-+ xfs_ino_t sb_rbmino; /* bitmap inode for realtime extents */
-+ xfs_ino_t sb_rsumino; /* summary inode for rt bitmap */
-+ xfs_agblock_t sb_rextsize; /* realtime extent size, blocks */
-+ xfs_agblock_t sb_agblocks; /* size of an allocation group */
-+ xfs_agnumber_t sb_agcount; /* number of allocation groups */
-+ xfs_extlen_t sb_rbmblocks; /* number of rt bitmap blocks */
-+ xfs_extlen_t sb_logblocks; /* number of log blocks */
-+ __uint16_t sb_versionnum; /* header version == XFS_SB_VERSION */
-+ __uint16_t sb_sectsize; /* volume sector size, bytes */
-+ __uint16_t sb_inodesize; /* inode size, bytes */
-+ __uint16_t sb_inopblock; /* inodes per block */
-+ char sb_fname[12]; /* file system name */
-+ __uint8_t sb_blocklog; /* log2 of sb_blocksize */
-+ __uint8_t sb_sectlog; /* log2 of sb_sectsize */
-+ __uint8_t sb_inodelog; /* log2 of sb_inodesize */
-+ __uint8_t sb_inopblog; /* log2 of sb_inopblock */
-+ __uint8_t sb_agblklog; /* log2 of sb_agblocks (rounded up) */
-+ __uint8_t sb_rextslog; /* log2 of sb_rextents */
-+ __uint8_t sb_inprogress; /* mkfs is in progress, don't mount */
-+ __uint8_t sb_imax_pct; /* max % of fs for inode space */
-+ /* statistics */
-+ /*
-+ * These fields must remain contiguous. If you really
-+ * want to change their layout, make sure you fix the
-+ * code in xfs_trans_apply_sb_deltas().
-+ */
-+ __uint64_t sb_icount; /* allocated inodes */
-+ __uint64_t sb_ifree; /* free inodes */
-+ __uint64_t sb_fdblocks; /* free data blocks */
-+ __uint64_t sb_frextents; /* free realtime extents */
-+ /*
-+ * End contiguous fields.
-+ */
-+ xfs_ino_t sb_uquotino; /* user quota inode */
-+ xfs_ino_t sb_gquotino; /* group quota inode */
-+ __uint16_t sb_qflags; /* quota flags */
-+ __uint8_t sb_flags; /* misc. flags */
-+ __uint8_t sb_shared_vn; /* shared version number */
-+ xfs_extlen_t sb_inoalignmt; /* inode chunk alignment, fsblocks */
-+ __uint32_t sb_unit; /* stripe or raid unit */
-+ __uint32_t sb_width; /* stripe or raid width */
-+ __uint8_t sb_dirblklog; /* log2 of dir block size (fsbs) */
-+ __uint8_t sb_dummy[7]; /* padding */
-+} xfs_sb_t;
-+
-+
-+/* those are from xfs_btree.h */
-+
-+/*
-+ * Long form header: bmap btrees.
-+ */
-+typedef struct xfs_btree_lblock
-+{
-+ __uint32_t bb_magic; /* magic number for block type */
-+ __uint16_t bb_level; /* 0 is a leaf */
-+ __uint16_t bb_numrecs; /* current # of data records */
-+ xfs_dfsbno_t bb_leftsib; /* left sibling block or NULLDFSBNO */
-+ xfs_dfsbno_t bb_rightsib; /* right sibling block or NULLDFSBNO */
-+} xfs_btree_lblock_t;
-+
-+/*
-+ * Combined header and structure, used by common code.
-+ */
-+typedef struct xfs_btree_hdr
-+{
-+ __uint32_t bb_magic; /* magic number for block type */
-+ __uint16_t bb_level; /* 0 is a leaf */
-+ __uint16_t bb_numrecs; /* current # of data records */
-+} xfs_btree_hdr_t;
-+
-+typedef struct xfs_btree_block
-+{
-+ xfs_btree_hdr_t bb_h; /* header */
-+ union {
-+ struct {
-+ xfs_agblock_t bb_leftsib;
-+ xfs_agblock_t bb_rightsib;
-+ } s; /* short form pointers */
-+ struct {
-+ xfs_dfsbno_t bb_leftsib;
-+ xfs_dfsbno_t bb_rightsib;
-+ } l; /* long form pointers */
-+ } bb_u; /* rest */
-+} xfs_btree_block_t;
-+
-+/* those are from xfs_bmap_btree.h */
-+
-+/*
-+ * Bmap root header, on-disk form only.
-+ */
-+typedef struct xfs_bmdr_block
-+{
-+ __uint16_t bb_level; /* 0 is a leaf */
-+ __uint16_t bb_numrecs; /* current # of data records */
-+} xfs_bmdr_block_t;
-+
-+/*
-+ * Bmap btree record and extent descriptor.
-+ * For 32-bit kernels,
-+ * l0:31 is an extent flag (value 1 indicates non-normal).
-+ * l0:0-30 and l1:9-31 are startoff.
-+ * l1:0-8, l2:0-31, and l3:21-31 are startblock.
-+ * l3:0-20 are blockcount.
-+ * For 64-bit kernels,
-+ * l0:63 is an extent flag (value 1 indicates non-normal).
-+ * l0:9-62 are startoff.
-+ * l0:0-8 and l1:21-63 are startblock.
-+ * l1:0-20 are blockcount.
-+ */
-+
-+#define BMBT_USE_64 1
-+
-+typedef struct xfs_bmbt_rec_32
-+{
-+ __uint32_t l0, l1, l2, l3;
-+} xfs_bmbt_rec_32_t;
-+typedef struct xfs_bmbt_rec_64
-+{
-+ __uint64_t l0, l1;
-+} xfs_bmbt_rec_64_t;
-+
-+#if BMBT_USE_64
-+typedef __uint64_t xfs_bmbt_rec_base_t; /* use this for casts */
-+typedef xfs_bmbt_rec_64_t xfs_bmbt_rec_t, xfs_bmdr_rec_t;
-+#else /* !BMBT_USE_64 */
-+typedef __uint32_t xfs_bmbt_rec_base_t; /* use this for casts */
-+typedef xfs_bmbt_rec_32_t xfs_bmbt_rec_t, xfs_bmdr_rec_t;
-+#endif /* BMBT_USE_64 */
-+
-+/*
-+ * Key structure for non-leaf levels of the tree.
-+ */
-+typedef struct xfs_bmbt_key
-+{
-+ xfs_dfiloff_t br_startoff; /* starting file offset */
-+} xfs_bmbt_key_t, xfs_bmdr_key_t;
-+
-+typedef xfs_dfsbno_t xfs_bmbt_ptr_t, xfs_bmdr_ptr_t; /* btree pointer type */
-+ /* btree block header type */
-+typedef struct xfs_btree_lblock xfs_bmbt_block_t;
-+
-+
-+/* those are from xfs_dir2.h */
-+/*
-+ * Directory version 2.
-+ * There are 4 possible formats:
-+ * shortform
-+ * single block - data with embedded leaf at the end
-+ * multiple data blocks, single leaf+freeindex block
-+ * data blocks, node&leaf blocks (btree), freeindex blocks
-+ *
-+ * The shortform format is in xfs_dir2_sf.h.
-+ * The single block format is in xfs_dir2_block.h.
-+ * The data block format is in xfs_dir2_data.h.
-+ * The leaf and freeindex block formats are in xfs_dir2_leaf.h.
-+ * Node blocks are the same as the other version, in xfs_da_btree.h.
-+ */
-+
-+/*
-+ * Byte offset in data block and shortform entry.
-+ */
-+typedef __uint16_t xfs_dir2_data_off_t;
-+
-+/*
-+ * Byte offset in a directory.
-+ */
-+typedef xfs_off_t xfs_dir2_off_t;
-+
-+/* those are from xfs_da_btree.h */
-+/*========================================================================
-+ * Directory Structure when greater than XFS_LBSIZE(mp) bytes.
-+ *========================================================================*/
-+
-+/*
-+ * This structure is common to both leaf nodes and non-leaf nodes in the Btree.
-+ *
-+ * Is is used to manage a doubly linked list of all blocks at the same
-+ * level in the Btree, and to identify which type of block this is.
-+ */
-+#define XFS_DIR2_LEAF1_MAGIC 0xd2f1 /* magic number: v2 dirlf single blks */
-+#define XFS_DIR2_LEAFN_MAGIC 0xd2ff /* magic number: v2 dirlf multi blks */
-+
-+typedef struct xfs_da_blkinfo {
-+ xfs_dablk_t forw; /* previous block in list */
-+ xfs_dablk_t back; /* following block in list */
-+ __uint16_t magic; /* validity check on block */
-+ __uint16_t pad; /* unused */
-+} xfs_da_blkinfo_t;
-+
-+/*
-+ * This is the structure of the root and intermediate nodes in the Btree.
-+ * The leaf nodes are defined above.
-+ *
-+ * Entries are not packed.
-+ *
-+ * Since we have duplicate keys, use a binary search but always follow
-+ * all match in the block, not just the first match found.
-+ */
-+
-+typedef struct xfs_da_intnode {
-+ struct xfs_da_node_hdr { /* constant-structure header block */
-+ xfs_da_blkinfo_t info; /* block type, links, etc. */
-+ __uint16_t count; /* count of active entries */
-+ __uint16_t level; /* level above leaves (leaf == 0) */
-+ } hdr;
-+ struct xfs_da_node_entry {
-+ xfs_dahash_t hashval; /* hash value for this descendant */
-+ xfs_dablk_t before; /* Btree block before this key */
-+ } btree[1]; /* variable sized array of keys */
-+} xfs_da_intnode_t;
-+
-+
-+/* those are from xfs_dir2_data.h */
-+/*
-+ * Directory format 2, data block structures.
-+ */
-+
-+/*
-+ * Constants.
-+ */
-+#define XFS_DIR2_DATA_FREE_TAG 0xffff
-+#define XFS_DIR2_DATA_FD_COUNT 3
-+
-+/*
-+ * Structures.
-+ */
-+
-+/*
-+ * Describe a free area in the data block.
-+ * The freespace will be formatted as a xfs_dir2_data_unused_t.
-+ */
-+typedef struct xfs_dir2_data_free {
-+ xfs_dir2_data_off_t offset; /* start of freespace */
-+ xfs_dir2_data_off_t length; /* length of freespace */
-+} xfs_dir2_data_free_t;
-+
-+/*
-+ * Header for the data blocks.
-+ * Always at the beginning of a directory-sized block.
-+ * The code knows that XFS_DIR2_DATA_FD_COUNT is 3.
-+ */
-+typedef struct xfs_dir2_data_hdr {
-+ __uint32_t magic; /* XFS_DIR2_DATA_MAGIC */
-+ /* or XFS_DIR2_BLOCK_MAGIC */
-+ xfs_dir2_data_free_t bestfree[XFS_DIR2_DATA_FD_COUNT];
-+} xfs_dir2_data_hdr_t;
-+
-+/*
-+ * Active entry in a data block. Aligned to 8 bytes.
-+ * Tag appears as the last 2 bytes.
-+ */
-+typedef struct xfs_dir2_data_entry {
-+ xfs_ino_t inumber; /* inode number */
-+ __uint8_t namelen; /* name length */
-+ __uint8_t name[1]; /* name bytes, no null */
-+ /* variable offset */
-+ xfs_dir2_data_off_t tag; /* starting offset of us */
-+} xfs_dir2_data_entry_t;
-+
-+/*
-+ * Unused entry in a data block. Aligned to 8 bytes.
-+ * Tag appears as the last 2 bytes.
-+ */
-+typedef struct xfs_dir2_data_unused {
-+ __uint16_t freetag; /* XFS_DIR2_DATA_FREE_TAG */
-+ xfs_dir2_data_off_t length; /* total free length */
-+ /* variable offset */
-+ xfs_dir2_data_off_t tag; /* starting offset of us */
-+} xfs_dir2_data_unused_t;
-+
-+typedef union {
-+ xfs_dir2_data_entry_t entry;
-+ xfs_dir2_data_unused_t unused;
-+} xfs_dir2_data_union_t;
-+
-+
-+/* those are from xfs_dir2_leaf.h */
-+/*
-+ * Directory version 2, leaf block structures.
-+ */
-+
-+/*
-+ * Leaf block header.
-+ */
-+typedef struct xfs_dir2_leaf_hdr {
-+ xfs_da_blkinfo_t info; /* header for da routines */
-+ __uint16_t count; /* count of entries */
-+ __uint16_t stale; /* count of stale entries */
-+} xfs_dir2_leaf_hdr_t;
-+
-+
-+/* those are from xfs_dir2_block.h */
-+/*
-+ * xfs_dir2_block.h
-+ * Directory version 2, single block format structures
-+ */
-+
-+/*
-+ * The single block format is as follows:
-+ * xfs_dir2_data_hdr_t structure
-+ * xfs_dir2_data_entry_t and xfs_dir2_data_unused_t structures
-+ * xfs_dir2_leaf_entry_t structures
-+ * xfs_dir2_block_tail_t structure
-+ */
-+
-+#define XFS_DIR2_BLOCK_MAGIC 0x58443242 /* XD2B: for one block dirs */
-+
-+typedef struct xfs_dir2_block_tail {
-+ __uint32_t count; /* count of leaf entries */
-+ __uint32_t stale; /* count of stale lf entries */
-+} xfs_dir2_block_tail_t;
-+
-+
-+/* those are from xfs_dir2_sf.h */
-+
-+/*
-+ * Directory layout when stored internal to an inode.
-+ *
-+ * Small directories are packed as tightly as possible so as to
-+ * fit into the literal area of the inode.
-+ */
-+
-+/*
-+ * Inode number stored as 8 8-bit values.
-+ */
-+typedef struct { __uint8_t i[8]; } xfs_dir2_ino8_t;
-+
-+/*
-+ * Inode number stored as 4 8-bit values.
-+ * Works a lot of the time, when all the inode numbers in a directory
-+ * fit in 32 bits.
-+ */
-+typedef struct { __uint8_t i[4]; } xfs_dir2_ino4_t;
-+
-+typedef union {
-+ xfs_dir2_ino8_t i8;
-+ xfs_dir2_ino4_t i4;
-+} xfs_dir2_inou_t;
-+
-+/*
-+ * Normalized offset (in a data block) of the entry, really xfs_dir2_data_off_t.
-+ * Only need 16 bits, this is the byte offset into the single block form.
-+ */
-+typedef struct { __uint8_t i[2]; } xfs_dir2_sf_off_t;
-+
-+/*
-+ * The parent directory has a dedicated field, and the self-pointer must
-+ * be calculated on the fly.
-+ *
-+ * Entries are packed toward the top as tightly as possible. The header
-+ * and the elements must be bcopy()'d out into a work area to get correct
-+ * alignment for the inode number fields.
-+ */
-+typedef struct xfs_dir2_sf_hdr {
-+ __uint8_t count; /* count of entries */
-+ __uint8_t i8count; /* count of 8-byte inode #s */
-+ xfs_dir2_inou_t parent; /* parent dir inode number */
-+} xfs_dir2_sf_hdr_t;
-+
-+typedef struct xfs_dir2_sf_entry {
-+ __uint8_t namelen; /* actual name length */
-+ xfs_dir2_sf_off_t offset; /* saved offset */
-+ __uint8_t name[1]; /* name, variable size */
-+ xfs_dir2_inou_t inumber; /* inode number, var. offset */
-+} xfs_dir2_sf_entry_t;
-+
-+typedef struct xfs_dir2_sf {
-+ xfs_dir2_sf_hdr_t hdr; /* shortform header */
-+ xfs_dir2_sf_entry_t list[1]; /* shortform entries */
-+} xfs_dir2_sf_t;
-+
-+/* those are from xfs_dinode.h */
-+
-+#define XFS_DINODE_VERSION_1 1
-+#define XFS_DINODE_VERSION_2 2
-+#define XFS_DINODE_MAGIC 0x494e /* 'IN' */
-+
-+/*
-+ * Disk inode structure.
-+ * This is just the header; the inode is expanded to fill a variable size
-+ * with the last field expanding. It is split into the core and "other"
-+ * because we only need the core part in the in-core inode.
-+ */
-+typedef struct xfs_timestamp {
-+ __int32_t t_sec; /* timestamp seconds */
-+ __int32_t t_nsec; /* timestamp nanoseconds */
-+} xfs_timestamp_t;
-+
-+/*
-+ * Note: Coordinate changes to this structure with the XFS_DI_* #defines
-+ * below and the offsets table in xfs_ialloc_log_di().
-+ */
-+typedef struct xfs_dinode_core
-+{
-+ __uint16_t di_magic; /* inode magic # = XFS_DINODE_MAGIC */
-+ __uint16_t di_mode; /* mode and type of file */
-+ __int8_t di_version; /* inode version */
-+ __int8_t di_format; /* format of di_c data */
-+ __uint16_t di_onlink; /* old number of links to file */
-+ __uint32_t di_uid; /* owner's user id */
-+ __uint32_t di_gid; /* owner's group id */
-+ __uint32_t di_nlink; /* number of links to file */
-+ __uint16_t di_projid; /* owner's project id */
-+ __uint8_t di_pad[10]; /* unused, zeroed space */
-+ xfs_timestamp_t di_atime; /* time last accessed */
-+ xfs_timestamp_t di_mtime; /* time last modified */
-+ xfs_timestamp_t di_ctime; /* time created/inode modified */
-+ xfs_fsize_t di_size; /* number of bytes in file */
-+ xfs_drfsbno_t di_nblocks; /* # of direct & btree blocks used */
-+ xfs_extlen_t di_extsize; /* basic/minimum extent size for file */
-+ xfs_extnum_t di_nextents; /* number of extents in data fork */
-+ xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/
-+ __uint8_t di_forkoff; /* attr fork offs, <<3 for 64b align */
-+ __int8_t di_aformat; /* format of attr fork's data */
-+ __uint32_t di_dmevmask; /* DMIG event mask */
-+ __uint16_t di_dmstate; /* DMIG state info */
-+ __uint16_t di_flags; /* random flags, XFS_DIFLAG_... */
-+ __uint32_t di_gen; /* generation number */
-+} xfs_dinode_core_t;
-+
-+typedef struct xfs_dinode
-+{
-+ xfs_dinode_core_t di_core;
-+ xfs_agino_t di_next_unlinked;/* agi unlinked list ptr */
-+ union {
-+ xfs_bmdr_block_t di_bmbt; /* btree root block */
-+ xfs_bmbt_rec_32_t di_bmx[1]; /* extent list */
-+ xfs_dir2_sf_t di_dir2sf; /* shortform directory v2 */
-+ char di_c[1]; /* local contents */
-+ } di_u;
-+} xfs_dinode_t;
-+
-+/*
-+ * Values for di_format
-+ */
-+typedef enum xfs_dinode_fmt
-+{
-+ XFS_DINODE_FMT_DEV, /* CHR, BLK: di_dev */
-+ XFS_DINODE_FMT_LOCAL, /* DIR, REG: di_c */
-+ /* LNK: di_symlink */
-+ XFS_DINODE_FMT_EXTENTS, /* DIR, REG, LNK: di_bmx */
-+ XFS_DINODE_FMT_BTREE, /* DIR, REG, LNK: di_bmbt */
-+ XFS_DINODE_FMT_UUID /* MNT: di_uuid */
-+} xfs_dinode_fmt_t;
-+
-+/*
-+ * File types (mode field)
-+ */
-+#define IFMT 0170000 /* type of file */
-+#define IFDIR 0040000 /* directory */
-+#define IFREG 0100000 /* regular */
-+#define IFLNK 0120000 /* symbolic link */