OSDN Git Service

target/ppc: Set UPRT and GTSE on all cpus in H_REGISTER_PROCESS_TABLE
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>
Tue, 2 May 2017 06:37:14 +0000 (16:37 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 10 May 2017 23:45:15 +0000 (09:45 +1000)
commit6de833070ca25874541f633e5d3ecad3fa6db2e1
tree51066d2599ad18d970ecdf85d1d9221434b7c7b0
parent53ecf09df3179203950ca6af16d9420deedcc4f3
target/ppc: Set UPRT and GTSE on all cpus in H_REGISTER_PROCESS_TABLE

The UPRT and GTSE bits are set when a guest calls H_REGISTER_PROCESS_TABLE
to choose determine how address translation is performed. Currently these
bits in the LPCR are only set for the cpu which handles the H_CALL, however
they need to be set for all cpus for that guest as address translation
cannot be performed differently on a per cpu basis.

Update the H_CALL handler to set these bits in the LPCR correctly for all
cpus of the guest.

Note it is the reponsibility of the guest to ensure that any secondary cpus
are suspended when the H_CALL is made and thus we can safely update these
values here.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_hcall.c