From 2ec0cba3931dbeb2a608e36a9ae42761ee1b18fa Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Thu, 16 Jul 2009 10:19:13 +0000 Subject: [PATCH] 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 SVN-Revision: 16860 --- package/kernel/modules/block.mk | 15 + target/linux/pxcab/Makefile | 29 + .../linux/pxcab/base-files/etc/preinit.arch | 2 + target/linux/pxcab/config-2.6.30 | 497 ++++++++++++++++++ target/linux/pxcab/image/Makefile | 20 + ...x-mapping-of-DCR-based-MPIC-variants.patch | 107 ++++ toolchain/Config.in | 6 +- toolchain/gcc/Config.in | 1 + toolchain/gcc/Config.version | 1 + 9 files changed, 675 insertions(+), 3 deletions(-) create mode 100644 target/linux/pxcab/Makefile create mode 100644 target/linux/pxcab/base-files/etc/preinit.arch create mode 100644 target/linux/pxcab/config-2.6.30 create mode 100644 target/linux/pxcab/image/Makefile create mode 100644 target/linux/pxcab/patches-2.6.30/0001-powerpc-mpic-Fix-mapping-of-DCR-based-MPIC-variants.patch 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 +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 + Acked-by: Akira Tsukamoto + +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