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

Commit 82231646 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull parisc updates from Helge Deller:
 - revert parts of the latest patch regarding font selection with STICON
   console
 - wire up the utimes() syscall for parisc
 - remove the unused parisc tmpalias code and unnecessary arch*relax
   defines

* 'parisc-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: locks: remove redundant arch_*_relax operations
  parisc: wire up sys_utimes
  parisc: Remove unused CONFIG_PARISC_TMPALIAS code
  partly revert commit 8a10bc9d: parisc/sti_console: prefer Linux fonts over built-in ROM fonts
parents 56f1f4b2 a34fe107
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -32,17 +32,6 @@ void copy_page_asm(void *to, void *from);
void copy_user_page(void *vto, void *vfrom, unsigned long vaddr,
			struct page *pg);

/* #define CONFIG_PARISC_TMPALIAS */

#ifdef CONFIG_PARISC_TMPALIAS
void clear_user_highpage(struct page *page, unsigned long vaddr);
#define clear_user_highpage clear_user_highpage
struct vm_area_struct;
void copy_user_highpage(struct page *to, struct page *from,
	unsigned long vaddr, struct vm_area_struct *vma);
#define __HAVE_ARCH_COPY_USER_HIGHPAGE
#endif

/*
 * These are used to make use of C type-checking..
 */
+0 −4
Original line number Diff line number Diff line
@@ -191,8 +191,4 @@ static __inline__ int arch_write_can_lock(arch_rwlock_t *rw)
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)

#define arch_spin_relax(lock)	cpu_relax()
#define arch_read_relax(lock)	cpu_relax()
#define arch_write_relax(lock)	cpu_relax()

#endif /* __ASM_SPINLOCK_H */
+2 −2
Original line number Diff line number Diff line
@@ -828,13 +828,13 @@
#define __NR_finit_module	(__NR_Linux + 333)
#define __NR_sched_setattr	(__NR_Linux + 334)
#define __NR_sched_getattr	(__NR_Linux + 335)
#define __NR_utimes		(__NR_Linux + 336)

#define __NR_Linux_syscalls	(__NR_sched_getattr + 1)
#define __NR_Linux_syscalls	(__NR_utimes + 1)


#define __IGNORE_select		/* newselect */
#define __IGNORE_fadvise64	/* fadvise64_64 */
#define __IGNORE_utimes		/* utime */


#define HPUX_GATEWAY_ADDR       0xC0000004
+0 −64
Original line number Diff line number Diff line
@@ -581,67 +581,3 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long
		__flush_cache_page(vma, vmaddr, PFN_PHYS(pfn));
	}
}

#ifdef CONFIG_PARISC_TMPALIAS

void clear_user_highpage(struct page *page, unsigned long vaddr)
{
	void *vto;
	unsigned long flags;

	/* Clear using TMPALIAS region.  The page doesn't need to
	   be flushed but the kernel mapping needs to be purged.  */

	vto = kmap_atomic(page);

	/* The PA-RISC 2.0 Architecture book states on page F-6:
	   "Before a write-capable translation is enabled, *all*
	   non-equivalently-aliased translations must be removed
	   from the page table and purged from the TLB.  (Note
	   that the caches are not required to be flushed at this
	   time.)  Before any non-equivalent aliased translation
	   is re-enabled, the virtual address range for the writeable
	   page (the entire page) must be flushed from the cache,
	   and the write-capable translation removed from the page
	   table and purged from the TLB."  */

	purge_kernel_dcache_page_asm((unsigned long)vto);
	purge_tlb_start(flags);
	pdtlb_kernel(vto);
	purge_tlb_end(flags);
	preempt_disable();
	clear_user_page_asm(vto, vaddr);
	preempt_enable();

	pagefault_enable();		/* kunmap_atomic(addr, KM_USER0); */
}

void copy_user_highpage(struct page *to, struct page *from,
	unsigned long vaddr, struct vm_area_struct *vma)
{
	void *vfrom, *vto;
	unsigned long flags;

	/* Copy using TMPALIAS region.  This has the advantage
	   that the `from' page doesn't need to be flushed.  However,
	   the `to' page must be flushed in copy_user_page_asm since
	   it can be used to bring in executable code.  */

	vfrom = kmap_atomic(from);
	vto = kmap_atomic(to);

	purge_kernel_dcache_page_asm((unsigned long)vto);
	purge_tlb_start(flags);
	pdtlb_kernel(vto);
	pdtlb_kernel(vfrom);
	purge_tlb_end(flags);
	preempt_disable();
	copy_user_page_asm(vto, vfrom, vaddr);
	flush_dcache_page_asm(__pa(vto), vaddr);
	preempt_enable();

	pagefault_enable();		/* kunmap_atomic(addr, KM_USER1); */
	pagefault_enable();		/* kunmap_atomic(addr, KM_USER0); */
}

#endif /* CONFIG_PARISC_TMPALIAS */
+1 −0
Original line number Diff line number Diff line
@@ -431,6 +431,7 @@
	ENTRY_SAME(finit_module)
	ENTRY_SAME(sched_setattr)
	ENTRY_SAME(sched_getattr)	/* 335 */
	ENTRY_COMP(utimes)

	/* Nothing yet */

Loading