From: Julien Grall <julien.grall@citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>, Chen Baozi <cbz@baozis.org>
Cc: Julien Grall <julien.grall@citrix.com>,
xen-devel@lists.xenproject.org, Chen Baozi <baozich@gmail.com>
Subject: Re: [PATCH V6 03/10] xen/arm: Use the new functions for vCPUID/vaffinity transformation
Date: Fri, 5 Jun 2015 19:18:37 +0100 [thread overview]
Message-ID: <5571E7FD.7090109@citrix.com> (raw)
In-Reply-To: <1433519767.7108.327.camel@citrix.com>
On 05/06/2015 16:56, Ian Campbell wrote:
> On Mon, 2015-06-01 at 20:56 +0800, Chen Baozi wrote:
>> From: Chen Baozi <baozich@gmail.com>
>>
>> There are 3 places to change:
>>
>> * Initialise vMPIDR value in vcpu_initialise()
>> * Find the vCPU from vMPIDR affinity information when accessing GICD
>> registers in vGIC
>> * Find the vCPU from vMPIDR affinity information when booting with vPSCI
>> in vGIC
>> - Also make the code for PSCI 0.1 use MPIDR-like value as the cpuid.
>
> Does this "- Also ..." not need to be done at the same time as the
> change to how we describe things in the FDT? Since that is where the
> guest gets the parameter from, isn't it?
Well, we only support 8 CPUs. So this changes will return the same value
as before. It may be worth to mention it.
In another side, both PSCI 0.1 and PSCI 0.2 are modified to respect the
MPIDR like within this patch. The working in the commit message may be
misleading.
Somehow the code path slightly differ when the PSCI 0.2 for guest has
been added. The spec says (PSCI 0.1 Section 6.3 (ARM DEN 0022A)):
"Ideally platform discovery mechanism such as firmware tables would be
used by secure firmware to describe the set of valid CPUIDs to the
hypervisor or Rich OS, if the former is not present. The hypervisor in
turn can create and supply virtual discovery mechanisms to its guests.""
I interpreted this as CPUID is equal to the "reg" register in DT (which
is an MPIDR-like value).
FWIW, this is the interpretation made by Linux too.
Regards,
--
--
Julien Grall
next prev parent reply other threads:[~2015-06-05 18:18 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-01 12:56 [PATCH V6 00/10] Support more than 8 vcpus on arm64 with GICv3 Chen Baozi
2015-06-01 12:56 ` [PATCH V6 01/10] xen/arm: gic-v3: Increase the size of GICR in address space for guest Chen Baozi
2015-06-05 15:49 ` Ian Campbell
2015-06-05 16:04 ` Julien Grall
2015-06-05 16:31 ` Ian Campbell
2015-06-05 18:07 ` Julien Grall
2015-06-01 12:56 ` [PATCH V6 02/10] xen/arm: Add functions of mapping between vCPUID and virtual affinity Chen Baozi
2015-06-05 15:54 ` Ian Campbell
2015-06-01 12:56 ` [PATCH V6 03/10] xen/arm: Use the new functions for vCPUID/vaffinity transformation Chen Baozi
2015-06-05 15:56 ` Ian Campbell
2015-06-05 18:18 ` Julien Grall [this message]
2015-06-08 10:05 ` Ian Campbell
2015-06-08 13:00 ` Julien Grall
2015-06-01 12:56 ` [PATCH V6 04/10] xen/arm: Use cpumask_t type for vcpu_mask in vgic_to_sgi Chen Baozi
2015-06-05 16:05 ` Ian Campbell
2015-06-10 10:21 ` Chen Baozi
2015-06-10 10:27 ` Ian Campbell
2015-06-01 12:56 ` [PATCH V6 05/10] xen/arm64: gicv3: Use AFF1 when translating ICC_SGI1R_EL1 to cpumask Chen Baozi
2015-06-05 16:09 ` Ian Campbell
2015-06-05 18:25 ` Julien Grall
2015-06-08 10:06 ` Ian Campbell
2015-06-01 12:56 ` [PATCH V6 06/10] tools/libxl: Set 'reg' of cpu node equal to MPIDR affinity for domU Chen Baozi
2015-06-05 16:11 ` Ian Campbell
2015-06-05 16:12 ` Ian Campbell
2015-06-01 12:56 ` [PATCH V6 07/10] xen/arm: Set 'reg' of cpu node for dom0 to match MPIDR's affinity Chen Baozi
2015-06-05 16:13 ` Ian Campbell
2015-06-01 12:56 ` [PATCH V6 08/10] xen: Add arch_domain_preinit to initialise vGIC before evtchn_init Chen Baozi
2015-06-05 16:22 ` Ian Campbell
2015-06-11 9:20 ` Chen Baozi
2015-06-11 9:37 ` Ian Campbell
2015-06-11 11:16 ` Chen Baozi
2015-06-11 11:47 ` Julien Grall
2015-06-11 12:45 ` Chen Baozi
2015-06-01 12:56 ` [PATCH V6 09/10] xen/arm: make domain_max_vcpus return value from vgic_ops Chen Baozi
2015-06-05 16:26 ` Ian Campbell
2015-06-05 16:39 ` Julien Grall
2015-06-01 12:56 ` [PATCH V6 10/10] xen/arm64: increase MAX_VIRT_CPUS to 128 on arm64 Chen Baozi
2015-06-05 16:27 ` Ian Campbell
2015-06-05 14:08 ` [PATCH V6 00/10] Support more than 8 vcpus on arm64 with GICv3 Ian Campbell
2015-06-05 14:37 ` Julien Grall
2015-06-05 15:15 ` Ian Campbell
2015-06-05 14:23 ` Ian Campbell
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=5571E7FD.7090109@citrix.com \
--to=julien.grall@citrix.com \
--cc=baozich@gmail.com \
--cc=cbz@baozis.org \
--cc=ian.campbell@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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.