Commit 84886a47 authored by Philippe Gerum's avatar Philippe Gerum Committed by Jan Kiszka

cobalt/irq: dovetail: add placeholders for out-of-band IRQ management

Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
parent 36c9d15c
/*
* SPDX-License-Identifier: GPL-2.0
*/
#ifndef _COBALT_KERNEL_DOVETAIL_PIPELINE_H
#define _COBALT_KERNEL_DOVETAIL_PIPELINE_H
#include <linux/irq_pipeline.h>
#include <cobalt/kernel/assert.h>
typedef unsigned long spl_t;
/*
* We only keep the LSB when testing in SMP mode in order to strip off
* the recursion marker (0x2) the nklock may store there.
*/
#define splhigh(x) ((x) = oob_irq_save() & 1)
#ifdef CONFIG_SMP
#define splexit(x) oob_irq_restore(x & 1)
#else /* !CONFIG_SMP */
#define splexit(x) oob_irq_restore(x)
#endif /* !CONFIG_SMP */
#define splmax() oob_irq_disable()
#define splnone() oob_irq_enable()
#define spltest() oob_irqs_disabled()
#define is_secondary_domain() running_inband()
#define is_primary_domain() running_oob()
#ifdef CONFIG_SMP
static inline int pipeline_request_resched_ipi(void (*handler)(void))
{
/* Trap the out-of-band rescheduling interrupt. */
TODO();
return 0;
}
static inline void pipeline_free_resched_ipi(void)
{
/* Release the out-of-band rescheduling interrupt. */
TODO();
}
static inline void pipeline_send_resched_ipi(const struct cpumask *dest)
{
/*
* Trigger the out-of-band rescheduling interrupt on remote
* CPU(s).
*/
TODO();
}
static inline int pipeline_request_timer_ipi(void (*handler)(void))
{
/* Trap the out-of-band timer interrupt. */
TODO();
return 0;
}
static inline void pipeline_free_timer_ipi(void)
{
/* Release the out-of-band timer interrupt. */
TODO();
}
static inline void pipeline_send_timer_ipi(const struct cpumask *dest)
{
/*
* Trigger the out-of-band timer interrupt on remote CPU(s).
*/
TODO();
}
#endif
static inline void pipeline_prepare_panic(void)
{
/* N/A */
}
#endif /* !_COBALT_KERNEL_DOVETAIL_PIPELINE_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment