On Tue, Jun 18, 2019 at 06:47:01AM -0500, Segher Boessenkool wrote:
Hi Paul,
On Mon, Jun 17, 2019 at 12:06:32PM +1000, Paul Mackerras wrote:
quoted
The thing we need to consider is that when SMFCTRL[E] = 0, a ucall
instruction becomes a hcall (that is, sc 2 is executed as if it was
sc 1). In that case, the first argument to the ucall will be
interpreted as the hcall number. Mostly that will happen not to be a
valid hcall number, but sometimes it might unavoidably be a valid but
unintended hcall number.
Shouldn't a caller of the ultravisor *know* that it is talking to the
ultravisor in the first place? And not to the hypervisor.
It may or may not. But if it knows and still decides to make the ucall,
the hypervisor must gracefully handle it.
We can't control who makes a ucall. A normal process within the VM could
make a ucall too. Or a normal process running on top of the hypervisor
could make a ucall.
RP