57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
#ifndef COMMON_H
|
|
#define COMMON_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "os_defs.h"
|
|
|
|
#define CAFE_OS_SD_PATH "/vol/external01"
|
|
#define SD_PATH "sd:"
|
|
#define WIIU_PATH "/wiiu"
|
|
|
|
/* Macros for libs */
|
|
#define LIB_CORE_INIT 0
|
|
#define LIB_NSYSNET 1
|
|
#define LIB_GX2 2
|
|
// none dynamic libs
|
|
#define LIB_LOADER 0x1001
|
|
|
|
|
|
#ifndef MEM_BASE
|
|
#define MEM_BASE (0x00800000)
|
|
#endif
|
|
|
|
#define ELF_DATA_ADDR (*(volatile unsigned int*)(MEM_BASE + 0x1300 + 0x00))
|
|
#define ELF_DATA_SIZE (*(volatile unsigned int*)(MEM_BASE + 0x1300 + 0x04))
|
|
#define MAIN_ENTRY_ADDR (*(volatile unsigned int*)(MEM_BASE + 0x1400 + 0x00))
|
|
#define OS_FIRMWARE (*(volatile unsigned int*)(MEM_BASE + 0x1400 + 0x04))
|
|
|
|
#define OS_SPECIFICS ((OsSpecifics*)(MEM_BASE + 0x1500))
|
|
|
|
#ifndef EXIT_SUCCESS
|
|
#define EXIT_SUCCESS 0
|
|
#endif
|
|
#define EXIT_HBL_EXIT 0xFFFFFFFE
|
|
#define EXIT_RELAUNCH_ON_LOAD 0xFFFFFFFD
|
|
|
|
#define RESTORE_INSTR_MAGIC 0xC001C0DE
|
|
#define RESTORE_INSTR_ADDR ((restore_instructions_t*)(MEM_BASE + 0x1600))
|
|
|
|
typedef struct _restore_instructions_t {
|
|
unsigned int magic;
|
|
unsigned int instr_count;
|
|
struct {
|
|
unsigned int addr;
|
|
unsigned int instr;
|
|
} data[0];
|
|
} restore_instructions_t;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* COMMON_H */
|
|
|