aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-07-16 10:19:13 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-07-16 10:19:13 +0000
commit2ec0cba3931dbeb2a608e36a9ae42761ee1b18fa (patch)
tree68eba0f6c7b1a97bdbe61e9c3bd481cad474ad8e
parenta4f397c5a5d2cf76da807499a926629aaaa92d0f (diff)
downloadupstream-2ec0cba3931dbeb2a608e36a9ae42761ee1b18fa.tar.gz
upstream-2ec0cba3931dbeb2a608e36a9ae42761ee1b18fa.tar.bz2
upstream-2ec0cba3931dbeb2a608e36a9ae42761ee1b18fa.zip
This patch adds a target for the IBM PowerXCell Accelerator Board. (aka mvXCell-8i from MatrixVision or GigaAccel 180 from Fixstars)
http://us.fixstars.com/products/gigaaccel/ This build will create zImage suitable for TFTP boot image. * v2 - add axonram device driver - switch to 2.6.30.1 Signed-off-by: Akinobu Mita <mita@fixstars.com> SVN-Revision: 16860
-rw-r--r--package/kernel/modules/block.mk15
-rw-r--r--target/linux/pxcab/Makefile29
-rw-r--r--target/linux/pxcab/base-files/etc/preinit.arch2
-rw-r--r--target/linux/pxcab/config-2.6.30497
-rw-r--r--target/linux/pxcab/image/Makefile20
-rw-r--r--target/linux/pxcab/patches-2.6.30/0001-powerpc-mpic-Fix-mapping-of-DCR-based-MPIC-variants.patch107
-rw-r--r--toolchain/Config.in6
-rw-r--r--toolchain/gcc/Config.in1
-rw-r--r--toolchain/gcc/Config.version1
9 files changed, 675 insertions, 3 deletions
diff --git a/package/kernel/modules/block.mk b/package/kernel/modules/block.mk
index 3dabdfc085..2d14e42d5b 100644
--- a/package/kernel/modules/block.mk
+++ b/package/kernel/modules/block.mk
@@ -374,3 +374,18 @@ define KernelPackage/ps3vram/description
endef
$(eval $(call KernelPackage,ps3vram))
+
+define KernelPackage/axonram
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=Axon DDR2 memory device driver
+ DEPENDS:=@TARGET_pxcab
+ KCONFIG:=CONFIG_AXON_RAM
+ FILES:=$(LINUX_DIR)/arch/powerpc/sysdev/axonram.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,01,axonram)
+endef
+
+define KernelPackage/axonram/description
+ Kernel support for Axon DDR2 memory device
+endef
+
+$(eval $(call KernelPackage,axonram))
diff --git a/target/linux/pxcab/Makefile b/target/linux/pxcab/Makefile
new file mode 100644
index 0000000000..5957d65fac
--- /dev/null
+++ b/target/linux/pxcab/Makefile
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+ARCH:=powerpc
+BOARD:=pxcab
+BOARDNAME:=PowerXCell Accelerator Board
+FEATURES:=fpu ramdisk
+
+LINUX_VERSION:=2.6.30.1
+
+KERNEL_CC:=
+
+include $(INCLUDE_DIR)/target.mk
+
+define Target/Description
+ Build zImage for the IBM PowerXCell Accelerator Board
+ (aka mvXCell-8i from MatrixVision or GigaAccel 180 from Fixstars)
+endef
+
+KERNELNAME:="zImage"
+
+DEFAULT_PACKAGES += kmod-tg3
+
+$(eval $(call BuildTarget))
diff --git a/target/linux/pxcab/base-files/etc/preinit.arch b/target/linux/pxcab/base-files/etc/preinit.arch
new file mode 100644
index 0000000000..00db8b4aca
--- /dev/null
+++ b/target/linux/pxcab/base-files/etc/preinit.arch
@@ -0,0 +1,2 @@
+mount -t proc none /proc
+grep 'failsafe=' /proc/cmdline > /dev/null && export FAILSAFE=true
diff --git a/target/linux/pxcab/config-2.6.30 b/target/linux/pxcab/config-2.6.30
new file mode 100644
index 0000000000..2d32d5b131
--- /dev/null
+++ b/target/linux/pxcab/config-2.6.30
@@ -0,0 +1,497 @@
+CONFIG_64BIT=y
+# CONFIG_AGP is not set
+CONFIG_ALTIVEC=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_ARCH_HAS_ILOG2_U64=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_NO_VIRT_TO_BUS=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_ARPD is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_AXON_RAM=m
+# CONFIG_BACKTRACE_SELF_TEST is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_BINARY_PRINTF is not set
+CONFIG_BITREVERSE=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=65535
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_BLOCK_COMPAT=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+# CONFIG_BOOTX_TEXT is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+CONFIG_BOUNCE=y
+# CONFIG_BRIDGE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_CBE_CPUFREQ=y
+# CONFIG_CBE_CPUFREQ_PMI_ENABLE is not set
+CONFIG_CBE_CPUFREQ_SPU_GOVERNOR=y
+CONFIG_CBE_RAS=y
+CONFIG_CBE_THERM=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_CMDLINE_BOOL=y
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+CONFIG_COMPAT=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_COMPAT_BRK=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_CRC16=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRYPTO is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DECOMPRESS_LZMA=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_DEVKMEM=y
+CONFIG_DEVPORT=y
+CONFIG_DNOTIFY=y
+CONFIG_DTC=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EDAC is not set
+# CONFIG_EEH is not set
+CONFIG_ELF_CORE=y
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT4DEV_COMPAT is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_XATTR is not set
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAT_FS=y
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_FB=y
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_OF is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_VGA16 is not set
+# CONFIG_FB_VIA is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FIRMWARE_IN_KERNEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x16=y
+CONFIG_FONT_8x8=y
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_ISA_DMA=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_GENERIC_TIME_VSYSCALL=y
+# CONFIG_GEN_RTC is not set
+CONFIG_GROUP_SCHED=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+# CONFIG_HAS_RAPIDIO is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_LMB=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_HAVE_SYSCALL_WRAPPERS=y
+CONFIG_HID=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_EZKEY=y
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_NTRIG is not set
+CONFIG_HID_SONY=y
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_SUPPORT=y
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HVCS is not set
+CONFIG_HVC_CONSOLE=y
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+# CONFIG_HVC_RTAS is not set
+# CONFIG_HVC_UDBG is not set
+CONFIG_HW_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_I2C is not set
+# CONFIG_IBMEBUS is not set
+CONFIG_IBMVIO=y
+# CONFIG_IBM_BSR is not set
+CONFIG_IBM_NEW_EMAC_EMAC4=y
+CONFIG_IBM_NEW_EMAC_RGMII=y
+CONFIG_IBM_NEW_EMAC_TAH=y
+CONFIG_IBM_NEW_EMAC_ZMII=y
+CONFIG_INITRAMFS_ROOT_GID=500
+CONFIG_INITRAMFS_ROOT_UID=500
+CONFIG_INITRAMFS_SOURCE="/home/mita/scm/openwrt/build_dir/target-powerpc_uClibc-0.9.30.1/root-pxcab /home/mita/scm/openwrt/target/linux/generic-2.6/image/initramfs-base-files.txt"
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_INPUT=y
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_YEALINK is not set
+CONFIG_IOMMU_HELPER=y
+# CONFIG_IOMMU_VMERGE is not set
+# CONFIG_IPIC is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_IRQ_ALL_CPUS is not set
+CONFIG_IRQ_PER_CPU=y
+CONFIG_ISA_DMA_API=y
+# CONFIG_ISDN is not set
+CONFIG_ISO9660_FS=y
+CONFIG_JBD=y
+CONFIG_JBD2=y
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_XPAD is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KERNEL_START=0xc000000000000000
+CONFIG_KEXEC=y
+# CONFIG_KGDB is not set
+# CONFIG_LEDS_TRIGGERS is not set
+CONFIG_LOCK_KERNEL=y
+# CONFIG_LOCK_STAT is not set
+# CONFIG_LOGO is not set
+CONFIG_LOG_BUF_SHIFT=15
+# CONFIG_LPARCFG is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+# CONFIG_MEMORY_HOTREMOVE is not set
+CONFIG_MIGRATION=y
+# CONFIG_MINI_FO is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_MMIO_NVRAM=y
+CONFIG_MPIC=y
+# CONFIG_MPIC_WEIRD is not set
+CONFIG_MSDOS_FS=y
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_NEED_MULTIPLE_NODES=y
+# CONFIG_NETFILTER is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NLS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NODES_SHIFT=4
+CONFIG_NODES_SPAN_OTHER_NODES=y
+CONFIG_NR_CPUS=2
+CONFIG_NUMA=y
+CONFIG_OF=y
+CONFIG_OF_DEVICE=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xc000000000000000
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_PCI=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_PHYLIB=y
+# CONFIG_PHYP_DUMP is not set
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_POWER3=y
+CONFIG_POWER4=y
+# CONFIG_POWER4_ONLY is not set
+CONFIG_PPC=y
+CONFIG_PPC64=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_256K_PAGES is not set
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_64K_PAGES is not set
+# CONFIG_PPC_970_NAP is not set
+CONFIG_PPC_BOOK3S=y
+CONFIG_PPC_CELL=y
+# CONFIG_PPC_CELLEB is not set
+CONFIG_PPC_CELL_COMMON=y
+CONFIG_PPC_CELL_NATIVE=y
+# CONFIG_PPC_CELL_QPACE is not set
+# CONFIG_PPC_CLOCK is not set
+CONFIG_PPC_DCR=y
+CONFIG_PPC_DCR_MMIO=y
+# CONFIG_PPC_DCR_NATIVE is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+CONFIG_PPC_FPU=y
+# CONFIG_PPC_HAS_HASH_64K is not set
+CONFIG_PPC_I8259=y
+CONFIG_PPC_IBM_CELL_BLADE=y
+# CONFIG_PPC_IBM_CELL_POWERBUTTON is not set
+CONFIG_PPC_IBM_CELL_RESETBUTTON=y
+CONFIG_PPC_INDIRECT_IO=y
+# CONFIG_PPC_INDIRECT_PCI is not set
+# CONFIG_PPC_ISERIES is not set
+# CONFIG_PPC_MAPLE is not set
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_PPC_MPC106 is not set
+CONFIG_PPC_NATIVE=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
+CONFIG_PPC_OF_PLATFORM_PCI=y
+# CONFIG_PPC_PASEMI is not set
+CONFIG_PPC_PCI_CHOICE=y
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_PS3 is not set
+CONFIG_PPC_PSERIES=y
+CONFIG_PPC_RTAS=y
+# CONFIG_PPC_SMLPAR is not set
+# CONFIG_PPC_SPLPAR is not set
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_64=y
+CONFIG_PPC_UDBG_16550=y
+CONFIG_PPP=m
+CONFIG_PPPOE=m
+CONFIG_PPP_ASYNC=m
+# CONFIG_PQ2ADS is not set
+CONFIG_PRINT_STACK_DEPTH=64
+CONFIG_PROC_DEVICETREE=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RELOCATABLE is not set
+CONFIG_RTAS_ERROR_LOGGING=y
+CONFIG_RTAS_FLASH=y
+CONFIG_RTAS_PROC=y
+# CONFIG_RT_GROUP_SCHED is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_SCANLOG is not set
+# CONFIG_SCHEDSTATS is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHED_HRTICK is not set
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+# CONFIG_SCHED_SMT is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_PROC_FS is not set
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_ICOM is not set
+# CONFIG_SERIAL_OF_PLATFORM is not set
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+# CONFIG_SIMPLE_GPIO is not set
+# CONFIG_SLAB is not set
+CONFIG_SLHC=m
+# CONFIG_SLOW_WORK is not set
+CONFIG_SLUB=y
+CONFIG_SMP=y
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_MANUAL=y
+# CONFIG_SPARSEMEM_VMEMMAP is not set
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+# CONFIG_SPIDER_NET is not set
+CONFIG_SPU_BASE=y
+CONFIG_SPU_FS=y
+# CONFIG_SQUASHFS is not set
+CONFIG_STOP_MACHINE=y
+# CONFIG_SWAP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_SYSVIPC_COMPAT=y
+# CONFIG_TEXTSEARCH is not set
+CONFIG_TIGON3=y
+# CONFIG_TIMER_STATS is not set
+CONFIG_TRACING_SUPPORT=y
+CONFIG_TUNE_CELL=y
+# CONFIG_U3_DART is not set
+CONFIG_UDBG_RTAS_CONSOLE=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug2"
+CONFIG_USB=y
+# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PPC_OF=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_HID=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_HCD_PPC_OF is not set
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+CONFIG_USB_SUPPORT=y
+# CONFIG_USB_UHCI_HCD is not set
+CONFIG_USER_SCHED=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_VFAT_FS=y
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=y
+CONFIG_VIRT_CPU_ACCOUNTING=y
+# CONFIG_VLAN_8021Q is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_VSX is not set
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_WATCHDOG is not set
+# CONFIG_WIRELESS is not set
+# CONFIG_WLAN_80211 is not set
+CONFIG_WORD_SIZE=64
+CONFIG_XICS=y
+# CONFIG_XMON is not set
+# CONFIG_ZISOFS is not set
diff --git a/target/linux/pxcab/image/Makefile b/target/linux/pxcab/image/Makefile
new file mode 100644
index 0000000000..ae551fa961
--- /dev/null
+++ b/target/linux/pxcab/image/Makefile
@@ -0,0 +1,20 @@
+#
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+define Image/Prepare
+ cp $(LINUX_DIR)/arch/powerpc/boot/zImage $(KDIR)/zImage
+endef
+
+define Image/BuildKernel
+ mkdir -p $(BIN_DIR)
+ cp $(KDIR)/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage
+ cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf
+endef
+
+$(eval $(call BuildImage))
diff --git a/target/linux/pxcab/patches-2.6.30/0001-powerpc-mpic-Fix-mapping-of-DCR-based-MPIC-variants.patch b/target/linux/pxcab/patches-2.6.30/0001-powerpc-mpic-Fix-mapping-of-DCR-based-MPIC-variants.patch
new file mode 100644
index 0000000000..c546919279
--- /dev/null
+++ b/target/linux/pxcab/patches-2.6.30/0001-powerpc-mpic-Fix-mapping-of-DCR-based-MPIC-variants.patch
@@ -0,0 +1,107 @@
+commit 5a2642f620eb6e40792822fa0eafe23046fbb55e
+Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Mon Jun 22 16:47:59 2009 +0000
+
+ powerpc/mpic: Fix mapping of "DCR" based MPIC variants
+
+ Commit 31207dab7d2e63795eb15823947bd2f7025b08e2
+ "Fix incorrect allocation of interrupt rev-map"
+ introduced a regression crashing on boot on machines using
+ a "DCR" based MPIC, such as the Cell blades.
+
+ The reason is that the irq host data structure is initialized
+ much later as a result of that patch, causing our calls to
+ mpic_map() do be done before we have a host setup.
+
+ Unfortunately, this breaks _mpic_map_dcr() which uses the
+ mpic->irqhost to get to the device node.
+
+ This fixes it by, instead, passing the device node explicitely
+ to mpic_map().
+
+ Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+ Acked-by: Akira Tsukamoto <akirat@rd.scei.sony.co.jp>
+
+diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
+index 9c3af50..32a2e95 100644
+--- a/arch/powerpc/sysdev/mpic.c
++++ b/arch/powerpc/sysdev/mpic.c
+@@ -279,28 +279,29 @@ static void _mpic_map_mmio(struct mpic *mpic, phys_addr_t phys_addr,
+ }
+
+ #ifdef CONFIG_PPC_DCR
+-static void _mpic_map_dcr(struct mpic *mpic, struct mpic_reg_bank *rb,
++static void _mpic_map_dcr(struct mpic *mpic, struct device_node *node,
++ struct mpic_reg_bank *rb,
+ unsigned int offset, unsigned int size)
+ {
+ const u32 *dbasep;
+
+- dbasep = of_get_property(mpic->irqhost->of_node, "dcr-reg", NULL);
++ dbasep = of_get_property(node, "dcr-reg", NULL);
+
+- rb->dhost = dcr_map(mpic->irqhost->of_node, *dbasep + offset, size);
++ rb->dhost = dcr_map(node, *dbasep + offset, size);
+ BUG_ON(!DCR_MAP_OK(rb->dhost));
+ }
+
+-static inline void mpic_map(struct mpic *mpic, phys_addr_t phys_addr,
+- struct mpic_reg_bank *rb, unsigned int offset,
+- unsigned int size)
++static inline void mpic_map(struct mpic *mpic, struct device_node *node,
++ phys_addr_t phys_addr, struct mpic_reg_bank *rb,
++ unsigned int offset, unsigned int size)
+ {
+ if (mpic->flags & MPIC_USES_DCR)
+- _mpic_map_dcr(mpic, rb, offset, size);
++ _mpic_map_dcr(mpic, node, rb, offset, size);
+ else
+ _mpic_map_mmio(mpic, phys_addr, rb, offset, size);
+ }
+ #else /* CONFIG_PPC_DCR */
+-#define mpic_map(m,p,b,o,s) _mpic_map_mmio(m,p,b,o,s)
++#define mpic_map(m,n,p,b,o,s) _mpic_map_mmio(m,p,b,o,s)
+ #endif /* !CONFIG_PPC_DCR */
+
+
+@@ -1152,8 +1153,8 @@ struct mpic * __init mpic_alloc(struct device_node *node,
+ }
+
+ /* Map the global registers */
+- mpic_map(mpic, paddr, &mpic->gregs, MPIC_INFO(GREG_BASE), 0x1000);
+- mpic_map(mpic, paddr, &mpic->tmregs, MPIC_INFO(TIMER_BASE), 0x1000);
++ mpic_map(mpic, node, paddr, &mpic->gregs, MPIC_INFO(GREG_BASE), 0x1000);
++ mpic_map(mpic, node, paddr, &mpic->tmregs, MPIC_INFO(TIMER_BASE), 0x1000);
+
+ /* Reset */
+ if (flags & MPIC_WANTS_RESET) {
+@@ -1194,7 +1195,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
+
+ /* Map the per-CPU registers */
+ for (i = 0; i < mpic->num_cpus; i++) {
+- mpic_map(mpic, paddr, &mpic->cpuregs[i],
++ mpic_map(mpic, node, paddr, &mpic->cpuregs[i],
+ MPIC_INFO(CPU_BASE) + i * MPIC_INFO(CPU_STRIDE),
+ 0x1000);
+ }
+@@ -1202,7 +1203,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
+ /* Initialize main ISU if none provided */
+ if (mpic->isu_size == 0) {
+ mpic->isu_size = mpic->num_sources;
+- mpic_map(mpic, paddr, &mpic->isus[0],
++ mpic_map(mpic, node, paddr, &mpic->isus[0],
+ MPIC_INFO(IRQ_BASE), MPIC_INFO(IRQ_STRIDE) * mpic->isu_size);
+ }
+ mpic->isu_shift = 1 + __ilog2(mpic->isu_size - 1);
+@@ -1256,8 +1257,10 @@ void __init mpic_assign_isu(struct mpic *mpic, unsigned int isu_num,
+
+ BUG_ON(isu_num >= MPIC_MAX_ISU);
+
+- mpic_map(mpic, paddr, &mpic->isus[isu_num], 0,
++ mpic_map(mpic, mpic->irqhost->of_node,
++ paddr, &mpic->isus[isu_num], 0,
+ MPIC_INFO(IRQ_STRIDE) * mpic->isu_size);
++
+ if ((isu_first + mpic->isu_size) > mpic->num_sources)
+ mpic->num_sources = isu_first + mpic->isu_size;
+ }
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 3ff0801369..d62489b45b 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -13,7 +13,7 @@ menuconfig TOOLCHAINOPTS
menuconfig EXTRA_TARGET_ARCH
bool
prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
- default y if TARGET_ps3
+ default y if TARGET_ps3 || TARGET_pxcab
default n
help
Some builds may require a 'biarch' toolchain. This option
@@ -23,7 +23,7 @@ menuconfig EXTRA_TARGET_ARCH
config EXTRA_TARGET_ARCH_NAME
string
- default "powerpc64" if TARGET_ps3
+ default "powerpc64" if TARGET_ps3 || TARGET_pxcab
prompt "Extra architecture name" if EXTRA_TARGET_ARCH
help
Specify the cpu name (eg powerpc64 or x86_64) of the
@@ -31,7 +31,7 @@ menuconfig EXTRA_TARGET_ARCH
config EXTRA_TARGET_ARCH_OPTS
string
- default "-m64" if TARGET_ps3
+ default "-m64" if TARGET_ps3 || TARGET_pxcab
prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
help
If you're specifying an addition target architecture,
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 18891b58bb..f524bee460 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -7,6 +7,7 @@ choice
default GCC_VERSION_4_2_4 if TARGET_ppc40x
default GCC_VERSION_4_2_4 if TARGET_ppc44x
default GCC_VERSION_4_3_3 if TARGET_ps3_petitboot
+ default GCC_VERSION_4_3_3 if TARGET_pxcab
default GCC_VERSION_4_3_3 if TARGET_etrax
default GCC_VERSION_4_3_3 if TARGET_coldfire
default GCC_VERSION_4_1_2
diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index 1da3bdbcd1..eeb66288ee 100644
--- a/toolchain/gcc/Config.version
+++ b/toolchain/gcc/Config.version
@@ -49,6 +49,7 @@ if !TOOLCHAINOPTS
config GCC_VERSION_4_3_3
default y if TARGET_ps3_petitboot
+ default y if TARGET_pxcab
default y if TARGET_etrax
default y if TARGET_coldfire
endif