Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68f624fc authored by David Howells's avatar David Howells Committed by Linus Torvalds
Browse files

[PATCH] FRV: Miscellaneous fixes



Make various alterations and fixes to the FRV arch:

 (1) Resyncs the FRV system call collection with the i386 arch.

 (2) Discards __iounmap() as it's not used.

 (3) Fixes the use of the SWAP/SWAPI instruction to get the arguments the right
     way around in atomic.h, and also to get the asm constraints correct.

 (4) Moves copy_to/from_user_page() to asm/cacheflush.h to be consistent with
     other archs.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 06027bdd
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -1418,11 +1418,27 @@ sys_call_table:
	.long sys_add_key
	.long sys_request_key
	.long sys_keyctl
	.long sys_ni_syscall // sys_vperfctr_open
	.long sys_ni_syscall // sys_vperfctr_control	/* 290 */
	.long sys_ni_syscall // sys_vperfctr_unlink
	.long sys_ni_syscall // sys_vperfctr_iresume
	.long sys_ni_syscall // sys_vperfctr_read
	.long sys_ioprio_set
	.long sys_ioprio_get		/* 290 */
	.long sys_inotify_init
	.long sys_inotify_add_watch
	.long sys_inotify_rm_watch
	.long sys_migrate_pages
	.long sys_openat		/* 295 */
	.long sys_mkdirat
	.long sys_mknodat
	.long sys_fchownat
	.long sys_futimesat
	.long sys_newfstatat		/* 300 */
	.long sys_unlinkat
	.long sys_renameat
	.long sys_linkat
	.long sys_symlinkat
	.long sys_readlinkat		/* 305 */
	.long sys_fchmodat
	.long sys_faccessat
	.long sys_pselect6
	.long sys_ppoll


syscall_table_size = (. - sys_call_table)
+0 −9
Original line number Diff line number Diff line
@@ -43,15 +43,6 @@ void iounmap(void *addr)
{
}

/*
 * __iounmap unmaps nearly everything, so be careful
 * it doesn't free currently pointer/page tables anymore but it
 * wans't used anyway and might be added later.
 */
void __iounmap(void *addr, unsigned long size)
{
}

/*
 * Set new cache mode for some kernel address space.
 * The caller must push data for that range itself, if such data may already
+3 −3
Original line number Diff line number Diff line
@@ -220,9 +220,9 @@ extern unsigned long atomic_test_and_XOR_mask(unsigned long mask, volatile unsig
	switch (sizeof(__xg_orig)) {						\
	case 4:									\
		asm volatile(							\
			"swap%I0 %2,%M0"					\
			: "+m"(*__xg_ptr), "=&r"(__xg_orig)			\
			: "r"(x)						\
			"swap%I0 %M0,%1"					\
			: "+m"(*__xg_ptr), "=r"(__xg_orig)			\
			: "1"(x)						\
			: "memory"						\
			);							\
		break;								\
+12 −0
Original line number Diff line number Diff line
@@ -87,5 +87,17 @@ static inline void flush_icache_page(struct vm_area_struct *vma, struct page *pa
	flush_icache_user_range(vma, page, page_to_phys(page), PAGE_SIZE);
}

/*
 * permit ptrace to access another process's address space through the icache
 * and the dcache
 */
#define copy_to_user_page(vma, page, vaddr, dst, src, len)	\
do {								\
	memcpy((dst), (src), (len));				\
	flush_icache_user_range((vma), (page), (vaddr), (len));	\
} while(0)

#define copy_from_user_page(vma, page, vaddr, dst, src, len)	\
	memcpy((dst), (src), (len))

#endif /* _ASM_CACHEFLUSH_H */
+0 −1
Original line number Diff line number Diff line
@@ -251,7 +251,6 @@ static inline void writel(uint32_t datum, volatile void __iomem *addr)
#define IOMAP_WRITETHROUGH		3

extern void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag);
extern void __iounmap(void __iomem *addr, unsigned long size);

static inline void __iomem *ioremap(unsigned long physaddr, unsigned long size)
{
Loading