mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2025-01-04 07:53:34 +01:00
e1aca8d89b
This change introduces exception handlers that default to a fatal error with an on-screen description of the exception and some debugging information. It also adds the dprint() function as a definitely-needed helper and removes bootlog_unmapped() by using the exception handler for the fatal error display. (Also printf() is now required in all gint add-ins; this is sad, but space is not as much of a constraint as debugging.) Finally, the exception handler is used to handle an interrupt which is an exception in practice, the DMA address error. On fx-CG 50, additional DMA-related information is displayed on the screen. This is left out on fx-9860G as there is not enough space.
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
//---
|
|
// core:bootlog - Boot-time on-screen log for extreme debugging
|
|
//---
|
|
|
|
#ifndef GINT_CORE_BOOTLOG
|
|
#define GINT_CORE_BOOTLOG
|
|
|
|
#include <gint/defs/attributes.h>
|
|
|
|
/* bootlog_loaded() - section loading stage
|
|
Called when RAM sections have been wiped and copied */
|
|
void bootlog_loaded(void);
|
|
|
|
/* bootlog_mapped() - ROM mapping stage
|
|
Called after all ROM pages have been traversed. All of them may not have
|
|
been mapped.
|
|
@rom Amount of mapped ROM, in bytes
|
|
@ram Amount of mapped RAM, in bytes */
|
|
void bootlog_mapped(uint32_t rom, uint32_t ram);
|
|
|
|
/* bootlog_kernel() - gint loading stage
|
|
Called when gint has been installed, the VBR switched and the interrupt
|
|
handlers set up. */
|
|
void bootlog_kernel(void);
|
|
|
|
/* bootlog_driver() - driver load
|
|
Called for very loaded driver. */
|
|
void bootlog_driver(const char *driver_name, const char *status);
|
|
void bootlog_driver_summary(void);
|
|
|
|
/* All these functions are enabled only if GINT_BOOT_LOG is defined */
|
|
#ifndef GINT_BOOT_LOG
|
|
#define bootlog_loaded(...)
|
|
#define bootlog_mapped(...)
|
|
#define bootlog_kernel(...)
|
|
#define bootlog_driver(...)
|
|
#define bootlog_driver_summary(...)
|
|
#endif
|
|
|
|
#endif /* GINT_CORE_BOOTLOG */
|