Module Name: src
Committed By: rkujawa
Date: Sun May 19 15:51:11 UTC 2013
Modified Files:
src/sys/arch/arm/conf: files.arm
src/sys/arch/arm/include: cpuconf.h cpufunc.h
Log Message:
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
To generate a diff of this commit:
cvs rdiff -u -r1.116 -r1.117 src/sys/arch/arm/conf/files.arm
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/include/cpuconf.h
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/arm/include/cpufunc.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/conf/files.arm
diff -u src/sys/arch/arm/conf/files.arm:1.116 src/sys/arch/arm/conf/files.arm:1.117
--- src/sys/arch/arm/conf/files.arm:1.116 Thu Feb 14 07:26:23 2013
+++ src/sys/arch/arm/conf/files.arm Sun May 19 15:51:10 2013
@@ -1,4 +1,4 @@
-# $NetBSD: files.arm,v 1.116 2013/02/14 07:26:23 matt Exp $
+# $NetBSD: files.arm,v 1.117 2013/05/19 15:51:10 rkujawa Exp $
# temporary define to allow easy moving to ../arch/arm/arm32
defflag ARM32
@@ -8,7 +8,7 @@ defflag opt_cputypes.h CPU_ARM2 CPU_ARM
defflag opt_cputypes.h CPU_ARM6 CPU_ARM7 CPU_ARM7TDMI CPU_ARM8
CPU_ARM9 CPU_ARM9E CPU_ARM10 CPU_ARM11
CPU_SA110 CPU_SA1100 CPU_SA1110 CPU_IXP12X0
- CPU_FA526 CPU_CORTEX
+ CPU_FA526 CPU_CORTEX CPU_PJ4B
CPU_XSCALE_80200 CPU_XSCALE_80321
CPU_XSCALE_PXA250 CPU_XSCALE_PXA270
CPU_XSCALE_IXP425
@@ -136,7 +136,8 @@ file arch/arm/arm/cpufunc_asm_armv5.S cp
file arch/arm/arm/cpufunc_asm_armv5_ec.S cpu_arm9e | cpu_arm10 |
cpu_sheeva
file arch/arm/arm/cpufunc_asm_armv6.S cpu_arm11 | cpu_cortex
-file arch/arm/arm/cpufunc_asm_armv7.S cpu_cortex
+file arch/arm/arm/cpufunc_asm_armv7.S cpu_cortex | cpu_pj4b
+file arch/arm/arm/cpufunc_asm_pj4b.S cpu_pj4b
file arch/arm/arm/cpufunc_asm_sa1.S cpu_sa110 | cpu_sa1100 |
cpu_sa1110 |
cpu_ixp12x0
Index: src/sys/arch/arm/include/cpuconf.h
diff -u src/sys/arch/arm/include/cpuconf.h:1.20 src/sys/arch/arm/include/cpuconf.h:1.21
--- src/sys/arch/arm/include/cpuconf.h:1.20 Thu Mar 10 07:47:14 2011
+++ src/sys/arch/arm/include/cpuconf.h Sun May 19 15:51:10 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cpuconf.h,v 1.20 2011/03/10 07:47:14 bsh Exp $ */
+/* $NetBSD: cpuconf.h,v 1.21 2013/05/19 15:51:10 rkujawa Exp $ */
/*
* Copyright (c) 2002 Wasabi Systems, Inc.
@@ -132,7 +132,7 @@
#define ARM_ARCH_6 0
#endif
-#if defined(CPU_CORTEX)
+#if defined(CPU_CORTEX) || defined(CPU_PJ4B)
#define ARM_ARCH_7 1
#else
#define ARM_ARCH_7 0
@@ -217,7 +217,8 @@
defined(CPU_ARM1136) || \
defined(CPU_ARM1176) || \
defined(CPU_ARM11) && \
- !defined(CPU_CORTEX) && !defined(CPU_ARM11MPCORE)
+ !defined(CPU_CORTEX) && \
+ !defined(CPU_ARM11MPCORE) && !defined(CPU_PJ4B)
#define ARM_MMU_V6C 1
#else
#define ARM_MMU_V6C 0
@@ -234,7 +235,7 @@
#if !defined(_KERNEL_OPT) || \
- defined(CPU_CORTEX)
+ defined(CPU_CORTEX) || defined(CPU_PJ4B)
#define ARM_MMU_V7 1
#else
#define ARM_MMU_V7 0
Index: src/sys/arch/arm/include/cpufunc.h
diff -u src/sys/arch/arm/include/cpufunc.h:1.62 src/sys/arch/arm/include/cpufunc.h:1.63
--- src/sys/arch/arm/include/cpufunc.h:1.62 Mon Nov 12 18:00:37 2012
+++ src/sys/arch/arm/include/cpufunc.h Sun May 19 15:51:10 2013
@@ -221,6 +221,8 @@ void cpufunc_domains (u_int);
u_int cpufunc_faultstatus (void);
u_int cpufunc_faultaddress (void);
+u_int cpu_pfr (int);
+
#if defined(CPU_ARM2) || defined(CPU_ARM250) || defined(CPU_ARM3)
void arm3_cache_flush (void);
#endif /* CPU_ARM2 || CPU_ARM250 || CPU_ARM3 */
@@ -468,8 +470,6 @@ void armv7_dcache_wbinv_range(vaddr_t, v
void armv7_dcache_inv_range(vaddr_t, vsize_t);
void armv7_idcache_wbinv_range(vaddr_t, vsize_t);
-void armv7_dcache_wbinv_all (void);
-void armv7_idcache_wbinv_all(void);
void armv7_icache_sync_all(void);
void armv7_cpu_sleep(int);
void armv7_context_switch(u_int);
@@ -478,6 +478,33 @@ void armv7_drain_writebuf(void);
void armv7_setup(char *string);
#endif
+#if defined(CPU_CORTEX) || defined(CPU_PJ4B)
+void armv7_dcache_wbinv_all (void);
+void armv7_idcache_wbinv_all(void);
+#endif
+
+#if defined(CPU_PJ4B)
+void pj4b_setttb(u_int, bool);
+void pj4b_tlb_flushID(void);
+void pj4b_tlb_flushID_SE(u_int);
+
+void pj4b_icache_sync_range(vm_offset_t, vm_size_t);
+void pj4b_idcache_wbinv_range(vm_offset_t, vm_size_t);
+void pj4b_dcache_wbinv_range(vm_offset_t, vm_size_t);
+void pj4b_dcache_inv_range(vm_offset_t, vm_size_t);
+void pj4b_dcache_wb_range(vm_offset_t, vm_size_t);
+
+void pj4b_drain_writebuf(void);
+void pj4b_drain_readbuf(void);
+void pj4b_flush_brnchtgt_all(void);
+void pj4b_flush_brnchtgt_va(u_int);
+void pj4b_context_switch(u_int);
+void pj4b_sleep(int);
+
+void pj4bv7_setup(char *string);
+void pj4b_config(void);
+
+#endif /* CPU_PJ4B */
#if defined(CPU_ARM1136) || defined(CPU_ARM1176)
void arm11x6_setttb (u_int, bool);