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