diff options
Diffstat (limited to 'arch/microblaze')
| -rw-r--r-- | arch/microblaze/configs/mmu_defconfig | 52 | ||||
| -rw-r--r-- | arch/microblaze/configs/nommu_defconfig | 73 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/highmem.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/uaccess.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/unistd.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/uapi/asm/unistd.h | 3 | ||||
| -rw-r--r-- | arch/microblaze/kernel/syscall_table.S | 1 | ||||
| -rw-r--r-- | arch/microblaze/pci/pci-common.c | 39 | 
8 files changed, 104 insertions, 70 deletions
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index b3f5eecff2a..d2b097a652d 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_defconfig @@ -1,25 +1,22 @@  CONFIG_EXPERIMENTAL=y  CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_FHANDLE=y +CONFIG_AUDIT=y +CONFIG_AUDIT_LOGINUID_IMMUTABLE=y  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="rootfs.cpio" -CONFIG_INITRAMFS_COMPRESSION_GZIP=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y  CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS_EXTRA_PASS=y -# CONFIG_HOTPLUG is not set  # CONFIG_BASE_FULL is not set -# CONFIG_FUTEX is not set -# CONFIG_EPOLL is not set -# CONFIG_SIGNALFD is not set -# CONFIG_SHMEM is not set +CONFIG_EMBEDDED=y  CONFIG_SLAB=y  CONFIG_MODULES=y  CONFIG_MODULE_UNLOAD=y  # CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set  CONFIG_OPT_LIB_ASM=y  CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1  CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 @@ -31,39 +28,62 @@ CONFIG_HZ_100=y  CONFIG_MMU=y  CONFIG_CMDLINE_BOOL=y  CONFIG_CMDLINE_FORCE=y +CONFIG_HIGHMEM=y +CONFIG_PCI=y +CONFIG_PCI_XILINX=y  CONFIG_NET=y  CONFIG_PACKET=y  CONFIG_UNIX=y  CONFIG_INET=y  # CONFIG_INET_LRO is not set  # CONFIG_IPV6 is not set +CONFIG_MTD=y  CONFIG_PROC_DEVICETREE=y  CONFIG_BLK_DEV_RAM=y  CONFIG_BLK_DEV_RAM_SIZE=8192  CONFIG_NETDEVICES=y -CONFIG_NET_ETHERNET=y  CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_LL_TEMAC=y  # CONFIG_INPUT is not set  # CONFIG_SERIO is not set  # CONFIG_VT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y  CONFIG_SERIAL_UARTLITE=y  CONFIG_SERIAL_UARTLITE_CONSOLE=y  # CONFIG_HW_RANDOM is not set +CONFIG_XILINX_HWICAP=y +CONFIG_I2C=y +CONFIG_I2C_XILINX=y +CONFIG_SPI=y +CONFIG_SPI_XILINX=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_XILINX=y  # CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_XILINX_WATCHDOG=y +CONFIG_FB=y +CONFIG_FB_XILINX=y  # CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y  CONFIG_EXT2_FS=y  # CONFIG_DNOTIFY is not set +CONFIG_CRAMFS=y +CONFIG_ROMFS_FS=y  CONFIG_NFS_FS=y -CONFIG_NFS_V3=y  CONFIG_CIFS=y  CONFIG_CIFS_STATS=y  CONFIG_CIFS_STATS2=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_DEBUG_KERNEL=y  CONFIG_DETECT_HUNG_TASK=y  CONFIG_DEBUG_SLAB=y  CONFIG_DEBUG_SPINLOCK=y  CONFIG_DEBUG_INFO=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set  CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index 0249e4b7e1d..10b5172283d 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig @@ -1,41 +1,42 @@  CONFIG_EXPERIMENTAL=y  CONFIG_SYSVIPC=y  CONFIG_POSIX_MQUEUE=y +CONFIG_FHANDLE=y +CONFIG_AUDIT=y +CONFIG_AUDIT_LOGINUID_IMMUTABLE=y  CONFIG_BSD_PROCESS_ACCT=y  CONFIG_BSD_PROCESS_ACCT_V3=y  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y  CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS_EXTRA_PASS=y -# CONFIG_HOTPLUG is not set  # CONFIG_BASE_FULL is not set +CONFIG_EMBEDDED=y  CONFIG_SLAB=y  CONFIG_MODULES=y  CONFIG_MODULE_UNLOAD=y  # CONFIG_BLK_DEV_BSG is not set -# CONFIG_OPT_LIB_FUNCTION is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set  CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1  CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1  CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1  CONFIG_XILINX_MICROBLAZE0_USE_DIV=1  CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2  CONFIG_XILINX_MICROBLAZE0_USE_FPU=2 -CONFIG_HIGH_RES_TIMERS=y  CONFIG_HZ_100=y  CONFIG_CMDLINE_BOOL=y -CONFIG_BINFMT_FLAT=y +CONFIG_CMDLINE_FORCE=y +CONFIG_PCI=y +CONFIG_PCI_XILINX=y  CONFIG_NET=y  CONFIG_PACKET=y  CONFIG_UNIX=y  CONFIG_INET=y  # CONFIG_INET_LRO is not set  # CONFIG_IPV6 is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set  CONFIG_MTD=y -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CMDLINE_PARTS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y @@ -45,41 +46,55 @@ CONFIG_MTD_CFI_AMDSTD=y  CONFIG_MTD_RAM=y  CONFIG_MTD_UCLINUX=y  CONFIG_PROC_DEVICETREE=y -CONFIG_BLK_DEV_NBD=y  CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192  CONFIG_NETDEVICES=y -CONFIG_NET_ETHERNET=y +CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_LL_TEMAC=y  # CONFIG_INPUT is not set  # CONFIG_SERIO is not set  # CONFIG_VT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y  CONFIG_SERIAL_UARTLITE=y  CONFIG_SERIAL_UARTLITE_CONSOLE=y -CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM is not set +CONFIG_XILINX_HWICAP=y +CONFIG_I2C=y +CONFIG_I2C_XILINX=y +CONFIG_SPI=y +CONFIG_SPI_XILINX=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_XILINX=y  # CONFIG_HWMON is not set -CONFIG_VIDEO_OUTPUT_CONTROL=y +CONFIG_WATCHDOG=y +CONFIG_XILINX_WATCHDOG=y +CONFIG_FB=y +CONFIG_FB_XILINX=y +# CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y  CONFIG_EXT2_FS=y  # CONFIG_DNOTIFY is not set  CONFIG_CRAMFS=y  CONFIG_ROMFS_FS=y  CONFIG_NFS_FS=y -CONFIG_NFS_V3=y  CONFIG_NFS_V3_ACL=y -CONFIG_UNUSED_SYMBOLS=y -CONFIG_DEBUG_FS=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_SHIRQ=y +CONFIG_NLS=y  CONFIG_DETECT_HUNG_TASK=y -CONFIG_SCHEDSTATS=y -CONFIG_TIMER_STATS=y -CONFIG_DEBUG_OBJECTS=y -CONFIG_DEBUG_OBJECTS_SELFTEST=y -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_SLAB=y +CONFIG_DEBUG_SPINLOCK=y  CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_LIST=y -CONFIG_DEBUG_SG=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y  CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_ARC4=y +CONFIG_CRYPTO_DES=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRC32 is not set diff --git a/arch/microblaze/include/asm/highmem.h b/arch/microblaze/include/asm/highmem.h index 2446a73140a..d0463893243 100644 --- a/arch/microblaze/include/asm/highmem.h +++ b/arch/microblaze/include/asm/highmem.h @@ -71,7 +71,7 @@ static inline void kunmap(struct page *page)  	kunmap_high(page);  } -static inline void *__kmap_atomic(struct page *page) +static inline void *kmap_atomic(struct page *page)  {  	return kmap_atomic_prot(page, kmap_prot);  } diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index 927540d3cb7..a1ab5f0009e 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h @@ -108,7 +108,7 @@ static inline int ___range_ok(unsigned long addr, unsigned long size)  # define __EX_TABLE_SECTION	".section __ex_table,\"a\"\n"  #else  # define __FIXUP_SECTION	".section .discard,\"ax\"\n" -# define __EX_TABLE_SECTION	".section .discard,\"a\"\n" +# define __EX_TABLE_SECTION	".section .discard,\"ax\"\n"  #endif  extern unsigned long __copy_tofrom_user(void __user *to, diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h index a5f06ac9711..10f8ac18685 100644 --- a/arch/microblaze/include/asm/unistd.h +++ b/arch/microblaze/include/asm/unistd.h @@ -37,9 +37,7 @@  #define __ARCH_WANT_SYS_RT_SIGSUSPEND  #define __ARCH_WANT_SYS_CLONE  #define __ARCH_WANT_SYS_VFORK -#ifdef CONFIG_MMU  #define __ARCH_WANT_SYS_FORK -#endif  /*   * "Conditional" syscalls diff --git a/arch/microblaze/include/uapi/asm/unistd.h b/arch/microblaze/include/uapi/asm/unistd.h index ccb6920f3b3..5f7fe7582f3 100644 --- a/arch/microblaze/include/uapi/asm/unistd.h +++ b/arch/microblaze/include/uapi/asm/unistd.h @@ -395,7 +395,8 @@  #define __NR_process_vm_readv	377  #define __NR_process_vm_writev	378  #define __NR_kcmp		379 +#define __NR_finit_module	380 -#define __NR_syscalls		380 +#define __NR_syscalls		381  #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ diff --git a/arch/microblaze/kernel/syscall_table.S b/arch/microblaze/kernel/syscall_table.S index 1cbace29b5e..4fca56cf02f 100644 --- a/arch/microblaze/kernel/syscall_table.S +++ b/arch/microblaze/kernel/syscall_table.S @@ -380,3 +380,4 @@ ENTRY(sys_call_table)  	.long sys_process_vm_readv  	.long sys_process_vm_writev  	.long sys_kcmp +	.long sys_finit_module diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c index a1c5b996d66..96416553cb3 100644 --- a/arch/microblaze/pci/pci-common.c +++ b/arch/microblaze/pci/pci-common.c @@ -287,7 +287,7 @@ static struct resource *__pci_mmap_make_offset(struct pci_dev *dev,  	unsigned long io_offset = 0;  	int i, res_bit; -	if (hose == 0) +	if (!hose)  		return NULL;		/* should never happen */  	/* If memory, add on the PCI bridge address offset */ @@ -655,9 +655,8 @@ void pci_resource_to_user(const struct pci_dev *dev, int bar,   *   - Some 32 bits platforms such as 4xx can have physical space larger than   *     32 bits so we need to use 64 bits values for the parsing   */ -void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose, -					    struct device_node *dev, -					    int primary) +void pci_process_bridge_OF_ranges(struct pci_controller *hose, +				  struct device_node *dev, int primary)  {  	const u32 *ranges;  	int rlen; @@ -822,15 +821,13 @@ void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose,  /* Decide whether to display the domain number in /proc */  int pci_proc_domain(struct pci_bus *bus)  { -	struct pci_controller *hose = pci_bus_to_host(bus); -  	return 0;  }  /* This header fixup will do the resource fixup for all devices as they are   * probed, but not for bridge ranges   */ -static void __devinit pcibios_fixup_resources(struct pci_dev *dev) +static void pcibios_fixup_resources(struct pci_dev *dev)  {  	struct pci_controller *hose = pci_bus_to_host(dev->bus);  	int i; @@ -871,8 +868,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_fixup_resources);   * things go more smoothly when it gets it right. It should covers cases such   * as Apple "closed" bridge resources and bare-metal pSeries unassigned bridges   */ -static int __devinit pcibios_uninitialized_bridge_resource(struct pci_bus *bus, -							   struct resource *res) +static int pcibios_uninitialized_bridge_resource(struct pci_bus *bus, +						 struct resource *res)  {  	struct pci_controller *hose = pci_bus_to_host(bus);  	struct pci_dev *dev = bus->self; @@ -933,7 +930,7 @@ static int __devinit pcibios_uninitialized_bridge_resource(struct pci_bus *bus,  }  /* Fixup resources of a PCI<->PCI bridge */ -static void __devinit pcibios_fixup_bridge(struct pci_bus *bus) +static void pcibios_fixup_bridge(struct pci_bus *bus)  {  	struct resource *res;  	int i; @@ -970,14 +967,14 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus)  	}  } -void __devinit pcibios_setup_bus_self(struct pci_bus *bus) +void pcibios_setup_bus_self(struct pci_bus *bus)  {  	/* Fix up the bus resources for P2P bridges */  	if (bus->self != NULL)  		pcibios_fixup_bridge(bus);  } -void __devinit pcibios_setup_bus_devices(struct pci_bus *bus) +void pcibios_setup_bus_devices(struct pci_bus *bus)  {  	struct pci_dev *dev; @@ -1002,7 +999,7 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus)  	}  } -void __devinit pcibios_fixup_bus(struct pci_bus *bus) +void pcibios_fixup_bus(struct pci_bus *bus)  {  	/* When called from the generic PCI probe, read PCI<->PCI bridge  	 * bases. This is -not- called when generating the PCI tree from @@ -1124,7 +1121,7 @@ static int __init reparent_resources(struct resource *parent,   *	    as well.   */ -void pcibios_allocate_bus_resources(struct pci_bus *bus) +static void pcibios_allocate_bus_resources(struct pci_bus *bus)  {  	struct pci_bus *b;  	int i; @@ -1179,7 +1176,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus)  		}  		printk(KERN_WARNING "PCI: Cannot allocate resource region "  		       "%d of PCI bridge %d, will remap\n", i, bus->number); -clear_resource: +  		res->start = res->end = 0;  		res->flags = 0;  	} @@ -1188,7 +1185,7 @@ clear_resource:  		pcibios_allocate_bus_resources(b);  } -static inline void __devinit alloc_resource(struct pci_dev *dev, int idx) +static inline void alloc_resource(struct pci_dev *dev, int idx)  {  	struct resource *pr, *r = &dev->resource[idx]; @@ -1351,7 +1348,7 @@ void __init pcibios_resource_survey(void)   * rest of the code later, for now, keep it as-is as our main   * resource allocation function doesn't deal with sub-trees yet.   */ -void __devinit pcibios_claim_one_bus(struct pci_bus *bus) +void pcibios_claim_one_bus(struct pci_bus *bus)  {  	struct pci_dev *dev;  	struct pci_bus *child_bus; @@ -1410,7 +1407,8 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)  	return pci_enable_resources(dev, mask);  } -static void __devinit pcibios_setup_phb_resources(struct pci_controller *hose, struct list_head *resources) +static void pcibios_setup_phb_resources(struct pci_controller *hose, +					struct list_head *resources)  {  	unsigned long io_offset;  	struct resource *res; @@ -1433,7 +1431,8 @@ static void __devinit pcibios_setup_phb_resources(struct pci_controller *hose, s  		res->end = res->start + IO_SPACE_LIMIT;  		res->flags = IORESOURCE_IO;  	} -	pci_add_resource_offset(resources, res, hose->io_base_virt - _IO_BASE); +	pci_add_resource_offset(resources, res, +		(__force resource_size_t)(hose->io_base_virt - _IO_BASE));  	pr_debug("PCI: PHB IO resource    = %016llx-%016llx [%lx]\n",  		 (unsigned long long)res->start, @@ -1477,7 +1476,7 @@ struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)  	return of_node_get(hose->dn);  } -static void __devinit pcibios_scan_phb(struct pci_controller *hose) +static void pcibios_scan_phb(struct pci_controller *hose)  {  	LIST_HEAD(resources);  	struct pci_bus *bus;  |