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

Commit b8ef289d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] reset default for CONFIG_CHSC_SCH
  [S390] qdio: prevent compile warning under CONFIG_32BIT
  [S390] use asm-generic/cacheflush.h
  [S390] tlb: fix build error caused by THP
  [S390] missing sacf in uaccess
  [S390] pgtable_list corruption
  [S390] dasd: prevent panic with unresumed devices
parents d54cdc8c d9c11b1e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ config QDIO
	  If unsure, say Y.

config CHSC_SCH
	def_tristate y
	def_tristate m
	prompt "Support for CHSC subchannels"
	help
	  This driver allows usage of CHSC subchannels. A CHSC subchannel
+1 −22
Original line number Diff line number Diff line
#ifndef _S390_CACHEFLUSH_H
#define _S390_CACHEFLUSH_H

/* Keep includes the same across arches.  */
#include <linux/mm.h>

/* Caches aren't brain-dead on the s390. */
#define flush_cache_all()			do { } while (0)
#define flush_cache_mm(mm)			do { } while (0)
#define flush_cache_dup_mm(mm)			do { } while (0)
#define flush_cache_range(vma, start, end)	do { } while (0)
#define flush_cache_page(vma, vmaddr, pfn)	do { } while (0)
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 0
#define flush_dcache_page(page)			do { } while (0)
#define flush_dcache_mmap_lock(mapping)		do { } while (0)
#define flush_dcache_mmap_unlock(mapping)	do { } while (0)
#define flush_icache_range(start, end)		do { } while (0)
#define flush_icache_page(vma,pg)		do { } while (0)
#define flush_icache_user_range(vma,pg,adr,len)	do { } while (0)
#define flush_cache_vmap(start, end)		do { } while (0)
#define flush_cache_vunmap(start, end)		do { } while (0)

#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
	memcpy(dst, src, len)
#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
	memcpy(dst, src, len)
#include <asm-generic/cacheflush.h>

#ifdef CONFIG_DEBUG_PAGEALLOC
void kernel_map_pages(struct page *page, int numpages, int enable);
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
 */

#include <linux/mm.h>
#include <linux/pagemap.h>
#include <linux/swap.h>
#include <asm/processor.h>
#include <asm/pgalloc.h>
+4 −6
Original line number Diff line number Diff line
@@ -125,9 +125,9 @@ static size_t copy_in_user_std(size_t size, void __user *to,
	unsigned long tmp1;

	asm volatile(
		"   sacf  256\n"
		"  "AHI"  %0,-1\n"
		"   jo    5f\n"
		"   sacf  256\n"
		"   bras  %3,3f\n"
		"0:"AHI"  %0,257\n"
		"1: mvc   0(1,%1),0(%2)\n"
@@ -142,9 +142,8 @@ static size_t copy_in_user_std(size_t size, void __user *to,
		"3:"AHI"  %0,-256\n"
		"   jnm   2b\n"
		"4: ex    %0,1b-0b(%3)\n"
		"   sacf  0\n"
		"5: "SLR"  %0,%0\n"
		"6:\n"
		"6: sacf  0\n"
		EX_TABLE(1b,6b) EX_TABLE(2b,0b) EX_TABLE(4b,0b)
		: "+a" (size), "+a" (to), "+a" (from), "=a" (tmp1)
		: : "cc", "memory");
@@ -156,9 +155,9 @@ static size_t clear_user_std(size_t size, void __user *to)
	unsigned long tmp1, tmp2;

	asm volatile(
		"   sacf  256\n"
		"  "AHI"  %0,-1\n"
		"   jo    5f\n"
		"   sacf  256\n"
		"   bras  %3,3f\n"
		"   xc    0(1,%1),0(%1)\n"
		"0:"AHI"  %0,257\n"
@@ -178,9 +177,8 @@ static size_t clear_user_std(size_t size, void __user *to)
		"3:"AHI"  %0,-256\n"
		"   jnm   2b\n"
		"4: ex    %0,0(%3)\n"
		"   sacf  0\n"
		"5: "SLR"  %0,%0\n"
		"6:\n"
		"6: sacf  0\n"
		EX_TABLE(1b,6b) EX_TABLE(2b,0b) EX_TABLE(4b,0b)
		: "+a" (size), "+a" (to), "=a" (tmp1), "=a" (tmp2)
		: : "cc", "memory");
+2 −1
Original line number Diff line number Diff line
@@ -336,6 +336,7 @@ void page_table_free(struct mm_struct *mm, unsigned long *table)
	page->flags ^= bits;
	if (page->flags & FRAG_MASK) {
		/* Page now has some free pgtable fragments. */
		if (!list_empty(&page->lru))
			list_move(&page->lru, &mm->context.pgtable_list);
		page = NULL;
	} else
Loading