On Thu, Apr 11, 2019 at 10:00:00AM +0200, Cédric Le Goater wrote:
> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Applied, thanks.
> ---
> hw/ppc/spapr_hcall.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> index be8044a92f2f..7761d4a841af 100644
> --- a/hw/ppc/spapr_hcall.c
> +++ b/hw/ppc/spapr_hcall.c
> @@ -304,8 +304,8 @@ static target_ulong h_read(PowerPCCPU *cpu, SpaprMachineState *spapr,
> {
> target_ulong flags = args[0];
> target_ulong ptex = args[1];
> - uint8_t *hpte;
> int i, ridx, n_entries = 1;
> + const ppc_hash_pte64_t *hptes;
>
> if (!valid_ptex(cpu, ptex)) {
> return H_PARAMETER;
> @@ -317,13 +317,12 @@ static target_ulong h_read(PowerPCCPU *cpu, SpaprMachineState *spapr,
> n_entries = 4;
> }
>
> - hpte = spapr->htab + (ptex * HASH_PTE_SIZE_64);
> -
> + hptes = ppc_hash64_map_hptes(cpu, ptex, n_entries);
> for (i = 0, ridx = 0; i < n_entries; i++) {
> - args[ridx++] = ldq_p(hpte);
> - args[ridx++] = ldq_p(hpte + (HASH_PTE_SIZE_64/2));
> - hpte += HASH_PTE_SIZE_64;
> + args[ridx++] = ppc_hash64_hpte0(cpu, hptes, i);
> + args[ridx++] = ppc_hash64_hpte1(cpu, hptes, i);
> }
> + ppc_hash64_unmap_hptes(cpu, hptes, ptex, n_entries);
>
> return H_SUCCESS;
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson