> -----Original Message----- > From: Jan Beulich <jbeul...@suse.com> > Sent: 20 November 2020 14:20 > To: Paul Durrant <p...@xen.org> > Cc: Durrant, Paul <pdurr...@amazon.co.uk>; Wei Liu <w...@xen.org>; Andrew > Cooper > <andrew.coop...@citrix.com>; Roger Pau Monné <roger....@citrix.com>; > xen-devel@lists.xenproject.org > Subject: RE: [EXTERNAL] [PATCH v2 01/12] viridian: don't blindly write to > 32-bit registers is 'mode' > is invalid > > CAUTION: This email originated from outside of the organization. Do not click > links or open > attachments unless you can confirm the sender and know the content is safe. > > > > On 20.11.2020 10:48, Paul Durrant wrote: > > From: Paul Durrant <pdurr...@amazon.com> > > > > If hvm_guest_x86_mode() returns something other than 8 or 4 then > > viridian_hypercall() will return immediately but, on the way out, will write > > back status as if 'mode' was 4. This patch simply makes it leave the > > registers > > alone. > > IOW 16-bit protected mode and real mode aren't allowed to make > hypercalls (supported also be the earlier switch() in the > function)?
I don't think running enlightened versions of OS/2 1.3 is really a use case :-) > But then, to achieve what you want, wouldn't it be > more direct to simply "return HVM_HCALL_completed;" straight > from that earlier switch()'s default case? At which point the > switch() you modify could become if/else? Anyway - you're the > maintainer, I'm just wondering ... > It could be done that way but I prefer the exit path via goto. Paul > Jan