Changeset dfb16c4 in mainline


Ignore:
Timestamp:
2023-10-22T17:26:17Z (7 months ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
78f0422c
Parents:
e8c235b
git-author:
Vojtech Horky <vojtech.horky@…> (2023-08-02 14:51:11)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-10-22 17:26:17)
Message:

Panic on unexpected use of exception handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/interrupt/interrupt.c

    re8c235b rdfb16c4  
    5858#include <trace.h>
    5959
     60/*
     61 * If IVT_ITEMS is zero (e.g. for special/abs32le) we hide completely any
     62 * access to the exception table array and panic if the function is called
     63 * at all. It also silences (correct) compiler warnings about possible
     64 * out-of-bound array access.
     65 */
     66
    6067exc_table_t exc_table[IVT_ITEMS];
    6168IRQ_SPINLOCK_INITIALIZE(exctbl_lock);
     
    7784#if (IVT_ITEMS > 0)
    7885        assert(n < IVT_ITEMS);
    79 #endif
    8086
    8187        irq_spinlock_lock(&exctbl_lock, true);
     
    9197
    9298        return old;
     99#else
     100        panic("No space for any exception handler, cannot register.");
     101#endif
    93102}
    94103
     
    103112#if (IVT_ITEMS > 0)
    104113        assert(n < IVT_ITEMS);
    105 #endif
    106114
    107115        /* Account user cycles */
     
    152160                irq_spinlock_unlock(&THREAD->lock, false);
    153161        }
     162#else
     163        panic("No space for any exception handler, yet we want to handle some exception.");
     164#endif
    154165}
    155166
Note: See TracChangeset for help on using the changeset viewer.