Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
irq_offload.c File Reference

This test case verifies the correctness of irq_offload(), an important routine used in many other test cases for running a function in interrupt context, on the IRQ stack. More...

#include <zephyr/kernel.h>
#include <zephyr/ztest.h>
#include <zephyr/kernel_structs.h>
#include <zephyr/irq_offload.h>

Macros

#define SENTINEL_VALUE   0xDEADBEEF
 

Functions

 K_THREAD_STACK_DEFINE (offload_stack, 384+CONFIG_TEST_EXTRA_STACK_SIZE)
 
static void offload_function (const void *param)
 
void test_irq_offload (void)
 Verify thread context.
 
void nestoff_offload (const void *parameter)
 
static void nestoff_timer_fn (struct k_timer *timer)
 
static void offload_thread_fn (void *p0, void *p1, void *p2)
 
void test_nested_irq_offload (void)
 Invoke irq_offload from an interrupt and verify that the resulting nested interrupt doesn't explode.
 
void * common_setup (void)
 
 ZTEST_SUITE (irq_offload, NULL, common_setup, NULL, NULL, NULL)
 

Variables

volatile uint32_t sentinel
 
struct k_thread offload_thread
 
static struct k_timer nestoff_timer
 
static bool timer_executed
 
static bool nested_executed
 

Detailed Description

This test case verifies the correctness of irq_offload(), an important routine used in many other test cases for running a function in interrupt context, on the IRQ stack.

Function Documentation

◆ common_setup()

void * common_setup ( void )
extern

◆ ZTEST_SUITE()

ZTEST_SUITE ( irq_offload ,
NULL ,
common_setup ,
NULL ,
NULL ,
NULL  )