diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2019-04-01 13:11:04 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2019-04-10 11:47:22 -0400 |
commit | db9492cef45efc347beed7b617dfdfac399f662b (patch) | |
tree | 46ef6019d8dc54a74a021a68b288537725b294a9 /arch/s390/boot | |
parent | 5abb9351dfd937d43193f4d09af9c72bfe2c4180 (diff) |
s390/protvirt: add memory sharing for diag 308 set/store
Add sharing of ipl parameter block for diag 308 set/store calls to allow
kvm access in protected virtualization environment.
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/boot')
-rw-r--r-- | arch/s390/boot/ipl_parm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/boot/ipl_parm.c b/arch/s390/boot/ipl_parm.c index dc0438d08751..385d0c7a9635 100644 --- a/arch/s390/boot/ipl_parm.c +++ b/arch/s390/boot/ipl_parm.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <asm/sections.h> | 7 | #include <asm/sections.h> |
8 | #include <asm/boot_data.h> | 8 | #include <asm/boot_data.h> |
9 | #include <asm/facility.h> | 9 | #include <asm/facility.h> |
10 | #include <asm/uv.h> | ||
10 | #include "boot.h" | 11 | #include "boot.h" |
11 | 12 | ||
12 | char __bootdata(early_command_line)[COMMAND_LINE_SIZE]; | 13 | char __bootdata(early_command_line)[COMMAND_LINE_SIZE]; |
@@ -45,7 +46,9 @@ void store_ipl_parmblock(void) | |||
45 | { | 46 | { |
46 | int rc; | 47 | int rc; |
47 | 48 | ||
49 | uv_set_shared(__pa(&ipl_block)); | ||
48 | rc = __diag308(DIAG308_STORE, &ipl_block); | 50 | rc = __diag308(DIAG308_STORE, &ipl_block); |
51 | uv_remove_shared(__pa(&ipl_block)); | ||
49 | if (rc == DIAG308_RC_OK && | 52 | if (rc == DIAG308_RC_OK && |
50 | ipl_block.hdr.version <= IPL_MAX_SUPPORTED_VERSION) | 53 | ipl_block.hdr.version <= IPL_MAX_SUPPORTED_VERSION) |
51 | ipl_block_valid = 1; | 54 | ipl_block_valid = 1; |