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:
parent
2bbd226f5a
commit
88fd0c95a3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=320668
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user