[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 29/38] arm: delay enabling data-cache until paging enabled.
At 15:39 +0000 on 01 Jun (1338565198), Ian Campbell wrote: > With enough warnings enabled the model seemed to be complaining that pages > cached before paging was enabled had been mapped with to inconsistent sets of > attributes. I'm not convinced that isn't a model issue, nor am I convinced > this has really fixed anything, but it seems sensible enough. This might be what breaks secondary CPU bringup: pagetables built by CPU 0 may not have been flushed all the way to RAM when CPU 1 comes up, and CPU 1 isn't participating in cache coherence protocols when it starts to need them. OTOH, if that's the case, it's surprising that CPU 1 passes the boot gate. I'll look into it next week, x86/mm workload permitting. Cheers, Tim. > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > --- > xen/arch/arm/head.S | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/arm/head.S b/xen/arch/arm/head.S > index 9a7714a..71197af 100644 > --- a/xen/arch/arm/head.S > +++ b/xen/arch/arm/head.S > @@ -148,10 +148,11 @@ hyp: > * Exceptions in LE ARM, > * Low-latency IRQs disabled, > * Write-implies-XN disabled (for now), > - * I-cache and d-cache enabled, > + * D-cache diabled (for now), > + * I-cache enabled, > * Alignment checking enabled, > * MMU translation disabled (for now). */ > - ldr r0, =(HSCTLR_BASE|SCTLR_A|SCTLR_C) > + ldr r0, =(HSCTLR_BASE|SCTLR_A) > mcr CP32(r0, HSCTLR) > > /* Write Xen's PT's paddr into the HTTBR */ > @@ -217,6 +218,10 @@ pt_ready: > mov pc, r1 /* Get a proper vaddr into PC */ > paging: > > + mrc CP32(r0, HSCTLR) /* Now enable data cache */ > + orr r0, r0, #(SCTLR_C) > + mcr CP32(r0, HSCTLR) > + > #ifdef EARLY_UART_ADDRESS > /* Recover the UART address in the new address space. */ > lsl r11, #11 > -- > 1.7.9.1 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |