diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2013-05-27 04:42:04 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-06-26 15:10:04 -0400 |
commit | 24d5dd0208ed1cd3ef6bf30a50b347ef366f21ac (patch) | |
tree | 14d46de484f1297ce965e8b95a63ae167729a2fd /arch/s390/include/asm/pgalloc.h | |
parent | 25b41a7b67ee4f4d12cee8a4b8b5929e36c27e29 (diff) |
s390/kvm: Provide function for setting the guest storage key
From time to time we need to set the guest storage key. Lets
provide a helper function that handles the changes with all the
right locking and checking.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/pgalloc.h')
-rw-r--r-- | arch/s390/include/asm/pgalloc.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/include/asm/pgalloc.h b/arch/s390/include/asm/pgalloc.h index 590c3219c634..e1408ddb94f8 100644 --- a/arch/s390/include/asm/pgalloc.h +++ b/arch/s390/include/asm/pgalloc.h | |||
@@ -22,6 +22,9 @@ unsigned long *page_table_alloc(struct mm_struct *, unsigned long); | |||
22 | void page_table_free(struct mm_struct *, unsigned long *); | 22 | void page_table_free(struct mm_struct *, unsigned long *); |
23 | void page_table_free_rcu(struct mmu_gather *, unsigned long *); | 23 | void page_table_free_rcu(struct mmu_gather *, unsigned long *); |
24 | 24 | ||
25 | int set_guest_storage_key(struct mm_struct *mm, unsigned long addr, | ||
26 | unsigned long key, bool nq); | ||
27 | |||
25 | static inline void clear_table(unsigned long *s, unsigned long val, size_t n) | 28 | static inline void clear_table(unsigned long *s, unsigned long val, size_t n) |
26 | { | 29 | { |
27 | typedef struct { char _[n]; } addrtype; | 30 | typedef struct { char _[n]; } addrtype; |