|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/4] xen/arm: introduce Cortex-A7 support
On Tue, 2013-06-18 at 00:34 -0600, Bamvor Jian Zhang wrote:
> Ian Campbell wrote:
> > On Fri, 2013-05-31 at 20:53 +0800, Bamvor Jian Zhang wrote:
> >> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> >> index 0588d54..d3b849b 100644
> >> --- a/xen/arch/arm/arm32/head.S
> >> +++ b/xen/arch/arm/arm32/head.S
> >> @@ -20,6 +20,7 @@
> >> #include <asm/config.h>
> >> #include <asm/page.h>
> >> #include <asm/processor-ca15.h>
> >> +#include <asm/processor-ca7.h>
> >> #include <asm/asm_defns.h>
> >>
> >> #define ZIMAGE_MAGIC_NUMBER 0x016f2818
> >> @@ -195,8 +196,18 @@ skip_bss:
> >> /* Is this a Cortex A15? */
> >> ldr r1, =(CORTEX_A15_ID)
> >> teq r0, r1
> >> + bne test_ca7
> >> bleq cortex_a15_init
> >> + PRINT("- cortex-a15 init done -\r\n")
> >> + b cpu_init_done
> >> + /* Is this a Cortex A7? */
> >> +test_ca7:
> >> + ldr r1, =(CORTEX_A7_ID)
> >> + teq r0, r1
> >> + bleq cortex_a7_init
> >> + PRINT("- cortex-a7 init done -\r\n")
> >
> > I think now that we have a second processor here it is time to go for a
> > more scalable approach. A linker table driven thing, similar to what
> > Julien did for the platform (PLATFORM_START et al) or the Linux proc
> > table thing seems like the right answer. At the moment it would just
> > contain the MIDR mask and match values plus an optional init function
> > pointer, in time I suspect it will grow other functionality.
> got it. how about add something like __lookup_processor_type and proc-xxx.S
> like linux kernel.
This sounds like a good plan.
> >> +/* ACTLR Auxiliary Control Register, Cortex A7 */
> >> +#define ACTLR_CA7_DDI (1<<28)
> >> +#define ACTLR_CA7_DDVM (1<<15)
> >> +/* 2 bits */
> >> +#define ACTLR_CA7_L1PCTL (1<<13)
> >> +#define ACTLR_CA7_L1RADIS (1<<12)
> >> +#define ACTLR_CA7_L2RADIS (1<<11)
> >> +#define ACTLR_CA7_DODMBS (1<<10)
> >> +#define ACTLR_CA7_SMP (1<<6)
> >
> > Is the content of this register really different between A7 and A15?
> only SMP bit is same. ACTLR is a implementation defined register.
I knew that but given the close architectural relationship between the
A7 and the A15 (i.e. they are big.LITTLE compatible with each other) I
wondered if the implementation defined stuff might be similar.
> > At least CA7_SMP is the same as CA15_SMP, which suggests we could share
> > the init function (to set the SMP bit) and have both a7 and a15 in the
> > same proc-v7.S file.
> Ok. i will add proc-v7.S. although i do not know whether a12 is same or not.
> we could deal with that later.
Right.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |