|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 02/18] xen/arm: Implement PSCI system suspend call (virtual interface)
On 11/13/2018 04:09 PM, Julien Grall wrote: On 13/11/2018 10:23, Julien Grall wrote:Hi, On 12/11/2018 11:30, Mirela Simonovic wrote:+/*+ * This function sets the context of current VCPU to the state which is expected+ * by the guest on resume. The expected VCPU state is:+ * 1) pc to contain resume entry point (1st argument of PSCI SYSTEM_SUSPEND) + * 2) r0/x0 to contain context ID (2nd argument of PSCI SYSTEM_SUSPEND) + * 3) All other general purpose and system registers should have reset values+ *+ * Note: this function has to return void because it has to always succeed. In + * other words, this function is called from virtual PSCI SYSTEM_SUSPEND + * implementation, which can return only a limited number of possible errors, + * none of which could represent the fact that an error occurred when preparing+ * the domain for suspend.+ * Consequently, dynamic memory allocation cannot be done within this function, I believe it is handled - with the vcpu_block_unless_event_pending in domain_suspend In that case, the only guarantee is the data would not be lost, yet can still be in the cache. This means that any data used before the MMU & cache are enabled in the entry point should have been cleaned to PoC and if you modify data make sure the cache is invalidated.Linux is doing that properly. Looking at Xen, we don't really properly handle the cache in the boot path. So you may randomly crash.Cheers, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |