From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Tim Deegan <tim@xen.org>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Andre Przywara <andre.przywara@linaro.org>,
xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH RFC 0/N] xen: arm: rework early bring up
Date: Wed, 18 Sep 2013 21:00:24 +0100 [thread overview]
Message-ID: <523A0658.6070007@linaro.org> (raw)
In-Reply-To: <1379532275.11304.291.camel@hastur.hellion.org.uk>
On 09/18/2013 08:24 PM, Ian Campbell wrote:
> On Wed, 2013-09-18 at 20:22 +0100, Ian Campbell wrote:
>> On Wed, 2013-09-18 at 18:33 +0100, Julien Grall wrote:
>>> On 09/17/2013 02:37 AM, Ian Campbell wrote:
>>>> Hi,
>>>>
>>>> The following reworks early bring up on ARM to use a separate set of
>>>> boot pagetables. This simplifies things by avoiding the need to bring up
>>>> all CPUs in lock step, which in turn allows us to do secondary CPU
>>>> bringup in C code.
>>>>
>>>> Unfortunately the main bulk of this change is a single large patch which
>>>> is hard to decompose any further since it is basically pulling on the
>>>> thread and then knitting a new jumper from it.
>>>>
>>>> With these changes Xen now absolutely requires that the bootloader calls
>>>> the hypervisor in HYP mode, the previous workarounds have been removed.
>>>> For use on models a bootwrapper is now required. See
>>>> git://xenbits.xen.org/people/ianc/boot-wrapper.git xen-arm32
>>>> git://xenbits.xen.org/people/ianc/boot-wrapper-aarch64.git xen-arm64
>>>>
>>>> I have implemented support for CPU bringup on the fastmodel vexpress
>>>> platforms (v7and v8) here, I suppose it should work OK on a real
>>>> vexpress too but I've not tried it.
>>>
>>> I have just tried the patch series on the versatile express and it
>>> doesn't work. I'm using the u-boot from Andre and all the cpus already
>>> boot in hyp mode (checked without this patch series).
>>
>> :-(
>>
>> The code should essentially the same as the old kick cpus, but
>> reimplemented in C. The only difference I can spot is that the C version
>> is kicking a single CPU at a time while the ASM version is kicking
>> everyone at once. Does using send_SGI_allbutself instead work as a hack?
>>
>> Perhaps our idea of the CPUID is wrong or something? Your patches to
>> fixup the logical CPU id stuff might help?
I have found the issue, in send_SGI_mask we remove the offline CPUs with
the following line:
mask &= cpumask_bits(&cpu_online_map);
As the secondary cpu (assuming we have a board with only 2 cores) is not
yet online, we can't send SGI with our code.
I'm very surprised that the code works on the fast models.
To solve the issue, I think we need to create another helper which will
send an SGI wihout removing offline CPUs.
> You don't happen to still have your vexpress in A7 mode do you?
I'm using the versatile express with only A15 processors enabled.
--
Julien Grall
next prev parent reply other threads:[~2013-09-18 20:00 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-17 1:37 [PATCH RFC 0/N] xen: arm: rework early bring up Ian Campbell
2013-09-17 1:40 ` [PATCH RFC 1/7] xen: arm: Load xen under 4GB on 32-bit Ian Campbell
2013-09-18 15:44 ` Julien Grall
2013-09-19 9:21 ` Tim Deegan
2013-09-17 1:40 ` [PATCH RFC 2/7] xen: arm: Log the raw MIDR on boot Ian Campbell
2013-09-17 12:05 ` Julien Grall
2013-09-19 9:21 ` Tim Deegan
2013-09-17 1:40 ` [PATCH RFC 3/7] xen: arm: make sure we stay within the memory bank during mm setup Ian Campbell
2013-09-17 12:19 ` Julien Grall
2013-09-19 9:27 ` Tim Deegan
2013-09-17 1:40 ` [PATCH RFC 4/7] xen: arm: add two new device tree helpers Ian Campbell
2013-09-17 13:05 ` Julien Grall
2013-09-18 17:11 ` Julien Grall
2013-09-18 17:14 ` Ian Campbell
2013-09-17 1:40 ` [PATCH RFC 5/7] xen: arm: rewrite start of day page table and cpu bring up Ian Campbell
2013-09-17 16:18 ` Julien Grall
2013-09-17 16:36 ` Ian Campbell
2013-09-17 16:55 ` Julien Grall
2013-09-17 18:30 ` Andre Przywara
2013-09-17 19:19 ` Ian Campbell
2013-09-18 13:57 ` Julien Grall
2013-09-18 15:12 ` Ian Campbell
2013-09-18 17:06 ` Julien Grall
2013-09-18 17:14 ` Ian Campbell
2013-09-19 11:36 ` Tim Deegan
2013-09-20 17:09 ` Ian Campbell
2013-09-20 17:16 ` Ian Campbell
2013-09-19 13:36 ` Tim Deegan
2013-09-17 1:40 ` [PATCH RFC 6/7] xen: arm: configure TCR_EL2 for 40 bit physical address space Ian Campbell
2013-09-18 15:50 ` Julien Grall
2013-09-19 13:42 ` Tim Deegan
2013-09-17 1:40 ` [PATCH RFC 7/7] xen: arm: split cpu0's domheap mapping PTs out from xen_second Ian Campbell
2013-09-19 13:47 ` Tim Deegan
2013-09-17 11:34 ` [PATCH RFC 0/N] xen: arm: rework early bring up Julien Grall
2013-09-17 12:43 ` Ian Campbell
2013-09-18 13:40 ` Julien Grall
2013-09-18 17:33 ` Julien Grall
2013-09-18 19:22 ` Ian Campbell
2013-09-18 19:24 ` Ian Campbell
2013-09-18 20:00 ` Julien Grall [this message]
2013-09-18 20:22 ` Ian Campbell
2013-09-18 21:14 ` Julien Grall
2013-09-18 21:28 ` Ian Campbell
2013-09-19 14:49 ` Julien Grall
2013-09-19 15:51 ` 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=523A0658.6070007@linaro.org \
--to=julien.grall@linaro.org \
--cc=andre.przywara@linaro.org \
--cc=ian.campbell@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.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.