[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 15/22] xen/arm: Don't call p2m_alloc_table from arch_domain_create
On 07/22/2016 12:26 PM, Julien Grall wrote: > > > On 22/07/16 11:16, Sergej Proskurin wrote: >> Hi Julien, > > Hello, > >> On 07/22/2016 11:18 AM, Julien Grall wrote: >>> >>> >>> On 22/07/16 09:32, Sergej Proskurin wrote: >>>> Hi Julien, >>> >>> Hello Sergej, >>> >>>>> -int p2m_alloc_table(struct domain *d) >>>>> +static int p2m_alloc_table(struct domain *d) >>>> >>>> While moving parts of the altp2m code out of ./xen/arch/arm/p2m.c, the >>>> function p2m_alloc_table needs to be called from >>>> ./xen/arch/arm/altp2m.c >>>> to allocate the individual altp2m views. Hence it should not be static. >>> >>> No, this function should not be called outside p2m.c as it will not >>> fully initialize the p2m. You need to need to provide a function to >>> initialize a p2m (such as p2m_init). >>> >> >> The last time we have discussed reusing existing code, among others, for >> individual struct p2m_domain initialization routines. Also, we have >> agreed to move altp2m-related parts out of p2m.c into altp2m.c, which >> makes it hard not to access parts required for initialization/teardown >> (that are equal for both p2m and altp2m). > > I remember this discussion. However, the p2m initialize/teardown should > exactly be the same for the hostp2m and altp2m (except for the type of > the p2m). So, a function should be provided to initialize a full p2m to > avoid code duplication. > This is exactly what has been done. Nevertheless, altp2m views are somewhat more dynamic than hostp2m and hence require frequent initialization/teardown of individual views. That is, by moving altp2m parts out of p2m.c we simply need to access this shared code multiple times at runtime from different altp2m-related functions. This applies to more functions that just to p2m_alloc_table. Best regards, ~Sergej _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |