svn commit: r306631 - head/sys/arm/arm
Andrew Turner
andrew at FreeBSD.org
Mon Oct 3 11:57:11 UTC 2016
Author: andrew
Date: Mon Oct 3 11:57:10 2016
New Revision: 306631
URL: https://svnweb.freebsd.org/changeset/base/306631
Log:
Use C99 designated initializers to create the armv6 cpu_functions structs.
This will help with a later cleanup of what functions we implement.
Sponsored by: ABT Systems Ltd
Modified:
head/sys/arm/arm/cpufunc.c
Modified: head/sys/arm/arm/cpufunc.c
==============================================================================
--- head/sys/arm/arm/cpufunc.c Mon Oct 3 10:15:16 2016 (r306630)
+++ head/sys/arm/arm/cpufunc.c Mon Oct 3 11:57:10 2016 (r306631)
@@ -243,49 +243,40 @@ struct cpu_functions sheeva_cpufuncs = {
#ifdef CPU_MV_PJ4B
struct cpu_functions pj4bv7_cpufuncs = {
/* CPU functions */
-
- armv7_drain_writebuf, /* cpwait */
+ .cf_cpwait = armv7_drain_writebuf,
/* MMU functions */
-
- cpufunc_control, /* control */
- armv7_setttb, /* Setttb */
+ .cf_control = cpufunc_control,
+ .cf_setttb = armv7_setttb,
/* TLB functions */
-
- armv7_tlb_flushID, /* tlb_flushID */
- armv7_tlb_flushID_SE, /* tlb_flushID_SE */
- armv7_tlb_flushID, /* tlb_flushD */
- armv7_tlb_flushID_SE, /* tlb_flushD_SE */
+ .cf_tlb_flushID = armv7_tlb_flushID,
+ .cf_tlb_flushID_SE = armv7_tlb_flushID_SE,
+ .cf_tlb_flushD = armv7_tlb_flushID,
+ .cf_tlb_flushD_SE = armv7_tlb_flushID_SE,
/* Cache operations */
- armv7_icache_sync_range, /* icache_sync_range */
-
- armv7_dcache_wbinv_all, /* dcache_wbinv_all */
- armv7_dcache_wbinv_range, /* dcache_wbinv_range */
- armv7_dcache_inv_range, /* dcache_inv_range */
- armv7_dcache_wb_range, /* dcache_wb_range */
-
- armv7_idcache_inv_all, /* idcache_inv_all */
- armv7_idcache_wbinv_all, /* idcache_wbinv_all */
- armv7_idcache_wbinv_range, /* idcache_wbinv_all */
-
- (void *)cpufunc_nullop, /* l2cache_wbinv_all */
- (void *)cpufunc_nullop, /* l2cache_wbinv_range */
- (void *)cpufunc_nullop, /* l2cache_inv_range */
- (void *)cpufunc_nullop, /* l2cache_wb_range */
- (void *)cpufunc_nullop, /* l2cache_drain_writebuf */
+ .cf_icache_sync_range = armv7_icache_sync_range,
+ .cf_dcache_wbinv_all = armv7_dcache_wbinv_all,
+ .cf_dcache_wbinv_range = armv7_dcache_wbinv_range,
+ .cf_dcache_inv_range = armv7_dcache_inv_range,
+ .cf_dcache_wb_range = armv7_dcache_wb_range,
+ .cf_idcache_inv_all = armv7_idcache_inv_all,
+ .cf_idcache_wbinv_all = armv7_idcache_wbinv_all,
+ .cf_idcache_wbinv_range = armv7_idcache_wbinv_range,
+ .cf_l2cache_wbinv_all = (void *)cpufunc_nullop,
+ .cf_l2cache_wbinv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_inv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_wb_range = (void *)cpufunc_nullop,
+ .cf_l2cache_drain_writebuf = (void *)cpufunc_nullop,
/* Other functions */
-
- armv7_drain_writebuf, /* drain_writebuf */
-
- (void *)cpufunc_nullop, /* sleep */
+ .cf_drain_writebuf = armv7_drain_writebuf,
+ .cf_sleep = (void *)cpufunc_nullop,
/* Soft functions */
- armv7_context_switch, /* context_switch */
-
- pj4bv7_setup /* cpu setup */
+ .cf_context_switch = armv7_context_switch,
+ .cf_setup = pj4bv7_setup
};
#endif /* CPU_MV_PJ4B */
@@ -446,64 +437,51 @@ struct cpu_functions fa526_cpufuncs = {
#if defined(CPU_ARM1176)
struct cpu_functions arm1176_cpufuncs = {
/* CPU functions */
-
- cpufunc_nullop, /* cpwait */
-
+ .cf_cpwait = cpufunc_nullop,
+
/* MMU functions */
-
- cpufunc_control, /* control */
- arm11x6_setttb, /* Setttb */
+ .cf_control = cpufunc_control,
+ .cf_setttb = arm11x6_setttb,
/* TLB functions */
-
- arm11_tlb_flushID, /* tlb_flushID */
- arm11_tlb_flushID_SE, /* tlb_flushID_SE */
- arm11_tlb_flushD, /* tlb_flushD */
- arm11_tlb_flushD_SE, /* tlb_flushD_SE */
+ .cf_tlb_flushID = arm11_tlb_flushID,
+ .cf_tlb_flushID_SE = arm11_tlb_flushID_SE,
+ .cf_tlb_flushD = arm11_tlb_flushD,
+ .cf_tlb_flushD_SE = arm11_tlb_flushD_SE,
/* Cache operations */
-
- arm11x6_icache_sync_range, /* icache_sync_range */
-
- arm11x6_dcache_wbinv_all, /* dcache_wbinv_all */
- armv6_dcache_wbinv_range, /* dcache_wbinv_range */
- armv6_dcache_inv_range, /* dcache_inv_range */
- armv6_dcache_wb_range, /* dcache_wb_range */
-
- armv6_idcache_inv_all, /* idcache_inv_all */
- arm11x6_idcache_wbinv_all, /* idcache_wbinv_all */
- arm11x6_idcache_wbinv_range, /* idcache_wbinv_range */
-
- (void *)cpufunc_nullop, /* l2cache_wbinv_all */
- (void *)cpufunc_nullop, /* l2cache_wbinv_range */
- (void *)cpufunc_nullop, /* l2cache_inv_range */
- (void *)cpufunc_nullop, /* l2cache_wb_range */
- (void *)cpufunc_nullop, /* l2cache_drain_writebuf */
+ .cf_icache_sync_range = arm11x6_icache_sync_range,
+ .cf_dcache_wbinv_all = arm11x6_dcache_wbinv_all,
+ .cf_dcache_wbinv_range = armv6_dcache_wbinv_range,
+ .cf_dcache_inv_range = armv6_dcache_inv_range,
+ .cf_dcache_wb_range = armv6_dcache_wb_range,
+ .cf_idcache_inv_all = armv6_idcache_inv_all,
+ .cf_idcache_wbinv_all = arm11x6_idcache_wbinv_all,
+ .cf_idcache_wbinv_range = arm11x6_idcache_wbinv_range,
+ .cf_l2cache_wbinv_all = (void *)cpufunc_nullop,
+ .cf_l2cache_wbinv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_inv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_wb_range = (void *)cpufunc_nullop,
+ .cf_l2cache_drain_writebuf = (void *)cpufunc_nullop,
/* Other functions */
-
- arm11_drain_writebuf, /* drain_writebuf */
-
- arm11x6_sleep, /* sleep */
+ .cf_drain_writebuf = arm11_drain_writebuf,
+ .cf_sleep = arm11x6_sleep,
/* Soft functions */
-
- arm11_context_switch, /* context_switch */
-
- arm11x6_setup /* cpu setup */
+ .cf_context_switch = arm11_context_switch,
+ .cf_setup = arm11x6_setup
};
#endif /*CPU_ARM1176 */
#if defined(CPU_CORTEXA) || defined(CPU_KRAIT)
struct cpu_functions cortexa_cpufuncs = {
/* CPU functions */
-
- cpufunc_nullop, /* cpwait */
+ .cf_cpwait = cpufunc_nullop,
/* MMU functions */
-
- cpufunc_control, /* control */
- armv7_setttb, /* Setttb */
+ .cf_control = cpufunc_control,
+ .cf_setttb = armv7_setttb,
/*
* TLB functions. ARMv7 does all TLB ops based on a unified TLB model
@@ -511,45 +489,38 @@ struct cpu_functions cortexa_cpufuncs =
* same 'ID' functions for all 3 variations.
*/
- armv7_tlb_flushID, /* tlb_flushID */
- armv7_tlb_flushID_SE, /* tlb_flushID_SE */
- armv7_tlb_flushID, /* tlb_flushD */
- armv7_tlb_flushID_SE, /* tlb_flushD_SE */
+ .cf_tlb_flushID = armv7_tlb_flushID,
+ .cf_tlb_flushID_SE = armv7_tlb_flushID_SE,
+ .cf_tlb_flushD = armv7_tlb_flushID,
+ .cf_tlb_flushD_SE = armv7_tlb_flushID_SE,
/* Cache operations */
-
- armv7_icache_sync_range, /* icache_sync_range */
-
- armv7_dcache_wbinv_all, /* dcache_wbinv_all */
- armv7_dcache_wbinv_range, /* dcache_wbinv_range */
- armv7_dcache_inv_range, /* dcache_inv_range */
- armv7_dcache_wb_range, /* dcache_wb_range */
-
- armv7_idcache_inv_all, /* idcache_inv_all */
- armv7_idcache_wbinv_all, /* idcache_wbinv_all */
- armv7_idcache_wbinv_range, /* idcache_wbinv_range */
+ .cf_icache_sync_range = armv7_icache_sync_range,
+ .cf_dcache_wbinv_all = armv7_dcache_wbinv_all,
+ .cf_dcache_wbinv_range = armv7_dcache_wbinv_range,
+ .cf_dcache_inv_range = armv7_dcache_inv_range,
+ .cf_dcache_wb_range = armv7_dcache_wb_range,
+ .cf_idcache_inv_all = armv7_idcache_inv_all,
+ .cf_idcache_wbinv_all = armv7_idcache_wbinv_all,
+ .cf_idcache_wbinv_range = armv7_idcache_wbinv_range,
/*
* Note: For CPUs using the PL310 the L2 ops are filled in when the
* L2 cache controller is actually enabled.
*/
- cpufunc_nullop, /* l2cache_wbinv_all */
- (void *)cpufunc_nullop, /* l2cache_wbinv_range */
- (void *)cpufunc_nullop, /* l2cache_inv_range */
- (void *)cpufunc_nullop, /* l2cache_wb_range */
- (void *)cpufunc_nullop, /* l2cache_drain_writebuf */
+ .cf_l2cache_wbinv_all = cpufunc_nullop,
+ .cf_l2cache_wbinv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_inv_range = (void *)cpufunc_nullop,
+ .cf_l2cache_wb_range = (void *)cpufunc_nullop,
+ .cf_l2cache_drain_writebuf = (void *)cpufunc_nullop,
/* Other functions */
-
- armv7_drain_writebuf, /* drain_writebuf */
-
- armv7_cpu_sleep, /* sleep */
+ .cf_drain_writebuf = armv7_drain_writebuf,
+ .cf_sleep = armv7_cpu_sleep,
/* Soft functions */
-
- armv7_context_switch, /* context_switch */
-
- cortexa_setup /* cpu setup */
+ .cf_context_switch = armv7_context_switch,
+ .cf_setup = cortexa_setup
};
#endif /* CPU_CORTEXA */
More information about the svn-src-all
mailing list