Require the ARM Generic Timer driver is built for MULTIDELAY on 32bit arm.

As this driver is also used for DELAY on arm64 we need to keep the existing
DELAY code for it to use.
This commit is contained in:
Andrew Turner 2017-07-05 09:27:18 +00:00
parent 2bbd226f5a
commit 88fd0c95a3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=320668
2 changed files with 8 additions and 3 deletions

View File

@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$");
#include <machine/intr.h>
#include <machine/md_var.h>
#ifdef MULTIDELAY
#if defined(__arm__)
#include <machine/machdep.h> /* For arm_set_delay */
#endif
@ -72,6 +72,10 @@ __FBSDID("$FreeBSD$");
#include <dev/acpica/acpivar.h>
#endif
#if defined(__arm__) && !defined(MULTIDELAY)
#error The generic timer requires MULTIDELAY on 32bit arm
#endif
#define GT_CTRL_ENABLE (1 << 0)
#define GT_CTRL_INT_MASK (1 << 1)
#define GT_CTRL_INT_STAT (1 << 2)
@ -427,7 +431,7 @@ arm_tmr_attach(device_t dev)
sc->et.et_priv = sc;
et_register(&sc->et);
#ifdef MULTIDELAY
#if defined(__arm__)
arm_set_delay(arm_tmr_do_delay, sc);
#endif
@ -505,7 +509,7 @@ arm_tmr_do_delay(int usec, void *arg)
}
}
#ifndef MULTIDELAY
#if defined(__aarch64__)
void
DELAY(int usec)
{

View File

@ -23,6 +23,7 @@ makeoptions WERROR="-Werror"
include "std.armv6"
options SCHED_ULE # ULE scheduler
options PLATFORM # Platform based SoC
options MULTIDELAY
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols