All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: Suraj Jitindar Singh <sjitindarsingh@gmail.com>,
	qemu-ppc@nongnu.org, Greg Kurz <groug@kaod.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH 4/7] target/ppc: Introduce ppc_radix64_xlate() for Radix tree translation
Date: Tue, 31 Mar 2020 10:15:09 +0200	[thread overview]
Message-ID: <15a0034a-fa2c-7852-52b8-df2b76bd0aff@kaod.org> (raw)
In-Reply-To: <20200331011310.GG47772@umbus.fritz.box>

On 3/31/20 3:13 AM, David Gibson wrote:
> On Mon, Mar 30, 2020 at 05:34:40PM +0200, Cédric Le Goater wrote:
>>>>> +        /* No valid pte or access denied due to protection */
>>>>> +        if (cause_excp) {
>>>>> +            ppc_radix64_raise_si(cpu, rwx, eaddr, fault_cause);
>>>>> +        }
>>>>> +        return 1;
>>>>> +    }
>>>>> +
>>>>> +    ppc_radix64_set_rc(cpu, rwx, pte, pte_addr, g_prot);
>>>>> +
>>>>> +    return 0;
>>>>> +}
>>>>> +
>>>>> +static int ppc_radix64_xlate(PowerPCCPU *cpu, vaddr eaddr, int rwx,
>>>>> +                             uint64_t lpid, uint64_t pid, bool relocation,
>>>>> +                             hwaddr *raddr, int *psizep, int *protp,
>>>>> +                             bool cause_excp)
>>>>> +{
>>>>> +    ppc_v3_pate_t pate;
>>>>> +    int psize, prot;
>>>>> +    hwaddr g_raddr;
>>>>> +
>>>>> +    *psizep = INT_MAX;
>>>>> +    *protp = PAGE_READ | PAGE_WRITE | PAGE_EXEC;
>>>>> +
>>>>> +    /* Get Process Table */
>>>>> +    if (cpu->vhyp && lpid == 0) {
>>>>
>>>> Current code doesn't check lpid == 0. Not sure to see what it's for...
>>>
>>> cpu->vhyp means a pseries machine, lpid == 0 means accessing quadrant3, 
>>> so it's the kernel.
>>
>> Sorry. I misread that. It would pid == 0 for the kernel. 
>>
>> So yes, the test cpu->vhyp && lpid == 0 might be a bit overkill, given 
>> that lpid is always 0 when running under a QEMU pseries machine.
> 
> Overkill and conceptually incorrect.  When in vhyp mode we're not
> modelling the hypervisor part of the CPU, which means that really the
> LPID doesn't exist, so we shouldn't be looking at it (though it will
> always be 0 in practice).

I will remove the extra check. This has the nice effect of cleaning up 
a couple of weird changes in patch 7.

Thanks,

C.


  reply	other threads:[~2020-03-31  8:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-30  9:49 [PATCH 0/7] target/ppc: Add support for Radix partition-scoped translation Cédric Le Goater
2020-03-30  9:49 ` [PATCH 1/7] target/ppc: Enforce that the root page directory size must be at least 5 Cédric Le Goater
2020-03-30 10:45   ` Greg Kurz
2020-03-31  0:57   ` David Gibson
2020-03-30  9:49 ` [PATCH 2/7] target/ppc: Introduce a relocation bool in ppc_radix64_handle_mmu_fault() Cédric Le Goater
2020-03-30 13:01   ` Greg Kurz
2020-03-31  0:58   ` David Gibson
2020-03-30  9:49 ` [PATCH 3/7] target/ppc: Assert if HV mode is set when running under a pseries machine Cédric Le Goater
2020-03-30 10:46   ` Greg Kurz
2020-03-31  0:59   ` David Gibson
2020-03-30  9:49 ` [PATCH 4/7] target/ppc: Introduce ppc_radix64_xlate() for Radix tree translation Cédric Le Goater
2020-03-30 14:18   ` Greg Kurz
2020-03-30 15:24     ` Cédric Le Goater
2020-03-30 15:34       ` Cédric Le Goater
2020-03-30 17:07         ` Greg Kurz
2020-03-31  1:13         ` David Gibson
2020-03-31  8:15           ` Cédric Le Goater [this message]
2020-03-30  9:49 ` [PATCH 5/7] target/ppc: Rework ppc_radix64_walk_tree() for partition-scoped translation Cédric Le Goater
2020-03-30 17:00   ` Greg Kurz
2020-03-31  9:10     ` Cédric Le Goater
2020-03-31  9:49       ` Greg Kurz
2020-03-30  9:49 ` [PATCH 6/7] target/ppc: Extend ppc_radix64_check_prot() with a 'partition_scoped' bool Cédric Le Goater
2020-03-30 17:01   ` Greg Kurz
2020-03-31  8:22     ` Cédric Le Goater
2020-03-30 17:08   ` Greg Kurz
2020-03-30  9:49 ` [PATCH 7/7] target/ppc: Add support for Radix partition-scoped translation Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=15a0034a-fa2c-7852-52b8-df2b76bd0aff@kaod.org \
    --to=clg@kaod.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=groug@kaod.org \
    --cc=npiggin@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=sjitindarsingh@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.