Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: Add .gitignore entry for syscalltab. sh64: generic quicklist support. sh64: Update cayman defconfig. sh64: Fixup sh-sci build. sh64: ppoll/pselect6() and restartable syscalls. sh64: dma-mapping updates. sh64: Fixups for the irq_regs changes. sh64: Wire up many new syscalls. spelling fixes: arch/sh64/ sh64: ROUND_UP macro cleanup in arch/sh64/kernel/pci_sh5.c
This commit is contained in:
commit
835a906c74
|
@ -17,6 +17,9 @@ config MMU
|
|||
bool
|
||||
default y
|
||||
|
||||
config QUICKLIST
|
||||
def_bool y
|
||||
|
||||
config RWSEM_GENERIC_SPINLOCK
|
||||
bool
|
||||
default y
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.18
|
||||
# Tue Oct 3 13:30:51 2006
|
||||
# Linux kernel version: 2.6.22-rc1
|
||||
# Mon May 14 08:43:31 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_SUPERH64=y
|
||||
|
@ -10,6 +10,8 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -33,13 +35,15 @@ CONFIG_POSIX_MQUEUE=y
|
|||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
# CONFIG_EMBEDDED is not set
|
||||
CONFIG_UID16=y
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
|
@ -49,14 +53,19 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -135,7 +144,7 @@ CONFIG_SH64_ID2815_WORKAROUND=y
|
|||
#
|
||||
CONFIG_HEARTBEAT=y
|
||||
CONFIG_HDSP253_LED=y
|
||||
CONFIG_SH_DMA=y
|
||||
# CONFIG_SH_DMA is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
|
@ -146,23 +155,20 @@ CONFIG_FLAT_NODE_MEM_MAP=y
|
|||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
|
||||
#
|
||||
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
|
||||
#
|
||||
CONFIG_PCI=y
|
||||
CONFIG_SH_PCIDMA_NONCOHERENT=y
|
||||
# CONFIG_PCI_MULTITHREAD_PROBE is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
# CONFIG_PCCARD is not set
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
# CONFIG_HOTPLUG_PCI is not set
|
||||
|
||||
#
|
||||
|
@ -180,13 +186,13 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
|
@ -207,11 +213,13 @@ CONFIG_IP_PNP=y
|
|||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_BEET=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_CUBIC=y
|
||||
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_TCP_MD5SIG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
|
@ -256,7 +264,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -269,16 +286,13 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
|
@ -289,6 +303,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
|
@ -306,10 +321,17 @@ CONFIG_BLK_DEV_RAM=y
|
|||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
# CONFIG_BLINK is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
|
@ -320,6 +342,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
|||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
||||
|
@ -339,6 +362,7 @@ CONFIG_BLK_DEV_SD=y
|
|||
CONFIG_SCSI_MULTI_LUN=y
|
||||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -378,18 +402,16 @@ CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
|
|||
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
|
||||
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
|
||||
CONFIG_SCSI_SYM53C8XX_MMIO=y
|
||||
# CONFIG_SCSI_IPR is not set
|
||||
# CONFIG_SCSI_QLOGIC_1280 is not set
|
||||
# CONFIG_SCSI_QLA_FC is not set
|
||||
# CONFIG_SCSI_QLA_ISCSI is not set
|
||||
# CONFIG_SCSI_LPFC is not set
|
||||
# CONFIG_SCSI_DC395x is not set
|
||||
# CONFIG_SCSI_DC390T is not set
|
||||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_SCSI_ESP_CORE is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
|
@ -408,6 +430,7 @@ CONFIG_SCSI_SYM53C8XX_MMIO=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
|
@ -428,10 +451,6 @@ CONFIG_NETDEVICES=y
|
|||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
|
@ -479,10 +498,8 @@ CONFIG_NET_PCI=y
|
|||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TLAN is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
# CONFIG_SC92031 is not set
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
# CONFIG_E1000 is not set
|
||||
|
@ -498,14 +515,16 @@ CONFIG_NET_PCI=y
|
|||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_ATL1 is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
CONFIG_MLX4_DEBUG=y
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
|
@ -513,13 +532,10 @@ CONFIG_NET_PCI=y
|
|||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -571,9 +587,17 @@ CONFIG_KEYBOARD_ATKBD=y
|
|||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
CONFIG_MOUSE_PS2=y
|
||||
CONFIG_MOUSE_PS2_ALPS=y
|
||||
CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
||||
CONFIG_MOUSE_PS2_SYNAPTICS=y
|
||||
CONFIG_MOUSE_PS2_LIFEBOOK=y
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
# CONFIG_MOUSE_APPLETOUCH is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -619,10 +643,6 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
CONFIG_WATCHDOG=y
|
||||
# CONFIG_WATCHDOG_NOWAYOUT is not set
|
||||
|
||||
|
@ -639,13 +659,8 @@ CONFIG_WATCHDOG=y
|
|||
# CONFIG_WDTPCI is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# 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_DRM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
|
@ -653,11 +668,7 @@ CONFIG_HW_RANDOM=y
|
|||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_TELCLOCK is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -669,44 +680,60 @@ CONFIG_HW_RANDOM=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VT1211 is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB_DDC is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
# CONFIG_FB_TILEBLITTING is not set
|
||||
|
||||
#
|
||||
# Frame buffer hardware drivers
|
||||
#
|
||||
# CONFIG_FB_CIRRUS is not set
|
||||
# CONFIG_FB_PM2 is not set
|
||||
# CONFIG_FB_CYBER2000 is not set
|
||||
|
@ -720,13 +747,17 @@ CONFIG_FB_MODE_HELPERS=y
|
|||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
# CONFIG_FB_S3 is not set
|
||||
# CONFIG_FB_SAVAGE is not set
|
||||
# CONFIG_FB_SIS is not set
|
||||
# CONFIG_FB_NEOMAGIC is not set
|
||||
CONFIG_FB_KYRO=y
|
||||
# CONFIG_FB_3DFX is not set
|
||||
# CONFIG_FB_VOODOO1 is not set
|
||||
# CONFIG_FB_VT8623 is not set
|
||||
# CONFIG_FB_TRIDENT is not set
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
|
||||
#
|
||||
|
@ -746,10 +777,6 @@ CONFIG_FONT_8x16=y
|
|||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
# CONFIG_FONT_10x18 is not set
|
||||
|
||||
#
|
||||
# Logo configuration
|
||||
#
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
|
@ -757,13 +784,18 @@ CONFIG_LOGO=y
|
|||
# CONFIG_LOGO_SUPERH_MONO is not set
|
||||
# CONFIG_LOGO_SUPERH_VGA16 is not set
|
||||
CONFIG_LOGO_SUPERH_CLUT224=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
|
@ -780,10 +812,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -836,6 +864,7 @@ CONFIG_EXT3_FS=y
|
|||
CONFIG_EXT3_FS_XATTR=y
|
||||
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT3_FS_SECURITY is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
CONFIG_JBD=y
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=y
|
||||
|
@ -843,6 +872,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
CONFIG_MINIX_FS=y
|
||||
CONFIG_ROMFS_FS=y
|
||||
|
@ -912,6 +942,7 @@ CONFIG_LOCKD=y
|
|||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
@ -941,12 +972,18 @@ CONFIG_MSDOS_PARTITION=y
|
|||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_SYSV68_PARTITION is not set
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Distributed Lock Manager
|
||||
#
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
# Profiling support
|
||||
#
|
||||
|
@ -959,28 +996,29 @@ CONFIG_MSDOS_PARTITION=y
|
|||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
# CONFIG_DEBUG_LIST is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_UNWIND_INFO is not set
|
||||
CONFIG_FORCED_INLINING=y
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_EARLY_PRINTK is not set
|
||||
# CONFIG_DEBUG_KERNEL_WITH_GDB_STUB is not set
|
||||
CONFIG_SH64_PROC_TLB=y
|
||||
|
@ -1004,10 +1042,15 @@ CONFIG_SH64_SR_WATCH=y
|
|||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
|
|
|
@ -947,14 +947,14 @@ ret_with_reschedule:
|
|||
! FIXME:!!!
|
||||
! no handling of TIF_SYSCALL_TRACE yet!!
|
||||
|
||||
movi (1 << TIF_NEED_RESCHED), r8
|
||||
movi _TIF_NEED_RESCHED, r8
|
||||
and r8, r7, r8
|
||||
pta work_resched, tr0
|
||||
bne r8, ZERO, tr0
|
||||
|
||||
pta restore_all, tr1
|
||||
|
||||
movi (1 << TIF_SIGPENDING), r8
|
||||
movi (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK), r8
|
||||
and r8, r7, r8
|
||||
pta work_notifysig, tr0
|
||||
bne r8, ZERO, tr0
|
||||
|
|
|
@ -94,6 +94,7 @@ asmlinkage void do_NMI(unsigned long vector_num, struct pt_regs * regs)
|
|||
*/
|
||||
asmlinkage int do_IRQ(unsigned long vector_num, struct pt_regs * regs)
|
||||
{
|
||||
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||
int irq;
|
||||
|
||||
irq_enter();
|
||||
|
@ -101,13 +102,14 @@ asmlinkage int do_IRQ(unsigned long vector_num, struct pt_regs * regs)
|
|||
irq = irq_demux(vector_num);
|
||||
|
||||
if (irq >= 0) {
|
||||
__do_IRQ(irq, regs);
|
||||
__do_IRQ(irq);
|
||||
} else {
|
||||
printk("unexpected IRQ trap at vector %03lx\n", vector_num);
|
||||
}
|
||||
|
||||
irq_exit();
|
||||
|
||||
set_irq_regs(old_regs);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -340,8 +340,9 @@ static int __init map_cayman_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
|||
return result;
|
||||
}
|
||||
|
||||
irqreturn_t pcish5_err_irq(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t pcish5_err_irq(int irq, void *dev_id)
|
||||
{
|
||||
struct pt_regs *regs = get_irq_regs();
|
||||
unsigned pci_int, pci_air, pci_cir, pci_aint;
|
||||
|
||||
pci_int = SH5PCI_READ(INT);
|
||||
|
@ -368,15 +369,13 @@ irqreturn_t pcish5_err_irq(int irq, void *dev_id, struct pt_regs *regs)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
irqreturn_t pcish5_serr_irq(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t pcish5_serr_irq(int irq, void *dev_id)
|
||||
{
|
||||
printk("SERR IRQ\n");
|
||||
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
#define ROUND_UP(x, a) (((x) + (a) - 1) & ~((a) - 1))
|
||||
|
||||
static void __init
|
||||
pcibios_size_bridge(struct pci_bus *bus, struct resource *ior,
|
||||
struct resource *memr)
|
||||
|
@ -433,8 +432,8 @@ pcibios_size_bridge(struct pci_bus *bus, struct resource *ior,
|
|||
mem_res.end -= mem_res.start;
|
||||
|
||||
/* Align the sizes up by bridge rules */
|
||||
io_res.end = ROUND_UP(io_res.end, 4*1024) - 1;
|
||||
mem_res.end = ROUND_UP(mem_res.end, 1*1024*1024) - 1;
|
||||
io_res.end = ALIGN(io_res.end, 4*1024) - 1;
|
||||
mem_res.end = ALIGN(mem_res.end, 1*1024*1024) - 1;
|
||||
|
||||
/* Adjust the bridge's allocation requirements */
|
||||
bridge->resource[0].end = bridge->resource[0].start + io_res.end;
|
||||
|
@ -447,18 +446,16 @@ pcibios_size_bridge(struct pci_bus *bus, struct resource *ior,
|
|||
|
||||
/* adjust parent's resource requirements */
|
||||
if (ior) {
|
||||
ior->end = ROUND_UP(ior->end, 4*1024);
|
||||
ior->end = ALIGN(ior->end, 4*1024);
|
||||
ior->end += io_res.end;
|
||||
}
|
||||
|
||||
if (memr) {
|
||||
memr->end = ROUND_UP(memr->end, 1*1024*1024);
|
||||
memr->end = ALIGN(memr->end, 1*1024*1024);
|
||||
memr->end += mem_res.end;
|
||||
}
|
||||
}
|
||||
|
||||
#undef ROUND_UP
|
||||
|
||||
static void __init pcibios_size_bridges(void)
|
||||
{
|
||||
struct resource io_res, mem_res;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* May be copied or modified under the terms of the GNU General Public
|
||||
* License. See linux/COPYING for more information.
|
||||
*
|
||||
* Defintions for the SH5 PCI hardware.
|
||||
* Definitions for the SH5 PCI hardware.
|
||||
*/
|
||||
|
||||
/* Product ID */
|
||||
|
|
|
@ -387,7 +387,7 @@ ATTRIB_NORET void kernel_thread_helper(void *arg, int (*fn)(void *))
|
|||
* NOTE! Only a kernel-only process(ie the swapper or direct descendants
|
||||
* who haven't done an "execve()") should use this: it will work within
|
||||
* a system call from a "real" process, but the process memory space will
|
||||
* not be free'd until both the parent and the child have exited.
|
||||
* not be freed until both the parent and the child have exited.
|
||||
*/
|
||||
int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
||||
{
|
||||
|
|
|
@ -698,7 +698,9 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset)
|
|||
if (try_to_freeze())
|
||||
goto no_signal;
|
||||
|
||||
if (!oldset)
|
||||
if (test_thread_flag(TIF_RESTORE_SIGMASK))
|
||||
oldset = ¤t->saved_sigmask;
|
||||
else if (!oldset)
|
||||
oldset = ¤t->blocked;
|
||||
|
||||
signr = get_signal_to_deliver(&info, &ka, regs, 0);
|
||||
|
@ -706,6 +708,15 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset)
|
|||
if (signr > 0) {
|
||||
/* Whee! Actually deliver the signal. */
|
||||
handle_signal(signr, &info, &ka, oldset, regs);
|
||||
|
||||
/*
|
||||
* If a signal was successfully delivered, the saved sigmask
|
||||
* is in its frame, and we can clear the TIF_RESTORE_SIGMASK
|
||||
* flag.
|
||||
*/
|
||||
if (test_thread_flag(TIF_RESTORE_SIGMASK))
|
||||
clear_thread_flag(TIF_RESTORE_SIGMASK);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -713,13 +724,27 @@ no_signal:
|
|||
/* Did we come from a system call? */
|
||||
if (regs->syscall_nr >= 0) {
|
||||
/* Restart the system call - no handlers present */
|
||||
if (regs->regs[REG_RET] == -ERESTARTNOHAND ||
|
||||
regs->regs[REG_RET] == -ERESTARTSYS ||
|
||||
regs->regs[REG_RET] == -ERESTARTNOINTR) {
|
||||
switch (regs->regs[REG_RET]) {
|
||||
case -ERESTARTNOHAND:
|
||||
case -ERESTARTSYS:
|
||||
case -ERESTARTNOINTR:
|
||||
/* Decode Syscall # */
|
||||
regs->regs[REG_RET] = regs->syscall_nr;
|
||||
regs->pc -= 4;
|
||||
break;
|
||||
|
||||
case -ERESTART_RESTARTBLOCK:
|
||||
regs->regs[REG_RET] = __NR_restart_syscall;
|
||||
regs->pc -= 4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* No signal to deliver -- put the saved sigmask back */
|
||||
if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
|
||||
clear_thread_flag(TIF_RESTORE_SIGMASK);
|
||||
sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* arch/sh64/kernel/syscalls.S
|
||||
*
|
||||
* Copyright (C) 2000, 2001 Paolo Alberelli
|
||||
* Copyright (C) 2004 Paul Mundt
|
||||
* Copyright (C) 2004 - 2007 Paul Mundt
|
||||
* Copyright (C) 2003, 2004 Richard Curnow
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
.globl sys_call_table
|
||||
sys_call_table:
|
||||
.long sys_ni_syscall /* 0 - old "setup()" system call */
|
||||
.long sys_restart_syscall /* 0 - old "setup()" system call */
|
||||
.long sys_exit
|
||||
.long sys_fork
|
||||
.long sys_read
|
||||
|
@ -347,4 +347,34 @@ sys_call_table:
|
|||
.long sys_inotify_init
|
||||
.long sys_inotify_add_watch
|
||||
.long sys_inotify_rm_watch /* 320 */
|
||||
|
||||
.long sys_ni_syscall
|
||||
.long sys_migrate_pages
|
||||
.long sys_openat
|
||||
.long sys_mkdirat
|
||||
.long sys_mknodat /* 325 */
|
||||
.long sys_fchownat
|
||||
.long sys_futimesat
|
||||
.long sys_fstatat64
|
||||
.long sys_unlinkat
|
||||
.long sys_renameat /* 330 */
|
||||
.long sys_linkat
|
||||
.long sys_symlinkat
|
||||
.long sys_readlinkat
|
||||
.long sys_fchmodat
|
||||
.long sys_faccessat /* 335 */
|
||||
.long sys_pselect6
|
||||
.long sys_ppoll
|
||||
.long sys_unshare
|
||||
.long sys_set_robust_list
|
||||
.long sys_get_robust_list /* 340 */
|
||||
.long sys_splice
|
||||
.long sys_sync_file_range
|
||||
.long sys_tee
|
||||
.long sys_vmsplice
|
||||
.long sys_move_pages /* 345 */
|
||||
.long sys_getcpu
|
||||
.long sys_epoll_pwait
|
||||
.long sys_utimensat
|
||||
.long sys_signalfd
|
||||
.long sys_timerfd /* 350 */
|
||||
.long sys_eventfd
|
||||
|
|
|
@ -123,7 +123,7 @@ static unsigned long long usecs_per_jiffy = 1000000/HZ; /* Approximation */
|
|||
static unsigned long long scaled_recip_ctc_ticks_per_jiffy;
|
||||
|
||||
/* Estimate number of microseconds that have elapsed since the last timer tick,
|
||||
by scaling the delta that has occured in the CTC register.
|
||||
by scaling the delta that has occurred in the CTC register.
|
||||
|
||||
WARNING WARNING WARNING : This algorithm relies on the CTC decrementing at
|
||||
the CPU clock rate. If the CPU sleeps, the CTC stops counting. Bear this
|
||||
|
@ -282,7 +282,7 @@ static long last_rtc_update = 0;
|
|||
* timer_interrupt() needs to keep up the real-time clock,
|
||||
* as well as call the "do_timer()" routine every clocktick
|
||||
*/
|
||||
static inline void do_timer_interrupt(int irq, struct pt_regs *regs)
|
||||
static inline void do_timer_interrupt(void)
|
||||
{
|
||||
unsigned long long current_ctc;
|
||||
asm ("getcon cr62, %0" : "=r" (current_ctc));
|
||||
|
@ -290,9 +290,10 @@ static inline void do_timer_interrupt(int irq, struct pt_regs *regs)
|
|||
|
||||
do_timer(1);
|
||||
#ifndef CONFIG_SMP
|
||||
update_process_times(user_mode(regs));
|
||||
update_process_times(user_mode(get_irq_regs()));
|
||||
#endif
|
||||
profile_tick(CPU_PROFILING, regs);
|
||||
if (current->pid)
|
||||
profile_tick(CPU_PROFILING);
|
||||
|
||||
#ifdef CONFIG_HEARTBEAT
|
||||
{
|
||||
|
@ -323,7 +324,7 @@ static inline void do_timer_interrupt(int irq, struct pt_regs *regs)
|
|||
* Time Stamp Counter value at the time of the timer interrupt, so that
|
||||
* we later on can estimate the time of day more exactly.
|
||||
*/
|
||||
static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t timer_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
unsigned long timer_status;
|
||||
|
||||
|
@ -340,7 +341,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
|||
* locally disabled. -arca
|
||||
*/
|
||||
write_lock(&xtime_lock);
|
||||
do_timer_interrupt(irq, regs);
|
||||
do_timer_interrupt();
|
||||
write_unlock(&xtime_lock);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
|
@ -465,9 +466,10 @@ static __init unsigned int get_cpu_hz(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id,
|
||||
struct pt_regs *regs)
|
||||
static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
struct pt_regs *regs = get_irq_regs();
|
||||
|
||||
ctrl_outb(0, RCR1); /* Disable Carry Interrupts */
|
||||
regs->regs[3] = 1; /* Using r3 */
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
syscalltab.h
|
|
@ -29,13 +29,13 @@ unsigned long epld_virt;
|
|||
/* Note the SMSC SuperIO chip and SMSC LAN chip interrupts are all muxed onto
|
||||
the same SH-5 interrupt */
|
||||
|
||||
static irqreturn_t cayman_interrupt_smsc(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t cayman_interrupt_smsc(int irq, void *dev_id)
|
||||
{
|
||||
printk(KERN_INFO "CAYMAN: spurious SMSC interrupt\n");
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id)
|
||||
{
|
||||
printk(KERN_INFO "CAYMAN: spurious PCI interrupt, IRQ %d\n", irq);
|
||||
return IRQ_NONE;
|
||||
|
|
|
@ -213,7 +213,7 @@ static int __init smsc_superio_setup(void)
|
|||
SMSC_SUPERIO_WRITE_INDEXED(0x00, 0xc7); /* GP47 = nIOWOP */
|
||||
#endif
|
||||
|
||||
/* Exit the configuraton state */
|
||||
/* Exit the configuration state */
|
||||
outb(SMSC_EXIT_CONFIG_KEY, SMSC_CONFIG_PORT_ADDR);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -135,7 +135,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess,
|
|||
/* SIM
|
||||
* Note this is now called with interrupts still disabled
|
||||
* This is to cope with being called for a missing IO port
|
||||
* address with interupts disabled. This should be fixed as
|
||||
* address with interrupts disabled. This should be fixed as
|
||||
* soon as we have a better 'fast path' miss handler.
|
||||
*
|
||||
* Plus take care how you try and debug this stuff.
|
||||
|
|
|
@ -84,7 +84,7 @@ void show_mem(void)
|
|||
printk("%d reserved pages\n",reserved);
|
||||
printk("%d pages shared\n",shared);
|
||||
printk("%d pages swap cached\n",cached);
|
||||
printk("%ld pages in page table cache\n",pgtable_cache_size);
|
||||
printk("%ld pages in page table cache\n", quicklist_total_size());
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* IMPORTANT NOTES :
|
||||
* The do_fast_page_fault function is called from a context in entry.S where very few registers
|
||||
* have been saved. In particular, the code in this file must be compiled not to use ANY
|
||||
* caller-save regiseters that are not part of the restricted save set. Also, it means that
|
||||
* caller-save registers that are not part of the restricted save set. Also, it means that
|
||||
* code in this file must not make calls to functions elsewhere in the kernel, or else the
|
||||
* excepting context will see corruption in its caller-save registers. Plus, the entry.S save
|
||||
* area is non-reentrant, so this code has to run with SR.BL==1, i.e. no interrupts taken inside
|
||||
|
@ -249,7 +249,7 @@ asmlinkage int do_fast_page_fault(unsigned long long ssr_md, unsigned long long
|
|||
/* SIM
|
||||
* Note this is now called with interrupts still disabled
|
||||
* This is to cope with being called for a missing IO port
|
||||
* address with interupts disabled. This should be fixed as
|
||||
* address with interrupts disabled. This should be fixed as
|
||||
* soon as we have a better 'fast path' miss handler.
|
||||
*
|
||||
* Plus take care how you try and debug this stuff.
|
||||
|
|
|
@ -35,6 +35,10 @@ static inline void dma_free_coherent(struct device *dev, size_t size,
|
|||
consistent_free(NULL, size, vaddr, dma_handle);
|
||||
}
|
||||
|
||||
#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
|
||||
#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
|
||||
#define dma_is_consistent(d, h) (1)
|
||||
|
||||
static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
|
||||
enum dma_data_direction dir)
|
||||
{
|
||||
|
@ -49,7 +53,7 @@ static inline dma_addr_t dma_map_single(struct device *dev,
|
|||
if (dev->bus == &pci_bus_type)
|
||||
return virt_to_bus(ptr);
|
||||
#endif
|
||||
dma_cache_sync(ptr, size, dir);
|
||||
dma_cache_sync(dev, ptr, size, dir);
|
||||
|
||||
return virt_to_bus(ptr);
|
||||
}
|
||||
|
@ -63,7 +67,7 @@ static inline int dma_map_sg(struct device *dev, struct scatterlist *sg,
|
|||
|
||||
for (i = 0; i < nents; i++) {
|
||||
#if !defined(CONFIG_PCI) || defined(CONFIG_SH_PCIDMA_NONCOHERENT)
|
||||
dma_cache_sync(page_address(sg[i].page) + sg[i].offset,
|
||||
dma_cache_sync(dev, page_address(sg[i].page) + sg[i].offset,
|
||||
sg[i].length, dir);
|
||||
#endif
|
||||
sg[i].dma_address = page_to_phys(sg[i].page) + sg[i].offset;
|
||||
|
@ -94,7 +98,7 @@ static inline void dma_sync_single(struct device *dev, dma_addr_t dma_handle,
|
|||
if (dev->bus == &pci_bus_type)
|
||||
return;
|
||||
#endif
|
||||
dma_cache_sync(bus_to_virt(dma_handle), size, dir);
|
||||
dma_cache_sync(dev, bus_to_virt(dma_handle), size, dir);
|
||||
}
|
||||
|
||||
static inline void dma_sync_single_range(struct device *dev,
|
||||
|
@ -106,7 +110,7 @@ static inline void dma_sync_single_range(struct device *dev,
|
|||
if (dev->bus == &pci_bus_type)
|
||||
return;
|
||||
#endif
|
||||
dma_cache_sync(bus_to_virt(dma_handle) + offset, size, dir);
|
||||
dma_cache_sync(dev, bus_to_virt(dma_handle) + offset, size, dir);
|
||||
}
|
||||
|
||||
static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg,
|
||||
|
@ -116,7 +120,7 @@ static inline void dma_sync_sg(struct device *dev, struct scatterlist *sg,
|
|||
|
||||
for (i = 0; i < nelems; i++) {
|
||||
#if !defined(CONFIG_PCI) || defined(CONFIG_SH_PCIDMA_NONCOHERENT)
|
||||
dma_cache_sync(page_address(sg[i].page) + sg[i].offset,
|
||||
dma_cache_sync(dev, page_address(sg[i].page) + sg[i].offset,
|
||||
sg[i].length, dir);
|
||||
#endif
|
||||
sg[i].dma_address = page_to_phys(sg[i].page) + sg[i].offset;
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
#include <asm-generic/irq_regs.h>
|
|
@ -14,13 +14,9 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <linux/threads.h>
|
||||
#include <linux/mm.h>
|
||||
|
||||
#define pgd_quicklist (current_cpu_data.pgd_quick)
|
||||
#define pmd_quicklist (current_cpu_data.pmd_quick)
|
||||
#define pte_quicklist (current_cpu_data.pte_quick)
|
||||
#define pgtable_cache_size (current_cpu_data.pgtable_cache_sz)
|
||||
#include <linux/quicklist.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
static inline void pgd_init(unsigned long page)
|
||||
{
|
||||
|
@ -45,84 +41,37 @@ static inline pgd_t *get_pgd_slow(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static inline pgd_t *get_pgd_fast(void)
|
||||
static inline pgd_t *pgd_alloc(struct mm_struct *mm)
|
||||
{
|
||||
unsigned long *ret;
|
||||
|
||||
if ((ret = pgd_quicklist) != NULL) {
|
||||
pgd_quicklist = (unsigned long *)(*ret);
|
||||
ret[0] = 0;
|
||||
pgtable_cache_size--;
|
||||
} else
|
||||
ret = (unsigned long *)get_pgd_slow();
|
||||
|
||||
if (ret) {
|
||||
memset(ret, 0, USER_PTRS_PER_PGD * sizeof(pgd_t));
|
||||
}
|
||||
return (pgd_t *)ret;
|
||||
return quicklist_alloc(0, GFP_KERNEL, NULL);
|
||||
}
|
||||
|
||||
static inline void free_pgd_fast(pgd_t *pgd)
|
||||
static inline void pgd_free(pgd_t *pgd)
|
||||
{
|
||||
*(unsigned long *)pgd = (unsigned long) pgd_quicklist;
|
||||
pgd_quicklist = (unsigned long *) pgd;
|
||||
pgtable_cache_size++;
|
||||
quicklist_free(0, NULL, pgd);
|
||||
}
|
||||
|
||||
static inline void free_pgd_slow(pgd_t *pgd)
|
||||
static inline struct page *pte_alloc_one(struct mm_struct *mm,
|
||||
unsigned long address)
|
||||
{
|
||||
kfree((void *)pgd);
|
||||
}
|
||||
|
||||
extern pte_t *get_pte_slow(pmd_t *pmd, unsigned long address_preadjusted);
|
||||
extern pte_t *get_pte_kernel_slow(pmd_t *pmd, unsigned long address_preadjusted);
|
||||
|
||||
static inline pte_t *get_pte_fast(void)
|
||||
{
|
||||
unsigned long *ret;
|
||||
|
||||
if((ret = (unsigned long *)pte_quicklist) != NULL) {
|
||||
pte_quicklist = (unsigned long *)(*ret);
|
||||
ret[0] = ret[1];
|
||||
pgtable_cache_size--;
|
||||
}
|
||||
return (pte_t *)ret;
|
||||
}
|
||||
|
||||
static inline void free_pte_fast(pte_t *pte)
|
||||
{
|
||||
*(unsigned long *)pte = (unsigned long) pte_quicklist;
|
||||
pte_quicklist = (unsigned long *) pte;
|
||||
pgtable_cache_size++;
|
||||
void *pg = quicklist_alloc(0, GFP_KERNEL, NULL);
|
||||
return pg ? virt_to_page(pg) : NULL;
|
||||
}
|
||||
|
||||
static inline void pte_free_kernel(pte_t *pte)
|
||||
{
|
||||
free_page((unsigned long)pte);
|
||||
quicklist_free(0, NULL, pte);
|
||||
}
|
||||
|
||||
static inline void pte_free(struct page *pte)
|
||||
{
|
||||
__free_page(pte);
|
||||
quicklist_free_page(0, NULL, pte);
|
||||
}
|
||||
|
||||
static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
|
||||
unsigned long address)
|
||||
{
|
||||
pte_t *pte;
|
||||
|
||||
pte = (pte_t *)__get_free_page(GFP_KERNEL | __GFP_REPEAT|__GFP_ZERO);
|
||||
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address)
|
||||
{
|
||||
struct page *pte;
|
||||
|
||||
pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
|
||||
|
||||
return pte;
|
||||
return quicklist_alloc(0, GFP_KERNEL, NULL);
|
||||
}
|
||||
|
||||
#define __pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte))
|
||||
|
@ -142,31 +91,23 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm, unsigned long add
|
|||
|
||||
#elif defined(CONFIG_SH64_PGTABLE_3_LEVEL)
|
||||
|
||||
static __inline__ pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
|
||||
static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
|
||||
{
|
||||
pmd_t *pmd;
|
||||
pmd = (pmd_t *) __get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
|
||||
return pmd;
|
||||
return quicklist_alloc(0, GFP_KERNEL, NULL);
|
||||
}
|
||||
|
||||
static __inline__ void pmd_free(pmd_t *pmd)
|
||||
static inline void pmd_free(pmd_t *pmd)
|
||||
{
|
||||
free_page((unsigned long) pmd);
|
||||
quicklist_free(0, NULL, pmd);
|
||||
}
|
||||
|
||||
#define pgd_populate(mm, pgd, pmd) pgd_set(pgd, pmd)
|
||||
#define pgd_populate(mm, pgd, pmd) pgd_set(pgd, pmd)
|
||||
#define __pmd_free_tlb(tlb,pmd) pmd_free(pmd)
|
||||
|
||||
#else
|
||||
#error "No defined page table size"
|
||||
#endif
|
||||
|
||||
#define check_pgt_cache() do { } while (0)
|
||||
#define pgd_free(pgd) free_pgd_slow(pgd)
|
||||
#define pgd_alloc(mm) get_pgd_fast()
|
||||
|
||||
extern int do_check_pgt_cache(int, int);
|
||||
|
||||
#define pmd_populate_kernel(mm, pmd, pte) \
|
||||
set_pmd(pmd, __pmd(_PAGE_TABLE + (unsigned long) (pte)))
|
||||
|
||||
|
@ -176,4 +117,9 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
|
|||
set_pmd(pmd, __pmd(_PAGE_TABLE + (unsigned long) page_address (pte)));
|
||||
}
|
||||
|
||||
static inline void check_pgt_cache(void)
|
||||
{
|
||||
quicklist_trim(0, NULL, 25, 16);
|
||||
}
|
||||
|
||||
#endif /* __ASM_SH64_PGALLOC_H */
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
#include <asm-sh/sci.h>
|
|
@ -78,7 +78,13 @@ static inline struct thread_info *current_thread_info(void)
|
|||
#define TIF_SIGPENDING 2 /* signal pending */
|
||||
#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
|
||||
#define TIF_MEMDIE 4
|
||||
#define TIF_RESTORE_SIGMASK 5 /* Restore signal mask in do_signal */
|
||||
|
||||
#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
|
||||
#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
|
||||
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
|
||||
#define _TIF_MEMDIE (1 << TIF_MEMDIE)
|
||||
#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
* include/asm-sh64/unistd.h
|
||||
*
|
||||
* Copyright (C) 2000, 2001 Paolo Alberelli
|
||||
* Copyright (C) 2003 Paul Mundt
|
||||
* Copyright (C) 2003 - 2007 Paul Mundt
|
||||
* Copyright (C) 2004 Sean McGoogan
|
||||
*
|
||||
* This file contains the system call numbers.
|
||||
*
|
||||
*/
|
||||
|
||||
#define __NR_setup 0 /* used only by init, to get system going */
|
||||
#define __NR_restart_syscall 0
|
||||
#define __NR_exit 1
|
||||
#define __NR_fork 2
|
||||
#define __NR_read 3
|
||||
|
@ -196,8 +196,8 @@
|
|||
#define __NR_rt_sigtimedwait 177
|
||||
#define __NR_rt_sigqueueinfo 178
|
||||
#define __NR_rt_sigsuspend 179
|
||||
#define __NR_pread 180
|
||||
#define __NR_pwrite 181
|
||||
#define __NR_pread64 180
|
||||
#define __NR_pwrite64 181
|
||||
#define __NR_chown 182
|
||||
#define __NR_getcwd 183
|
||||
#define __NR_capget 184
|
||||
|
@ -343,10 +343,41 @@
|
|||
#define __NR_inotify_init 318
|
||||
#define __NR_inotify_add_watch 319
|
||||
#define __NR_inotify_rm_watch 320
|
||||
/* 321 is unused */
|
||||
#define __NR_migrate_pages 322
|
||||
#define __NR_openat 323
|
||||
#define __NR_mkdirat 324
|
||||
#define __NR_mknodat 325
|
||||
#define __NR_fchownat 326
|
||||
#define __NR_futimesat 327
|
||||
#define __NR_fstatat64 328
|
||||
#define __NR_unlinkat 329
|
||||
#define __NR_renameat 330
|
||||
#define __NR_linkat 331
|
||||
#define __NR_symlinkat 332
|
||||
#define __NR_readlinkat 333
|
||||
#define __NR_fchmodat 334
|
||||
#define __NR_faccessat 335
|
||||
#define __NR_pselect6 336
|
||||
#define __NR_ppoll 337
|
||||
#define __NR_unshare 338
|
||||
#define __NR_set_robust_list 339
|
||||
#define __NR_get_robust_list 340
|
||||
#define __NR_splice 341
|
||||
#define __NR_sync_file_range 342
|
||||
#define __NR_tee 343
|
||||
#define __NR_vmsplice 344
|
||||
#define __NR_move_pages 345
|
||||
#define __NR_getcpu 346
|
||||
#define __NR_epoll_pwait 347
|
||||
#define __NR_utimensat 348
|
||||
#define __NR_signalfd 349
|
||||
#define __NR_timerfd 350
|
||||
#define __NR_eventfd 351
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#define NR_syscalls 321
|
||||
#define NR_syscalls 352
|
||||
|
||||
#define __ARCH_WANT_IPC_PARSE_VERSION
|
||||
#define __ARCH_WANT_OLD_READDIR
|
||||
|
|
|
@ -166,5 +166,5 @@ config ZONE_DMA_FLAG
|
|||
config NR_QUICK
|
||||
int
|
||||
depends on QUICKLIST
|
||||
default "2" if SUPERH
|
||||
default "2" if (SUPERH && !SUPERH64)
|
||||
default "1"
|
||||
|
|
Loading…
Reference in New Issue