[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 03 of 10] arm: Move some GIC distributor init out of the per-CPU init function
On Thu, 2012-02-23 at 17:40 +0000, Tim Deegan wrote: > # HG changeset patch > # User Tim Deegan <tim@xxxxxxx> > # Date 1330018799 0 > # Node ID 437ad1207a175c9ad376871f3f4c075dbcd5b6e6 > # Parent ec051056db2b6d37344629e2f01d17240099d5ec > arm: Move some GIC distributor init out of the per-CPU init function > > Signed-off-by: Tim Deegan <tim@xxxxxxx> > > diff -r ec051056db2b -r 437ad1207a17 xen/arch/arm/gic.c > --- a/xen/arch/arm/gic.c Thu Feb 23 17:39:59 2012 +0000 > +++ b/xen/arch/arm/gic.c Thu Feb 23 17:39:59 2012 +0000 > @@ -216,14 +216,6 @@ static void __init gic_dist_init(void) > for ( i = 32; i < gic.lines; i += 32 ) > GICD[GICD_ICENABLER + i / 32] = ~0ul; > > - /* Turn on the distributor */ > - GICD[GICD_CTLR] = GICD_CTL_ENABLE; > -} > - > -static void __cpuinit gic_cpu_init(void) > -{ > - int i; > - > /* Disable all PPI and enable all SGI */ > GICD[GICD_ICENABLER] = 0xffff0000; /* Disable all PPI */ > GICD[GICD_ISENABLER] = 0x0000ffff; /* Enable all SGI */ PPIs and SGIs are per physical-CPU and therefore, I think, the GICD registers of various sorts which refer to the first 32 interrupts are per physical-CPU as well. IOW moving these from gic_cpu_init to gic_dist_init is wrong? > @@ -231,6 +223,12 @@ static void __cpuinit gic_cpu_init(void) > for (i = 0; i < 32; i += 4) > GICD[GICD_IPRIORITYR + i / 4] = 0xa0a0a0a0; > > + /* Turn on the distributor */ > + GICD[GICD_CTLR] = GICD_CTL_ENABLE; > +} > + > +static void __cpuinit gic_cpu_init(void) > +{ > /* Local settings: interface controller */ > GICC[GICC_PMR] = 0xff; /* Don't mask by priority */ > GICC[GICC_BPR] = 0; /* Finest granularity of priority > */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |