[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] arm: define some more cp15 registers
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1329308654 0 # Node ID 6c6f81d3be886a12d82c544c0fdf510205961029 # Parent f7bf6679fc940eae29b414ba9b9c415706914721 arm: define some more cp15 registers Complete the set of cache flush and add processor feature registers. Print the latter on boot for debug. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx> Acked-by: Tim Deegan <tim@xxxxxxx> Committed-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx> --- diff -r f7bf6679fc94 -r 6c6f81d3be88 xen/arch/arm/setup.c --- a/xen/arch/arm/setup.c Wed Feb 15 12:24:14 2012 +0000 +++ b/xen/arch/arm/setup.c Wed Feb 15 12:24:14 2012 +0000 @@ -64,6 +64,20 @@ /* TODO: setup_idle_pagetable(); */ } +static void processor_id(void) +{ + printk("Processor Features: %08x %08x\n", + READ_CP32(ID_PFR0), READ_CP32(ID_PFR0)); + printk("Debug Features: %08x\n", READ_CP32(ID_DFR0)); + printk("Auxiliary Features: %08x\n", READ_CP32(ID_AFR0)); + printk("Memory Model Features: %08x %08x %08x %08x\n", + READ_CP32(ID_MMFR0), READ_CP32(ID_MMFR1), + READ_CP32(ID_MMFR2), READ_CP32(ID_MMFR3)); + printk("ISA Features: %08x %08x %08x %08x %08x %08x\n", + READ_CP32(ID_ISAR0), READ_CP32(ID_ISAR1), READ_CP32(ID_ISAR2), + READ_CP32(ID_ISAR3), READ_CP32(ID_ISAR4), READ_CP32(ID_ISAR5)); +} + static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) { paddr_t ram_start; @@ -185,7 +199,10 @@ */ WRITE_CP32(0x80002558, VTCR); isb(); + processor_id(); + softirq_init(); + tasklet_subsys_init(); init_IRQ(); diff -r f7bf6679fc94 -r 6c6f81d3be88 xen/include/asm-arm/cpregs.h --- a/xen/include/asm-arm/cpregs.h Wed Feb 15 12:24:14 2012 +0000 +++ b/xen/include/asm-arm/cpregs.h Wed Feb 15 12:24:14 2012 +0000 @@ -93,6 +93,18 @@ /* CP15 CR0: CPUID and Cache Type Registers */ #define ID_PFR0 p15,0,c0,c1,0 /* Processor Feature Register 0 */ #define ID_PFR1 p15,0,c0,c1,1 /* Processor Feature Register 1 */ +#define ID_DFR0 p15,0,c0,c1,2 /* Debug Feature Register 0 */ +#define ID_AFR0 p15,0,c0,c1,3 /* Auxiliary Feature Register 0 */ +#define ID_MMFR0 p15,0,c0,c1,4 /* Memory Model Feature Register 0 */ +#define ID_MMFR1 p15,0,c0,c1,5 /* Memory Model Feature Register 1 */ +#define ID_MMFR2 p15,0,c0,c1,6 /* Memory Model Feature Register 2 */ +#define ID_MMFR3 p15,0,c0,c1,7 /* Memory Model Feature Register 3 */ +#define ID_ISAR0 p15,0,c0,c2,0 /* ISA Feature Register 0 */ +#define ID_ISAR1 p15,0,c0,c2,1 /* ISA Feature Register 1 */ +#define ID_ISAR2 p15,0,c0,c2,2 /* ISA Feature Register 2 */ +#define ID_ISAR3 p15,0,c0,c2,3 /* ISA Feature Register 3 */ +#define ID_ISAR4 p15,0,c0,c2,4 /* ISA Feature Register 4 */ +#define ID_ISAR5 p15,0,c0,c2,5 /* ISA Feature Register 5 */ #define CCSIDR p15,1,c0,c0,0 /* Cache Size ID Registers */ #define CLIDR p15,1,c0,c0,1 /* Cache Level ID Register */ #define CSSELR p15,2,c0,c0,0 /* Cache Size Selection Register */ @@ -134,7 +146,11 @@ #define ICIALLUIS p15,0,c7,c1,0 /* Invalidate all instruction caches to PoU inner shareable */ #define BPIALLIS p15,0,c7,c1,6 /* Invalidate entire branch predictor array inner shareable */ #define ICIALLU p15,0,c7,c5,0 /* Invalidate all instruction caches to PoU */ +#define ICIMVAU p15,0,c7,c5,1 /* Invalidate instruction caches by MVA to PoU */ #define BPIALL p15,0,c7,c5,6 /* Invalidate entire branch predictor array */ +#define BPIMVA p15,0,c7,c5,7 /* Invalidate MVA from branch predictor array */ +#define DCIMVAC p15,0,c7,c6,1 /* Invalidate data cache line by MVA to PoC */ +#define DCISW p15,0,c7,c2,1 /* Invalidate data cache line by set/way */ #define ATS1CPR p15,0,c7,c8,0 /* Address Translation Stage 1. Non-Secure Kernel Read */ #define ATS1CPW p15,0,c7,c8,1 /* Address Translation Stage 1. Non-Secure Kernel Write */ #define ATS1CUR p15,0,c7,c8,2 /* Address Translation Stage 1. Non-Secure User Read */ @@ -144,6 +160,8 @@ #define ATS12NSOUR p15,0,c7,c8,6 /* Address Translation Stage 1+2 Non-Secure User Read */ #define ATS12NSOUW p15,0,c7,c8,7 /* Address Translation Stage 1+2 Non-Secure User Write */ #define DCCMVAC p15,0,c7,c10,1 /* Clean data or unified cache line by MVA to PoC */ +#define DCCSW p15,0,c7,c10,2 /* Clean data cache line by set/way */ +#define DCCMVAU p15,0,c7,c11,1 /* Clean data cache line by MVA to PoU */ #define DCCISW p15,0,c7,c14,2 /* Clean and invalidate data cache line by set/way */ #define ATS1HR p15,4,c7,c8,0 /* Address Translation Stage 1 Hyp. Read */ #define ATS1HW p15,4,c7,c8,1 /* Address Translation Stage 1 Hyp. Write */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |