source: rtems/bsps/powerpc/qemuppc/irq/irq_init.c @ 6d4a72eb

Last change on this file since 6d4a72eb was 6d4a72eb, checked in by Christian Mauderer <christian.mauderer@…>, on 03/03/22 at 09:14:04

bsps/powerpc: Manual file header clean up

Updates #4625.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 * RTEMS generic MPC83xx BSP
3 *
4 * This file integrates the IPIC irq controller.
5 */
6
7/*
8 * Copyright (c) 2007 embedded brains GmbH. All rights reserved.
9 *
10 * The license and distribution terms for this file may be
11 * found in the file LICENSE in this distribution or at
12 * http://www.rtems.org/license/LICENSE.
13 */
14
15#include <rtems.h>
16
17#include <libcpu/powerpc-utility.h>
18
19#include <bsp.h>
20#include <bsp/irq.h>
21#include <bsp/irq-generic.h>
22#include <bsp/vectors.h>
23
24static int qemuppc_exception_handler(
25  BSP_Exception_frame *frame,
26  unsigned exception_number
27)
28{
29  rtems_panic("Unexpected interrupt occured");
30  return 0;
31}
32
33rtems_status_code bsp_interrupt_get_attributes(
34  rtems_vector_number         vector,
35  rtems_interrupt_attributes *attributes
36)
37{
38  return RTEMS_SUCCESSFUL;
39}
40
41rtems_status_code bsp_interrupt_is_pending(
42  rtems_vector_number vector,
43  bool               *pending
44)
45{
46  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
47  bsp_interrupt_assert(pending != NULL);
48  *pending = false;
49  return RTEMS_UNSATISFIED;
50}
51
52rtems_status_code bsp_interrupt_raise(rtems_vector_number vector)
53{
54  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
55  return RTEMS_UNSATISFIED;
56}
57
58rtems_status_code bsp_interrupt_clear(rtems_vector_number vector)
59{
60  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
61  return RTEMS_UNSATISFIED;
62}
63
64rtems_status_code bsp_interrupt_vector_is_enabled(
65  rtems_vector_number vector,
66  bool               *enabled
67)
68{
69  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
70  bsp_interrupt_assert(enabled != NULL);
71  *enabled = false;
72  return RTEMS_UNSATISFIED;
73}
74
75/*
76 * functions to enable/disable a source at the ipic
77 */
78rtems_status_code bsp_interrupt_vector_enable( rtems_vector_number irqnum)
79{
80  /* FIXME: do something */
81  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
82  return RTEMS_SUCCESSFUL;
83}
84
85rtems_status_code bsp_interrupt_vector_disable( rtems_vector_number irqnum)
86{
87  /* FIXME: do something */
88  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
89  return RTEMS_SUCCESSFUL;
90}
91
92void bsp_interrupt_facility_initialize(void)
93{
94  rtems_status_code sc;
95
96  /* Install exception handler */
97  sc = ppc_exc_set_handler( ASM_EXT_VECTOR, qemuppc_exception_handler);
98  _Assert_Unused_variable_equals( sc, RTEMS_SUCCESSFUL);
99}
Note: See TracBrowser for help on using the repository browser.