From 26a143ea426114ff90b861a9f9d8cc323ef278ac Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 9 Aug 2010 17:18:28 -0700 Subject: [PATCH] --- yaml --- r: 207193 b: refs/heads/master c: a1b200e27c0426ea98c1231a2b78c6094eb073e4 h: refs/heads/master i: 207191: a9285ff48f57e788957e03b41d9a877bfdb76daf v: v3 --- [refs] | 2 +- trunk/arch/s390/include/asm/mmu.h | 5 +++++ trunk/arch/s390/mm/vmem.c | 4 ---- trunk/mm/init-mm.c | 6 ++++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a76885aa0ff2..47922fdcfe39 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e7d86340793e7162126926ec9d226c68f4e37f94 +refs/heads/master: a1b200e27c0426ea98c1231a2b78c6094eb073e4 diff --git a/trunk/arch/s390/include/asm/mmu.h b/trunk/arch/s390/include/asm/mmu.h index 03be99919d62..99e3409102b9 100644 --- a/trunk/arch/s390/include/asm/mmu.h +++ b/trunk/arch/s390/include/asm/mmu.h @@ -13,4 +13,9 @@ typedef struct { int alloc_pgste; /* cloned contexts will have extended page tables */ } mm_context_t; +#define INIT_MM_CONTEXT(name) \ + .context.list_lock = __SPIN_LOCK_UNLOCKED(name.context.list_lock), \ + .context.crst_list = LIST_HEAD_INIT(name.context.crst_list), \ + .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), + #endif diff --git a/trunk/arch/s390/mm/vmem.c b/trunk/arch/s390/mm/vmem.c index 90165e7ca04e..34c43f23b28c 100644 --- a/trunk/arch/s390/mm/vmem.c +++ b/trunk/arch/s390/mm/vmem.c @@ -332,10 +332,6 @@ void __init vmem_map_init(void) unsigned long start, end; int i; - spin_lock_init(&init_mm.context.list_lock); - INIT_LIST_HEAD(&init_mm.context.crst_list); - INIT_LIST_HEAD(&init_mm.context.pgtable_list); - init_mm.context.noexec = 0; ro_start = ((unsigned long)&_stext) & PAGE_MASK; ro_end = PFN_ALIGN((unsigned long)&_eshared); for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) { diff --git a/trunk/mm/init-mm.c b/trunk/mm/init-mm.c index 57aba0da9668..1d29cdfe8ebb 100644 --- a/trunk/mm/init-mm.c +++ b/trunk/mm/init-mm.c @@ -7,6 +7,11 @@ #include #include +#include + +#ifndef INIT_MM_CONTEXT +#define INIT_MM_CONTEXT(name) +#endif struct mm_struct init_mm = { .mm_rb = RB_ROOT, @@ -17,4 +22,5 @@ struct mm_struct init_mm = { .page_table_lock = __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock), .mmlist = LIST_HEAD_INIT(init_mm.mmlist), .cpu_vm_mask = CPU_MASK_ALL, + INIT_MM_CONTEXT(init_mm) };