|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 0/9] xen: arm: rework early bring up
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'm hoping that those of you with access to other platforms will
implement the required cpu_up platform hook, it should be pretty simple
in each case, I think.
It should now also be possible to implement PSCI, but I have not done
so.
Changes since v1/RFC:
* Split a bit of the megapatch into a precursor "xen: arm:
implement arch/platform SMP and CPU initialisation framework".
It's not much but it does make the big patch slightly more
manageable.
* Reimplement a bring up gate in start secondary. On some
platforms (vexpress, probably others) it is hard to wake up just
a single CPU so this ensures that only one CPU goes through
bring up at a time (a requirement due to only having one set of
boot pagetables). This all happens at the relocated physical
address though and so is much simpler than the old gates
* Lots of cleanup to the ASM code based on Tim & Juliens review.
* Use symbolic names for MPIDR bits.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |