Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
4e1bd6df
Commit
4e1bd6df
authored
Jan 08, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://ppc.bkbits.net/for-linus-ppc
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
451fcec7
1daf0398
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1512 additions
and
42 deletions
+1512
-42
arch/ppc/Kconfig
arch/ppc/Kconfig
+1
-1
arch/ppc/configs/redwood6_defconfig
arch/ppc/configs/redwood6_defconfig
+547
-0
arch/ppc/configs/sycamore_defconfig
arch/ppc/configs/sycamore_defconfig
+528
-0
arch/ppc/kernel/traps.c
arch/ppc/kernel/traps.c
+57
-38
arch/ppc/platforms/4xx/Kconfig
arch/ppc/platforms/4xx/Kconfig
+14
-3
arch/ppc/platforms/4xx/Makefile
arch/ppc/platforms/4xx/Makefile
+1
-0
arch/ppc/platforms/4xx/sycamore.c
arch/ppc/platforms/4xx/sycamore.c
+293
-0
arch/ppc/platforms/4xx/sycamore.h
arch/ppc/platforms/4xx/sycamore.h
+71
-0
No files found.
arch/ppc/Kconfig
View file @
4e1bd6df
...
@@ -1077,7 +1077,7 @@ config LOWMEM_SIZE_BOOL
...
@@ -1077,7 +1077,7 @@ config LOWMEM_SIZE_BOOL
config LOWMEM_SIZE
config LOWMEM_SIZE
hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
default "0x
2
0000000"
default "0x
3
0000000"
config KERNEL_START_BOOL
config KERNEL_START_BOOL
bool "Set custom kernel base address"
bool "Set custom kernel base address"
...
...
arch/ppc/configs/redwood6_defconfig
0 → 100644
View file @
4e1bd6df
#
# Automatically generated by make menuconfig: don't edit
#
# CONFIG_UID16 is not set
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# Platform support
#
CONFIG_PPC=y
CONFIG_PPC32=y
# CONFIG_6xx is not set
CONFIG_40x=y
# CONFIG_440 is not set
# CONFIG_POWER3 is not set
# CONFIG_8xx is not set
# CONFIG_PPC_ISERIES is not set
CONFIG_4xx=y
# CONFIG_ASH is not set
# CONFIG_CEDAR is not set
# CONFIG_BEECH is not set
# CONFIG_CPCI405 is not set
# CONFIG_EP405 is not set
# CONFIG_OAK is not set
# CONFIG_RAINIER is not set
# CONFIG_REDWOOD_4 is not set
# CONFIG_REDWOOD_5 is not set
CONFIG_REDWOOD_6=y
# CONFIG_TIVO is not set
# CONFIG_WALNUT is not set
# CONFIG_XILINX_ML300 is not set
CONFIG_STB03xxx=y
CONFIG_IBM_OPENBIOS=y
CONFIG_IBM405_ERR77=y
CONFIG_IBM_OCP=y
CONFIG_UART0_TTYS0=y
# CONFIG_UART0_TTYS1 is not set
CONFIG_IBM405_ERR51=y
CONFIG_NOT_COHERENT_CACHE=y
# CONFIG_MATH_EMULATION is not set
CONFIG_PPC4xx_DMA=y
CONFIG_STBXXX_DMA=y
CONFIG_OCP=y
# CONFIG_OCP_PROC is not set
# CONFIG_PCI is not set
# CONFIG_PC_KEYBOARD is not set
# CONFIG_PM is not set
# CONFIG_SERIAL_SICC is not set
# CONFIG_PPC_STD_MMU is not set
# CONFIG_ALL_PPC is not set
# CONFIG_SMP is not set
# CONFIG_PREEMPT is not set
#
# General setup
#
# CONFIG_HIGHMEM is not set
# CONFIG_ADVANCED_OPTIONS is not set
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_SBUS is not set
# CONFIG_MCA is not set
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
# CONFIG_CMDLINE_BOOL is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Networking options
#
# CONFIG_PACKET is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MACE is not set
# CONFIG_BMAC is not set
# CONFIG_OAKNET is not set
# CONFIG_SUNLANCE is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
CONFIG_NET_VENDOR_SMC=y
# CONFIG_WD80x3 is not set
# CONFIG_ULTRAMCA is not set
# CONFIG_ULTRA is not set
# CONFIG_ULTRA32 is not set
# CONFIG_SMC9194 is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Backplane Networking
#
# CONFIG_NPNET is not set
#
# On-chip net devices
#
# CONFIG_IBM_OCP_ENET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set
#
# Console drivers
#
#
# Frame-buffer support
#
# CONFIG_FB is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Input device support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set
# CONFIG_SERIO is not set
# CONFIG_SERIO_I8042 is not set
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
#
# Macintosh device drivers
#
#
# Character devices
#
# CONFIG_VT is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_CS is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_PSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_DEBUG is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
# CONFIG_NLS is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
# CONFIG_USB is not set
#
# Bluetooth support
#
# CONFIG_BLUEZ is not set
#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set
#
# Kernel hacking
#
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_KGDB is not set
# CONFIG_XMON is not set
# CONFIG_BDI_SWITCH is not set
# CONFIG_SERIAL_TEXT_DEBUG is not set
#
# Security options
#
CONFIG_SECURITY_CAPABILITIES=y
arch/ppc/configs/sycamore_defconfig
0 → 100644
View file @
4e1bd6df
#
# Automatically generated by make menuconfig: don't edit
#
# CONFIG_UID16 is not set
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_ADVANCED_OPTIONS is not set
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
#
# Platform support
#
CONFIG_PPC=y
CONFIG_PPC32=y
# CONFIG_6xx is not set
CONFIG_40x=y
# CONFIG_440 is not set
# CONFIG_POWER3 is not set
# CONFIG_8xx is not set
# CONFIG_PPC_ISERIES is not set
CONFIG_4xx=y
# CONFIG_PPC_STD_MMU is not set
# CONFIG_ASH is not set
# CONFIG_CEDER is not set
# CONFIG_BEECH is not set
# CONFIG_CPCI405 is not set
# CONFIG_EP405 is not set
# CONFIG_OAK is not set
# CONFIG_RAINIER is not set
# CONFIG_REDWOOD_4 is not set
# CONFIG_REDWOOD_5 is not set
# CONFIG_REDWOOD_6 is not set
CONFIG_SYCAMORE=y
# CONFIG_TIVO is not set
# CONFIG_WALNUT is not set
# CONFIG_XILINX_ML300 is not set
# CONFIG_ALL_PPC is not set
# CONFIG_SMP is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_405GPR=y
CONFIG_BIOS_FIXUP=y
CONFIG_IBM_OPENBIOS=y
CONFIG_IBM405_ERR77=y
CONFIG_IBM_OCP=y
CONFIG_PM=y
CONFIG_UART0_TTYS0=y
# CONFIG_UART0_TTYS1 is not set
CONFIG_IBM405_ERR51=y
CONFIG_NOT_COHERENT_CACHE=y
CONFIG_PPC4xx_DMA=y
CONFIG_PPC4xx_EDMA=y
CONFIG_OCP_PROC=y
#
# General setup
#
# CONFIG_HIGHMEM is not set
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_SBUS is not set
# CONFIG_MCA is not set
CONFIG_PCI=y
# CONFIG_PC_KEYBOARD is not set
CONFIG_NET=y
CONFIG_SYSCTL=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PCI_NAMES is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
CONFIG_PPC_RTC=y
# CONFIG_CMDLINE_BOOL is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Networking options
#
# CONFIG_PACKET is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set
#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MACE is not set
# CONFIG_BMAC is not set
# CONFIG_GMAC is not set
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Backplane Networking
#
# CONFIG_NPNET is not set
#
# On-chip net devices
#
CONFIG_IBM_OCP_ENET=y
# CONFIG_IBM_OCP_ENET_ERROR_MSG is not set
CONFIG_IBM_OCP_ENET_RX_BUFF=64
CONFIG_IBM_OCP_ENET_TX_BUFF=8
CONFIG_IBM_OCP_ENET_GAP=8
CONFIG_IBM_OCP_ENET_SKB_RES=0
CONFIG_OCP_NET=y
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Console drivers
#
#
# Frame-buffer support
#
# CONFIG_FB is not set
#
# Input core support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
#
# Macintosh device drivers
#
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
CONFIG_I2C=y
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_IBM_OCP_ALGO=y
CONFIG_I2C_IBM_OCP_ADAP=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_PROC=y
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set
#
# Joysticks
#
# CONFIG_INPUT_GAMEPORT is not set
# CONFIG_QIC02_TAPE is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
CONFIG_IBM_OCP_GPIO=y
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set
# CONFIG_ZLIB_FS_INFLATE is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_SMB_NLS is not set
# CONFIG_NLS is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# IBM 4xx options
#
#
# USB support
#
# CONFIG_USB is not set
#
# Bluetooth support
#
# CONFIG_BLUEZ is not set
#
# Kernel hacking
#
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_KGDB is not set
# CONFIG_XMON is not set
# CONFIG_BDI_SWITCH is not set
# CONFIG_SERIAL_TEXT_DEBUG is not set
arch/ppc/kernel/traps.c
View file @
4e1bd6df
...
@@ -112,33 +112,7 @@ _exception(int signr, struct pt_regs *regs)
...
@@ -112,33 +112,7 @@ _exception(int signr, struct pt_regs *regs)
force_sig
(
signr
,
current
);
force_sig
(
signr
,
current
);
}
}
void
/*
MachineCheckException
(
struct
pt_regs
*
regs
)
{
#ifdef CONFIG_ALL_PPC
const
struct
exception_table_entry
*
entry
;
#endif
/* CONFIG_ALL_PPC */
unsigned
long
msr
=
regs
->
msr
;
if
(
user_mode
(
regs
))
{
regs
->
msr
|=
MSR_RI
;
_exception
(
SIGSEGV
,
regs
);
return
;
}
#if defined(CONFIG_8xx) && defined(CONFIG_PCI)
/* the qspan pci read routines can cause machine checks -- Cort */
bad_page_fault
(
regs
,
regs
->
dar
,
SIGBUS
);
return
;
#endif
if
(
debugger_fault_handler
)
{
debugger_fault_handler
(
regs
);
regs
->
msr
|=
MSR_RI
;
return
;
}
#ifdef CONFIG_ALL_PPC
/*
* I/O accesses can cause machine checks on powermacs.
* I/O accesses can cause machine checks on powermacs.
* Check if the NIP corresponds to the address of a sync
* Check if the NIP corresponds to the address of a sync
* instruction for which there is an entry in the exception
* instruction for which there is an entry in the exception
...
@@ -148,6 +122,13 @@ MachineCheckException(struct pt_regs *regs)
...
@@ -148,6 +122,13 @@ MachineCheckException(struct pt_regs *regs)
* set any of the top 16 bits of SRR1.
* set any of the top 16 bits of SRR1.
* -- paulus.
* -- paulus.
*/
*/
static
inline
int
check_io_access
(
struct
pt_regs
*
regs
)
{
#ifdef CONFIG_ALL_PPC
unsigned
long
msr
=
regs
->
msr
;
const
struct
exception_table_entry
*
entry
;
unsigned
int
*
nip
=
(
unsigned
int
*
)
regs
->
nip
;
if
(((
msr
&
0xffff0000
)
==
0
||
(
msr
&
(
0x80000
|
0x40000
)))
if
(((
msr
&
0xffff0000
)
==
0
||
(
msr
&
(
0x80000
|
0x40000
)))
&&
(
entry
=
search_exception_tables
(
regs
->
nip
))
!=
NULL
)
{
&&
(
entry
=
search_exception_tables
(
regs
->
nip
))
!=
NULL
)
{
/*
/*
...
@@ -158,7 +139,6 @@ MachineCheckException(struct pt_regs *regs)
...
@@ -158,7 +139,6 @@ MachineCheckException(struct pt_regs *regs)
* For the debug message, we look at the preceding
* For the debug message, we look at the preceding
* load or store.
* load or store.
*/
*/
unsigned
int
*
nip
=
(
unsigned
int
*
)
regs
->
nip
;
if
(
*
nip
==
0x60000000
)
/* nop */
if
(
*
nip
==
0x60000000
)
/* nop */
nip
-=
2
;
nip
-=
2
;
else
if
(
*
nip
==
0x4c00012c
)
/* isync */
else
if
(
*
nip
==
0x4c00012c
)
/* isync */
...
@@ -173,14 +153,42 @@ MachineCheckException(struct pt_regs *regs)
...
@@ -173,14 +153,42 @@ MachineCheckException(struct pt_regs *regs)
(
*
nip
&
0x100
)
?
"OUT to"
:
"IN from"
,
(
*
nip
&
0x100
)
?
"OUT to"
:
"IN from"
,
regs
->
gpr
[
rb
]
-
_IO_BASE
,
nip
);
regs
->
gpr
[
rb
]
-
_IO_BASE
,
nip
);
regs
->
msr
|=
MSR_RI
;
regs
->
msr
|=
MSR_RI
;
regs
->
nip
=
fixup
;
regs
->
nip
=
entry
->
fixup
;
return
;
return
1
;
}
}
}
}
#endif
/* CONFIG_ALL_PPC */
#endif
/* CONFIG_ALL_PPC */
printk
(
"Machine check in kernel mode.
\n
"
);
return
0
;
printk
(
"Caused by (from SRR1=%lx): "
,
msr
);
}
switch
(
msr
&
0x601F0000
)
{
void
MachineCheckException
(
struct
pt_regs
*
regs
)
{
if
(
user_mode
(
regs
))
{
regs
->
msr
|=
MSR_RI
;
_exception
(
SIGSEGV
,
regs
);
return
;
}
#if defined(CONFIG_8xx) && defined(CONFIG_PCI)
/* the qspan pci read routines can cause machine checks -- Cort */
bad_page_fault
(
regs
,
regs
->
dar
,
SIGBUS
);
return
;
#endif
if
(
debugger_fault_handler
)
{
debugger_fault_handler
(
regs
);
regs
->
msr
|=
MSR_RI
;
return
;
}
if
(
check_io_access
(
regs
))
return
;
#ifndef CONFIG_4xx
printk
(
KERN_CRIT
"Machine check in kernel mode.
\n
"
);
printk
(
KERN_CRIT
"Caused by (from SRR1=%lx): "
,
regs
->
msr
);
switch
(
regs
->
msr
&
0x601F0000
)
{
case
0x80000
:
case
0x80000
:
printk
(
"Machine check signal
\n
"
);
printk
(
"Machine check signal
\n
"
);
break
;
break
;
...
@@ -207,6 +215,17 @@ MachineCheckException(struct pt_regs *regs)
...
@@ -207,6 +215,17 @@ MachineCheckException(struct pt_regs *regs)
default:
default:
printk
(
"Unknown values in msr
\n
"
);
printk
(
"Unknown values in msr
\n
"
);
}
}
#else
/* CONFIG_4xx */
/* Note that the ESR gets stored in regs->dsisr on 4xx. */
if
(
regs
->
dsisr
&
ESR_MCI
)
{
printk
(
KERN_CRIT
"Instruction"
);
mtspr
(
SPRN_ESR
,
regs
->
dsisr
&
~
ESR_MCI
);
}
else
printk
(
KERN_CRIT
"Data"
);
printk
(
" machine check in kernel mode.
\n
"
);
#endif
/* CONFIG_4xx */
debugger
(
regs
);
debugger
(
regs
);
die
(
"machine check"
,
regs
,
SIGBUS
);
die
(
"machine check"
,
regs
,
SIGBUS
);
}
}
...
...
arch/ppc/platforms/4xx/Kconfig
View file @
4e1bd6df
...
@@ -44,6 +44,9 @@ config REDWOOD_5
...
@@ -44,6 +44,9 @@ config REDWOOD_5
config REDWOOD_6
config REDWOOD_6
bool "Redwood-6"
bool "Redwood-6"
config SYCAMORE
bool "Sycamore"
config TIVO
config TIVO
bool "Tivo"
bool "Tivo"
...
@@ -81,7 +84,7 @@ config IBM405_ERR51
...
@@ -81,7 +84,7 @@ config IBM405_ERR51
config IBM_OCP
config IBM_OCP
bool
bool
depends on ASH || BEECH || CEDAR || CPCI405 || EP405 || REDWOOD_4 || REDWOOD_5 || REDWOOD_6 || WALNUT
depends on ASH || BEECH || CEDAR || CPCI405 || EP405 || REDWOOD_4 || REDWOOD_5 || REDWOOD_6 ||
SYCAMORE ||
WALNUT
default y
default y
config NP405L
config NP405L
...
@@ -91,7 +94,7 @@ config NP405L
...
@@ -91,7 +94,7 @@ config NP405L
config BIOS_FIXUP
config BIOS_FIXUP
bool
bool
depends on CEDAR || EP405 || WALNUT
depends on CEDAR || EP405 ||
SYCAMORE ||
WALNUT
default y
default y
config 403GCX
config 403GCX
...
@@ -104,6 +107,14 @@ config 405GP
...
@@ -104,6 +107,14 @@ config 405GP
depends on CPCI405 || EP405 || WALNUT
depends on CPCI405 || EP405 || WALNUT
default y
default y
config 405GPR
bool
depends on SYCAMORE
config 405LP
bool
depends on CEDAR
config STB03xxx
config STB03xxx
bool
bool
depends on REDWOOD_5 || REDWOOD_4 || REDWOOD_6
depends on REDWOOD_5 || REDWOOD_4 || REDWOOD_6
...
@@ -116,7 +127,7 @@ config EMBEDDEDBOOT
...
@@ -116,7 +127,7 @@ config EMBEDDEDBOOT
config IBM_OPENBIOS
config IBM_OPENBIOS
bool
bool
depends on ASH || BEECH || CEDAR || REDWOOD_4 || REDWOOD_5 || REDWOOD_6 || WALNUT
depends on ASH || BEECH || CEDAR || REDWOOD_4 || REDWOOD_5 || REDWOOD_6 ||
SYCAMORE ||
WALNUT
default y
default y
config 405_DMA
config 405_DMA
...
...
arch/ppc/platforms/4xx/Makefile
View file @
4e1bd6df
...
@@ -12,6 +12,7 @@ obj-$(CONFIG_OAK) += oak.o
...
@@ -12,6 +12,7 @@ obj-$(CONFIG_OAK) += oak.o
obj-$(CONFIG_REDWOOD_4)
+=
redwood.o
obj-$(CONFIG_REDWOOD_4)
+=
redwood.o
obj-$(CONFIG_REDWOOD_5)
+=
redwood5.o
obj-$(CONFIG_REDWOOD_5)
+=
redwood5.o
obj-$(CONFIG_REDWOOD_6)
+=
redwood6.o
obj-$(CONFIG_REDWOOD_6)
+=
redwood6.o
obj-$(CONFIG_SYCAMORE)
+=
sycamore.o
obj-$(CONFIG_WALNUT)
+=
walnut.o
obj-$(CONFIG_WALNUT)
+=
walnut.o
obj-$(CONFIG_NP405L)
+=
ibmnp405l.o
obj-$(CONFIG_NP405L)
+=
ibmnp405l.o
...
...
arch/ppc/platforms/4xx/sycamore.c
0 → 100644
View file @
4e1bd6df
/*
*
* Copyright 2000-2002 MontaVista Software Inc.
* Author: Armin Kuster <akuster@mvista.com>
* MontaVista Software, Inc. <source@mvista.com>
*
* Module name: sycamore.c
*
* Description:
* Architecture- / platform-specific boot-time initialization code for
* IBM PowerPC 4xx based boards.
*
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/threads.h>
#include <linux/param.h>
#include <linux/string.h>
#include <linux/blk.h>
#include <linux/pci.h>
#include <linux/rtc.h>
#include <asm/ocp.h>
#include <asm/ppc4xx_pic.h>
#include <asm/system.h>
#include <asm/pci-bridge.h>
#include <asm/processor.h>
#include <asm/machdep.h>
#include <asm/page.h>
#include <asm/time.h>
#include <asm/io.h>
#include <asm/todc.h>
#undef DEBUG
#ifdef DEBUG
#define DBG(x...) printk(x)
#else
#define DBG(x...)
#endif
void
*
kb_cs
;
void
*
kb_data
;
void
*
sycamore_rtc_base
;
/*
* Define all of the IRQ senses and polarities.
*/
static
u_char
Sycamore_IRQ_initsenses
[]
__initdata
=
{
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 0: Uart 0*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 1: Uart 1*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 2: IIC */
(
IRQ_SENSE_EDGE
|
IRQ_POLARITY_POSITIVE
),
/* 3: External Master */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 4: PCI ext cmd write*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 5: DMA Chan 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 6: DMA Chan 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 7: DMA Chan 2 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 8: DMA Chan 3 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 9: Ethernet wakeup (WOL)*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 10: Mal (SEER) */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 11: Mal TXEOB */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 12: Mal RXEOB */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 13: Mal TXDE*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 14: Mal RXDE*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 15: Ethernet */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 16: Ext PCI SERR */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 17: ECC */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_POSITIVE
),
/* 18: PCI PM*/
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 19: Ext Int 7 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 20: Ext Int 8 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 21: Ext Int 9 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 22: Ext Int 10 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 23: Ext Int 11 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 24: Ext Int 12 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 25: Ext Int 0 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 26: Ext Int 1 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 27: Ext Int 2 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 28: Ext Int 3 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 29: Ext Int 4 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 30: Ext Int 5 */
(
IRQ_SENSE_LEVEL
|
IRQ_POLARITY_NEGATIVE
),
/* 31: Ext Int 6 */
};
/* Some IRQs unique to Sycamore.
* Used by the generic 405 PCI setup functions in ppc4xx_pci.c
*/
int
__init
ppc405_map_irq
(
struct
pci_dev
*
dev
,
unsigned
char
idsel
,
unsigned
char
pin
)
{
static
char
pci_irq_table
[][
4
]
=
/*
* PCI IDSEL/INTPIN->INTLINE
* A B C D
*/
{
{
28
,
28
,
28
,
28
},
/* IDSEL 1 - PCI slot 1 */
{
29
,
29
,
29
,
29
},
/* IDSEL 2 - PCI slot 2 */
{
30
,
30
,
30
,
30
},
/* IDSEL 3 - PCI slot 3 */
{
31
,
31
,
31
,
31
},
/* IDSEL 4 - PCI slot 4 */
};
const
long
min_idsel
=
1
,
max_idsel
=
4
,
irqs_per_slot
=
4
;
return
PCI_IRQ_TABLE_LOOKUP
;
};
void
__init
sycamore_setup_arch
(
void
)
{
#define SYCAMORE_PS2_BASE 0xF0100000
#define SYCAMORE_FPGA_BASE 0xF0300000
void
*
fpga_brdc
;
unsigned
char
fpga_brdc_data
;
void
*
fpga_enable
;
void
*
fpga_polarity
;
void
*
fpga_status
;
void
*
fpga_trigger
;
ppc4xx_setup_arch
();
kb_data
=
ioremap
(
SYCAMORE_PS2_BASE
,
8
);
if
(
!
kb_data
)
{
printk
(
KERN_CRIT
"sycamore_setup_arch() kb_data ioremap failed
\n
"
);
return
;
}
kb_cs
=
kb_data
+
1
;
fpga_status
=
ioremap
(
SYCAMORE_FPGA_BASE
,
8
);
if
(
!
fpga_status
)
{
printk
(
KERN_CRIT
"sycamore_setup_arch() fpga_status ioremap failed
\n
"
);
return
;
}
fpga_enable
=
fpga_status
+
1
;
fpga_polarity
=
fpga_status
+
2
;
fpga_trigger
=
fpga_status
+
3
;
fpga_brdc
=
fpga_status
+
4
;
/* split the keyboard and mouse interrupts */
fpga_brdc_data
=
readb
(
fpga_brdc
);
fpga_brdc_data
|=
0x80
;
writeb
(
fpga_brdc_data
,
fpga_brdc
);
writeb
(
0x3
,
fpga_enable
);
writeb
(
0x3
,
fpga_polarity
);
writeb
(
0x3
,
fpga_trigger
);
/* RTC step for the sycamore */
sycamore_rtc_base
=
(
void
*
)
SYCAMORE_RTC_VADDR
;
TODC_INIT
(
TODC_TYPE_DS1743
,
sycamore_rtc_base
,
sycamore_rtc_base
,
sycamore_rtc_base
,
8
);
ibm4xxPIC_InitSenses
=
Sycamore_IRQ_initsenses
;
ibm4xxPIC_NumInitSenses
=
sizeof
(
Sycamore_IRQ_initsenses
);
/* Identify the system */
printk
(
KERN_INFO
"IBM Sycamore (IBM405GPr) Platform
\n
"
);
printk
(
KERN_INFO
"Port by MontaVista Software, Inc. (source@mvista.com)
\n
"
);
}
void
__init
bios_fixup
(
struct
pci_controller
*
hose
,
struct
pcil0_regs
*
pcip
)
{
#ifdef CONFIG_PCI
unsigned
int
bar_response
,
bar
;
/*
* Expected PCI mapping:
*
* PLB addr PCI memory addr
* --------------------- ---------------------
* 0000'0000 - 7fff'ffff <--- 0000'0000 - 7fff'ffff
* 8000'0000 - Bfff'ffff ---> 8000'0000 - Bfff'ffff
*
* PLB addr PCI io addr
* --------------------- ---------------------
* e800'0000 - e800'ffff ---> 0000'0000 - 0001'0000
*
* The following code is simplified by assuming that the bootrom
* has been well behaved in following this mapping.
*/
#ifdef DEBUG
int
i
;
printk
(
"ioremap PCLIO_BASE = 0x%x
\n
"
,
pcip
);
printk
(
"PCI bridge regs before fixup
\n
"
);
for
(
i
=
0
;
i
<=
3
;
i
++
)
{
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
ma
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
la
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
pcila
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
pciha
)));
}
printk
(
" ptm1ms
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm1ms
)));
printk
(
" ptm1la
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm1la
)));
printk
(
" ptm2ms
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm2ms
)));
printk
(
" ptm2la
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm2la
)));
#endif
/* added for IBM boot rom version 1.15 bios bar changes -AK */
/* Disable region first */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
0
].
ma
),
0x00000000
);
/* PLB starting addr, PCI: 0x80000000 */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
0
].
la
),
0x80000000
);
/* PCI start addr, 0x80000000 */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
0
].
pcila
),
PPC405_PCI_MEM_BASE
);
/* 512MB range of PLB to PCI */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
0
].
pciha
),
0x00000000
);
/* Enable no pre-fetch, enable region */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
0
].
ma
),
((
0xffffffff
-
(
PPC405_PCI_UPPER_MEM
-
PPC405_PCI_MEM_BASE
))
|
0x01
));
/* Disable region one */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
1
].
ma
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
1
].
la
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
1
].
pcila
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
1
].
pciha
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
1
].
ma
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
ptm1ms
),
0x00000000
);
/* Disable region two */
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
2
].
ma
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
2
].
la
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
2
].
pcila
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
2
].
pciha
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
pmm
[
2
].
ma
),
0x00000000
);
out_le32
((
void
*
)
&
(
pcip
->
ptm2ms
),
0x00000000
);
/* Zero config bars */
for
(
bar
=
PCI_BASE_ADDRESS_1
;
bar
<=
PCI_BASE_ADDRESS_2
;
bar
+=
4
)
{
early_write_config_dword
(
hose
,
hose
->
first_busno
,
PCI_FUNC
(
hose
->
first_busno
),
bar
,
0x00000000
);
early_read_config_dword
(
hose
,
hose
->
first_busno
,
PCI_FUNC
(
hose
->
first_busno
),
bar
,
&
bar_response
);
DBG
(
"BUS %d, device %d, Function %d bar 0x%8.8x is 0x%8.8x
\n
"
,
hose
->
first_busno
,
PCI_SLOT
(
hose
->
first_busno
),
PCI_FUNC
(
hose
->
first_busno
),
bar
,
bar_response
);
}
/* end work arround */
#ifdef DEBUG
printk
(
"PCI bridge regs after fixup
\n
"
);
for
(
i
=
0
;
i
<=
3
;
i
++
)
{
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
ma
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
la
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
pcila
)));
printk
(
" pmm%dma
\t
0x%x
\n
"
,
i
,
in_le32
(
&
(
pcip
->
pmm
[
i
].
pciha
)));
}
printk
(
" ptm1ms
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm1ms
)));
printk
(
" ptm1la
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm1la
)));
printk
(
" ptm2ms
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm2ms
)));
printk
(
" ptm2la
\t
0x%x
\n
"
,
in_le32
(
&
(
pcip
->
ptm2la
)));
#endif
#endif
}
void
__init
sycamore_map_io
(
void
)
{
ppc4xx_map_io
();
io_block_mapping
(
SYCAMORE_RTC_VADDR
,
SYCAMORE_RTC_PADDR
,
SYCAMORE_RTC_SIZE
,
_PAGE_IO
);
}
void
__init
platform_init
(
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
)
{
ppc4xx_init
(
r3
,
r4
,
r5
,
r6
,
r7
);
ppc_md
.
setup_arch
=
sycamore_setup_arch
;
ppc_md
.
setup_io_mappings
=
sycamore_map_io
;
ppc_md
.
time_init
=
todc_time_init
;
ppc_md
.
set_rtc_time
=
todc_set_rtc_time
;
ppc_md
.
get_rtc_time
=
todc_get_rtc_time
;
ppc_md
.
nvram_read_val
=
todc_direct_read_val
;
ppc_md
.
nvram_write_val
=
todc_direct_write_val
;
}
arch/ppc/platforms/4xx/sycamore.h
0 → 100755
View file @
4e1bd6df
/*
*
* Copyright 2000 MontaVista Software Inc.
* Author: Armin Kuster <akuster@mvista.com>
* MontaVista Software, Inc.
*
* Module name: sycamore.h
*
* Description:
* Macros, definitions, and data structures specific to the IBM PowerPC
* based boards.
*
* This includes:
*
* 405GP "Sycamore" evaluation board
*
*/
#ifdef __KERNEL__
#ifndef __ASM_SYCAMORE_H__
#define __ASM_SYCAMORE_H__
#include <platforms/4xx/ibm405gpr.h>
#ifndef __ASSEMBLY__
/*
* Data structure defining board information maintained by the boot
* ROM on IBM's "Sycamore" evaluation board. An effort has been made to
* keep the field names consistent with the 8xx 'bd_t' board info
* structures.
*/
typedef
struct
board_info
{
unsigned
char
bi_s_version
[
4
];
/* Version of this structure */
unsigned
char
bi_r_version
[
30
];
/* Version of the IBM ROM */
unsigned
int
bi_memsize
;
/* DRAM installed, in bytes */
unsigned
char
bi_enetaddr
[
6
];
/* Local Ethernet MAC address */
unsigned
char
bi_pci_enetaddr
[
6
];
/* PCI Ethernet MAC address */
unsigned
int
bi_intfreq
;
/* Processor speed, in Hz */
unsigned
int
bi_busfreq
;
/* PLB Bus speed, in Hz */
unsigned
int
bi_pci_busfreq
;
/* PCI Bus speed, in Hz */
}
bd_t
;
/* Some 4xx parts use a different timebase frequency from the internal clock.
*/
#define bi_tbfreq bi_intfreq
/* Memory map for the IBM "Sycamore" 405GP evaluation board.
* Generic 4xx plus RTC.
*/
extern
void
*
sycamore_rtc_base
;
#define SYCAMORE_RTC_PADDR ((uint)0xf0000000)
#define SYCAMORE_RTC_VADDR SYCAMORE_RTC_PADDR
#define SYCAMORE_RTC_SIZE ((uint)8*1024)
#ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
#define BASE_BAUD 201600
#else
#define BASE_BAUD 691200
#endif
#define SYCAMORE_PS2_BASE 0xF0100000
#define SYCAMORE_FPGA_BASE 0xF0300000
#define PPC4xx_MACHINE_NAME "IBM Sycamore"
#endif
/* !__ASSEMBLY__ */
#endif
/* __ASM_SYCAMORE_H__ */
#endif
/* __KERNEL__ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment