diff options
Diffstat (limited to 'arch/sparc')
| -rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
| -rw-r--r-- | arch/sparc/Makefile | 3 | ||||
| -rwxr-xr-x[-rw-r--r--] | arch/sparc/boot/install.sh | 22 | ||||
| -rw-r--r-- | arch/sparc/include/asm/hugetlb.h | 5 | ||||
| -rw-r--r-- | arch/sparc/include/asm/mman.h | 6 | ||||
| -rw-r--r-- | arch/sparc/include/uapi/asm/stat.h | 12 | ||||
| -rw-r--r-- | arch/sparc/mm/init_64.c | 12 | 
7 files changed, 23 insertions, 38 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 9200bc04701c..85b573643af6 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -84,6 +84,7 @@ config SPARC64  	select PERF_USE_VMALLOC  	select ARCH_HAVE_NMI_SAFE_CMPXCHG  	select HAVE_C_RECORDMCOUNT +	select ARCH_HAS_VM_GET_PAGE_PROT  	select HAVE_ARCH_AUDITSYSCALL  	select ARCH_SUPPORTS_ATOMIC_RMW  	select ARCH_SUPPORTS_DEBUG_PAGEALLOC diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index c7008bbebc4c..fe58a410b4ce 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile @@ -72,8 +72,7 @@ image zImage uImage tftpboot.img vmlinux.aout: vmlinux  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@  install: -	sh $(srctree)/$(boot)/install.sh $(KERNELRELEASE) $(KBUILD_IMAGE) \ -		System.map "$(INSTALL_PATH)" +	$(call cmd,install)  archheaders:  	$(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all diff --git a/arch/sparc/boot/install.sh b/arch/sparc/boot/install.sh index b32851eae693..4f130f3f30d6 100644..100755 --- a/arch/sparc/boot/install.sh +++ b/arch/sparc/boot/install.sh @@ -15,28 +15,6 @@  #   $2 - kernel image file  #   $3 - kernel map file  #   $4 - default install path (blank if root directory) -# - -verify () { -	if [ ! -f "$1" ]; then -		echo ""                                                   1>&2 -		echo " *** Missing file: $1"                              1>&2 -		echo ' *** You need to run "make" before "make install".' 1>&2 -		echo ""                                                   1>&2 -		exit 1 -	fi -} - -# Make sure the files actually exist -verify "$2" -verify "$3" - -# User may have a custom install script - -if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi -if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi - -# Default install - same as make zlilo  if [ -f $4/vmlinuz ]; then  	mv $4/vmlinuz $4/vmlinuz.old diff --git a/arch/sparc/include/asm/hugetlb.h b/arch/sparc/include/asm/hugetlb.h index 53838a173f62..0a26cca24232 100644 --- a/arch/sparc/include/asm/hugetlb.h +++ b/arch/sparc/include/asm/hugetlb.h @@ -21,9 +21,10 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,  			      pte_t *ptep);  #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH -static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, -					 unsigned long addr, pte_t *ptep) +static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, +					  unsigned long addr, pte_t *ptep)  { +	return *ptep;  }  #define __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT diff --git a/arch/sparc/include/asm/mman.h b/arch/sparc/include/asm/mman.h index 274217e7ed70..af9c10c83dc5 100644 --- a/arch/sparc/include/asm/mman.h +++ b/arch/sparc/include/asm/mman.h @@ -46,12 +46,6 @@ static inline unsigned long sparc_calc_vm_prot_bits(unsigned long prot)  	}  } -#define arch_vm_get_page_prot(vm_flags) sparc_vm_get_page_prot(vm_flags) -static inline pgprot_t sparc_vm_get_page_prot(unsigned long vm_flags) -{ -	return (vm_flags & VM_SPARC_ADI) ? __pgprot(_PAGE_MCD_4V) : __pgprot(0); -} -  #define arch_validate_prot(prot, addr) sparc_validate_prot(prot, addr)  static inline int sparc_validate_prot(unsigned long prot, unsigned long addr)  { diff --git a/arch/sparc/include/uapi/asm/stat.h b/arch/sparc/include/uapi/asm/stat.h index 732c41720e24..e03d6f8ec301 100644 --- a/arch/sparc/include/uapi/asm/stat.h +++ b/arch/sparc/include/uapi/asm/stat.h @@ -8,11 +8,11 @@  /* 64 bit sparc */  struct stat {  	unsigned int st_dev; -	ino_t   st_ino; -	mode_t  st_mode; +	__kernel_ino_t st_ino; +	__kernel_mode_t st_mode;  	short   st_nlink; -	uid_t   st_uid; -	gid_t   st_gid; +	__kernel_uid_t st_uid; +	__kernel_gid_t st_gid;  	unsigned int st_rdev;  	long    st_size;  	long    st_atime; @@ -51,8 +51,8 @@ struct stat64 {  /* 32 bit sparc */  struct stat {  	unsigned short	st_dev; -	ino_t		st_ino; -	mode_t		st_mode; +	__kernel_ino_t	st_ino; +	__kernel_mode_t	st_mode;  	short		st_nlink;  	unsigned short	st_uid;  	unsigned short	st_gid; diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 8b1911591581..f6174df2d5af 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c @@ -3184,3 +3184,15 @@ void copy_highpage(struct page *to, struct page *from)  	}  }  EXPORT_SYMBOL(copy_highpage); + +pgprot_t vm_get_page_prot(unsigned long vm_flags) +{ +	unsigned long prot = pgprot_val(protection_map[vm_flags & +					(VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]); + +	if (vm_flags & VM_SPARC_ADI) +		prot |= _PAGE_MCD_4V; + +	return __pgprot(prot); +} +EXPORT_SYMBOL(vm_get_page_prot);  | 
