2018-04-19 13:24:26 +02:00
|
|
|
//---
|
2019-02-21 20:58:38 +01:00
|
|
|
// core:setup - Installing and unloading the library
|
2018-04-19 13:24:26 +02:00
|
|
|
//---
|
|
|
|
|
|
|
|
#ifndef GINT_CORE_SETUP
|
|
|
|
#define GINT_CORE_SETUP
|
|
|
|
|
2019-02-21 20:58:38 +01:00
|
|
|
#include <gint/defs/types.h>
|
2018-04-19 13:24:26 +02:00
|
|
|
|
|
|
|
/* Prototypes for the library management functions are in <gint/gint.h> */
|
|
|
|
|
|
|
|
/* gint_setvbr()
|
2019-02-21 20:58:38 +01:00
|
|
|
Changes the VBR address and calls the configuration function while
|
|
|
|
interrupts are disabled. The configuration function must disable all
|
|
|
|
interrupts that the new handlers cannot handle, either by clearing the
|
|
|
|
priority registers or by setting the interrupt masks.
|
2018-04-19 13:24:26 +02:00
|
|
|
|
|
|
|
@vbr New VBR address
|
|
|
|
@configure Configuration function
|
|
|
|
Returns the previous VBR address. */
|
|
|
|
uint32_t gint_setvbr(uint32_t vbr, void (*configure)(void));
|
|
|
|
|
2019-09-03 22:15:00 +02:00
|
|
|
/* gint_exch_tlbh(): Exception and TLB miss handler */
|
|
|
|
void gint_exch_tlbh(void);
|
|
|
|
|
|
|
|
/* gint_inth_7705(): SH7705 exception handler */
|
|
|
|
void gint_inth_7705(void);
|
|
|
|
/* gint_inth_7305(): SH7305 exception handler */
|
|
|
|
void gint_inth_7305(void);
|
|
|
|
|
2018-04-19 13:24:26 +02:00
|
|
|
#endif /* GINT_CORE_SETUP */
|