diff options
Diffstat (limited to 'sys/arch/arm/cortex/cortex.c')
-rw-r--r-- | sys/arch/arm/cortex/cortex.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/arm/cortex/cortex.c b/sys/arch/arm/cortex/cortex.c index 73aa315a757..913feb7963c 100644 --- a/sys/arch/arm/cortex/cortex.c +++ b/sys/arch/arm/cortex/cortex.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cortex.c,v 1.3 2015/05/29 05:48:07 jsg Exp $ */ +/* $OpenBSD: cortex.c,v 1.4 2016/04/08 12:08:54 patrick Exp $ */ /* $NetBSD: mainbus.c,v 1.3 2001/06/13 17:52:43 nathanw Exp $ */ /* @@ -51,6 +51,7 @@ #include <arm/cpufunc.h> #include <arm/armv7/armv7var.h> #include <arm/cortex/cortex.h> +#include <arm/mainbus/mainbus.h> struct arm32_bus_dma_tag cortex_bus_dma_tag = { 0, @@ -94,10 +95,15 @@ struct cfdriver cortex_cd = { */ int -cortexmatch(struct device *parent, void *cf, void *aux) +cortexmatch(struct device *parent, void *cfdata, void *aux) { + struct mainbus_attach_args *ma = aux; + struct cfdata *cf = (struct cfdata *)cfdata; int cputype = cpufunc_id(); + if (strcmp(cf->cf_driver->cd_name, ma->ma_name) != 0) + return (0); + if ((cputype & CPU_ID_CORTEX_A7_MASK) == CPU_ID_CORTEX_A7 || (cputype & CPU_ID_CORTEX_A9_MASK) == CPU_ID_CORTEX_A9 || (cputype & CPU_ID_CORTEX_A15_MASK) == CPU_ID_CORTEX_A15 || |