[OpenBIOS] PPC: add a native configuration
Aurelien Jarno
aurelien at aurel32.net
Wed Dec 31 02:48:07 CET 2008
This patch adds a native configuration for PPC. It is based on the cross
configuration files
Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
diff --git a/config/examples/ppc_config.xml b/config/examples/ppc_config.xml
index 4023cb8..3346357 100644
--- a/config/examples/ppc_config.xml
+++ b/config/examples/ppc_config.xml
@@ -4,19 +4,20 @@
<!-- generic -->
<!--<option name="CONFIG_AMD64" type="boolean" value="true"/> -->
<option name="CONFIG_PPC" type="boolean" value="true"/>
- <!--<option name="CONFIG_MOL" type="boolean" value="true"/>-->
- <!--<option name="CONFIG_BRIQ" type="boolean" value="true"/>-->
- <option name="CONFIG_PEARPC" type="boolean" value="true"/>
+ <option name="CONFIG_MOL" type="boolean" value="false"/>
+ <option name="CONFIG_BRIQ" type="boolean" value="false"/>
+ <option name="CONFIG_PEARPC" type="boolean" value="false"/>
+ <option name="CONFIG_QEMU" type="boolean" value="true"/>
<option name="CONFIG_BIG_ENDIAN" type="boolean" value="true"/>
<!-- Build hosted UNIX Binary -->
- <option name="CONFIG_HOST_UNIX" type="boolean" value="true"/>
+ <option name="CONFIG_HOST_UNIX" type="boolean" value="false"/>
<option name="CONFIG_UNIX_QT" type="boolean" value="false"/>
<option name="CONFIG_PLUGINS" type="boolean" value="false"/>
-
+
<!-- Kernel Debugging -->
<option name="CONFIG_DEBUG" type="boolean" value="true"/>
- <option name="CONFIG_DEBUG_BOOT" type="boolean" value="true"/>
+ <option name="CONFIG_DEBUG_BOOT" type="boolean" value="false"/>
<option name="CONFIG_DEBUG_DSTACK" type="boolean" value="false"/>
<option name="CONFIG_DEBUG_RSTACK" type="boolean" value="false"/>
<option name="CONFIG_DEBUG_DICTIONARY" type="boolean" value="false"/>
@@ -24,47 +25,53 @@
<option name="CONFIG_DEBUG_INTERPRETER" type="boolean" value="false"/>
<option name="CONFIG_DEBUG_CONSOLE" type="boolean" value="true"/>
<option name="CONFIG_DEBUG_CONSOLE_SERIAL" type="boolean" value="true"/>
- <option name="CONFIG_SERIAL_PORT" type="boolean" value="true"/>
+ <option name="CONFIG_SERIAL_PORT" type="integer" value="1"/>
<option name="CONFIG_SERIAL_SPEED" type="integer" value="115200"/>
<option name="CONFIG_DEBUG_CONSOLE_VGA" type="boolean" value="true"/>
-
-
+
+
<!-- Module Configuration -->
<option name="CONFIG_CMDLINE" type="boolean" value="true"/>
<option name="CONFIG_DEBLOCKER" type="boolean" value="true"/>
-
-
+
+
<!-- Filesystem Configuration -->
<option name="CONFIG_DISK_LABEL" type="boolean" value="true"/>
<option name="CONFIG_PART_SUPPORT" type="boolean" value="true"/>
+ <option name="CONFIG_MAC_PARTS" type="boolean" value="true"/>
+ <option name="CONFIG_DEBUG_MAC_PARTS" type="boolean" value="false"/>
<option name="CONFIG_PC_PARTS" type="boolean" value="true"/>
<option name="CONFIG_FS" type="boolean" value="true"/>
- <option name="CONFIG_HFS" type="boolean" value="false"/>
- <option name="CONFIG_HFSP" type="boolean" value="true"/>
+ <option name="CONFIG_HFS" type="boolean" value="true"/>
+ <option name="CONFIG_HFSP" type="boolean" value="false"/>
<option name="CONFIG_GRUBFS" type="boolean" value="true"/>
- <option name="CONFIG_FSYS_EXT2FS" type="boolean" value="false"/>
+ <option name="CONFIG_FSYS_EXT2FS" type="boolean" value="true"/>
<option name="CONFIG_FSYS_FAT" type="boolean" value="false"/>
<option name="CONFIG_FSYS_JFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_MINIX" type="boolean" value="false"/>
- <option name="CONFIG_FSYS_REISERFS" type="boolean" value="true"/>
+ <option name="CONFIG_FSYS_REISERFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_XFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_UFS" type="boolean" value="false"/>
- <option name="CONFIG_FSYS_ISO9660" type="boolean" value="false"/>
+ <option name="CONFIG_FSYS_ISO9660" type="boolean" value="true"/>
<option name="CONFIG_FSYS_FFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_VSTAFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_NTFS" type="boolean" value="false"/>
<option name="CONFIG_FSYS_AFFS" type="boolean" value="false"/>
- <option name="CONFIG_DEBUG_FS" type="boolean" value="true"/>
-
+ <option name="CONFIG_DEBUG_FS" type="boolean" value="false"/>
+
<!-- Miscellaneous -->
- <option name="CONFIG_LINUXBIOS" type="boolean" value="true"/>
-
+ <option name="CONFIG_LINUXBIOS" type="boolean" value="false"/>
+
<!-- Drivers -->
<option name="CONFIG_DRIVER_PCI" type="boolean" value="true"/>
<option name="CONFIG_DEBUG_PCI" type="boolean" value="true"/>
<option name="CONFIG_DRIVER_IDE" type="boolean" value="true"/>
- <option name="CONFIG_IDE_NUM_CHANNELS" type="integer" value="4"/>
+ <option name="CONFIG_IDE_NUM_CHANNELS" type="integer" value="2"/>
+ <option name="CONFIG_IDE_FIRST_UNIT" type="integer" value="1"/>
+ <option name="CONFIG_IDE_DEV_NAME" type="string" value="ata-%d"/>
+ <option name="CONFIG_IDE_DEV_TYPE" type="string" value="ata"/>
<option name="CONFIG_DEBUG_IDE" type="boolean" value="false"/>
<option name="CONFIG_DRIVER_ADB" type="boolean" value="true"/>
+ <option name="CONFIG_DRIVER_VGA" type="boolean" value="true"/>
</config>
diff --git a/config/examples/ppc_rules.xml b/config/examples/ppc_rules.xml
new file mode 100644
index 0000000..57f1479
--- /dev/null
+++ b/config/examples/ppc_rules.xml
@@ -0,0 +1,100 @@
+<rules>
+
+<pre><![CDATA[
+#
+# Autogenerated OpenBIOS Makefile
+# (C) 2004-2005 by the OpenBIOS team
+#
+
+ARCH := ppc
+ODIR := obj-$(ARCH)
+HOSTCC := gcc
+HOSTCFLAGS := -Os -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
+HOSTCFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
+HOSTCFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes
+HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
+#
+# MOLPATH is needed if you want to build openbios-mol.elf
+#
+MOLPATH=$(HOME)/mol-0.9.71
+
+CC := gcc
+AS := as
+AR := ar
+LD := ld
+NM := nm
+STRIP := strip
+RANLIB := ranlib
+CFLAGS := -Os -Wall -msoft-float -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS -fno-builtin-bcopy -fno-builtin-log2
+CFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
+CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes
+INCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
+
+M4 := m4
+
+#
+# pre rules
+#
+
+all: mol versions dictionaries host-libraries target-libraries host-executables target-executables
+
+VERSION := "1.0RC1"
+
+versions: $(ODIR)/target/include/openbios-version.h $(ODIR)/forth/version.fs
+
+$(ODIR)/forth/version.fs:
+ @DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
+ ( echo ": builddate \" $$DATE\" ; " ; \
+ echo ": version \" $(VERSION)\" ; " ; ) \
+ > $(dir $@)/version.fs
+
+$(ODIR)/target/include/openbios-version.h:
+ @DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
+ ( echo "#define OPENBIOS_BUILD_DATE \"$$DATE\"" ; \
+ echo "#define OPENBIOS_VERSION_STR \"$(VERSION)\"" ; \
+ echo "#define OPENBIOS_RELEASE \"$(VERSION)\"" ; ) \
+ > $(dir $@)/openbios-version.h
+mol:
+ @grep CONFIG_MOL $(ODIR)/forth/config.fs >/dev/null && ( \
+ echo "Using MOL path $(MOLPATH)..."; \
+ ln -s $(MOLPATH)/src/shared/osi_calls.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/shared/osi.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/shared/prom.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/include/boothelper_sh.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/include/video_sh.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/include/pseudofs_sh.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/include/kbd_sh.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/drivers/disk/include/scsi_sh.h $(ODIR)/target/include/; \
+ ln -s $(MOLPATH)/src/drivers/disk/include/ablk_sh.h $(ODIR)/target/include/ ) || true
+
+]]></pre>
+
+ <!-- host compiler build rules -->
+
+<rule target="host" entity="executable">
+ $(HOSTCC) $(HOSTCFLAGS) -o $@ $^
+</rule>
+
+<rule target="host" entity="object">
+ $(HOSTCC) $(HOSTCFLAGS) $(HOSTINCLUDES) -c -o $@ $^
+</rule>
+
+<rule target="host" entity="library">
+ $(AR) cru $@ $^; ranlib $@
+</rule>
+
+ <!-- target/cross compiler build rules -->
+
+<rule target="target" entity="executable">
+ $(CC) $(CFLAGS) -o $@ $^
+</rule>
+
+<rule target="target" entity="object">
+ $(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ $^
+</rule>
+
+<rule target="target" entity="library">
+ $(AR) cru $@ $^; $(RANLIB) $@
+</rule>
+
+</rules>
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32 at debian.org | aurelien at aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
More information about the OpenBIOS
mailing list