On Fri, 29 Nov 2019 15:08:58 +0100 Janosch Frank <fran...@linux.ibm.com> wrote:
> On 11/29/19 1:40 PM, Thomas Huth wrote: > > On 29/11/2019 10.47, Janosch Frank wrote: > > [...] > >> Subcodes 8-10 are not valid in protected mode, we have to do a subcode > >> 3 and then the 8 and 10 combination for a protected reboot. > > > > So if 8-10 are not valid in protected mode... > > > >> @@ -59,6 +61,9 @@ int handle_diag_288(CPUS390XState *env, uint64_t r1, > >> uint64_t r3) > >> #define DIAG308_LOAD_NORMAL_DUMP 4 > >> #define DIAG308_SET 5 > >> #define DIAG308_STORE 6 > >> +#define DIAG308_PV_SET 8 > >> +#define DIAG308_PV_STORE 9 > >> +#define DIAG308_PV_START 10 > >> > >> static int diag308_parm_check(CPUS390XState *env, uint64_t r1, uint64_t > >> addr, > >> uintptr_t ra, bool write) > >> @@ -105,6 +110,7 @@ void handle_diag_308(CPUS390XState *env, uint64_t r1, > >> uint64_t r3, uintptr_t ra) > >> s390_ipl_reset_request(cs, S390_RESET_REIPL); > >> break; > >> case DIAG308_SET: > >> + case DIAG308_PV_SET: > > > > ... should you maybe add a check here (and the other cases) to make sure > > that the guest is currently not running in PV mode? Or is this taken > > care of by the Ultravisor already? > > The Ultravisor takes care of that. I'm wondering whether we should add some asserts. If the uv is broken, we're hosed anyway; but it might make the code flow more obvious?
pgpyopa4GBzcY.pgp
Description: OpenPGP digital signature