[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

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
      * 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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.