Joel Sherrill b3739004bb Add dummy PIC IRQ support for Simple Vectored Architectures
The current implementation assumes that the architecture supports the Programmable
Interrupt Controller interrupt API in RTEMS. Most architectures do not use this
model and provide only the Simple Vectored interrupt API. The SPARC port has an
implementation of the PIC API that builds on the Simple Vectored API.

The code added here is just enough to compile. The hope is that a generic
PIC API wrapper will be implemented on top of the Simple Vectored which will
instantly provide support for all other architectures.

For now, the issues of code portability related to PCI support, in_cksum,
cpufunc.h, linkcmds etc are sufficiently challenging that just ensuring we are
able to compile for all RTEMS supported architectures will let us address many
issues.

In summary, this is just a placeholder which lets the RTEMS LibBSD code compile
on Simple Vectored architectures.
2012-07-14 10:41:02 -05:00

86 lines
1.8 KiB
C

/**
* @file
*
* @ingroup bsp_interrupt
*
* @brief BSP interrupt support configuration template.
*/
/*
* Based on concepts of Pavel Pisa, Till Straumann and Eric Valette.
*
* Copyright (c) 2008, 2009, 2010
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#ifndef LIBBSP_SHARED_IRQ_CONFIG_H
#define LIBBSP_SHARED_IRQ_CONFIG_H
#include <stdint.h>
/**
* @addtogroup bsp_interrupt
*
* @{
*/
/**
* @brief Minimum vector number.
*/
#define BSP_INTERRUPT_VECTOR_MIN 0
/**
* @brief Maximum vector number.
*/
#define BSP_INTERRUPT_VECTOR_MAX 0
/**
* @brief Enables the index table.
*
* If you enable the index table, you have to define a size for the handler
* table (@ref BSP_INTERRUPT_HANDLER_TABLE_SIZE) and must provide an integer
* type capable to index the complete handler table (@ref
* bsp_interrupt_handler_index_type).
*/
#undef BSP_INTERRUPT_USE_INDEX_TABLE
/**
* @brief Disables usage of the heap.
*
* If you define this, you have to define @ref BSP_INTERRUPT_USE_INDEX_TABLE as
* well.
*/
#undef BSP_INTERRUPT_NO_HEAP_USAGE
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
/**
* @brief Size of the handler table.
*/
#define BSP_INTERRUPT_HANDLER_TABLE_SIZE 0
/**
* @brief Integer type capable to index the complete handler table.
*/
typedef uint8_t bsp_interrupt_handler_index_type;
#endif
/**
* @brief Enable custom vector checking
*
* If defined the BSP must implement the custom bsp_interrupt_is_valid_vector()
* vector validator check routine.
*/
#undef BSP_INTERRUPT_CUSTOM_VALID_VECTOR
/** @} */
#endif /* LIBBSP_SHARED_IRQ_CONFIG_H */