2015-04-22 01:31:31 +08:00
|
|
|
#ifndef __KLOADER_H
|
|
|
|
#define __KLOADER_H
|
|
|
|
|
2015-04-22 15:01:32 +08:00
|
|
|
#define KERNELCPU_EXEC_ADDRESS 0x40400000
|
2015-07-28 02:12:14 +08:00
|
|
|
#define KERNELCPU_PAYLOAD_ADDRESS 0x40408000
|
2015-04-22 01:31:31 +08:00
|
|
|
|
2015-07-25 16:26:04 +08:00
|
|
|
extern long long int now;
|
|
|
|
|
2015-04-22 01:31:31 +08:00
|
|
|
typedef void (*kernel_function)(void);
|
|
|
|
|
|
|
|
int kloader_load(void *buffer, int length);
|
|
|
|
kernel_function kloader_find(const char *name);
|
|
|
|
|
|
|
|
void kloader_start_bridge(void);
|
2015-10-31 23:26:09 +08:00
|
|
|
int kloader_start_startup_kernel(void);
|
|
|
|
int kloader_start_idle_kernel(void);
|
2015-04-22 01:31:31 +08:00
|
|
|
void kloader_start_user_kernel(kernel_function k);
|
2015-05-09 17:11:34 +08:00
|
|
|
void kloader_stop(void);
|
2015-04-22 01:31:31 +08:00
|
|
|
|
2015-07-25 16:26:04 +08:00
|
|
|
int kloader_validate_kpointer(void *p);
|
|
|
|
int kloader_is_essential_kmsg(int msgtype);
|
|
|
|
void kloader_service_essential_kmsg(void);
|
|
|
|
|
2015-04-22 01:31:31 +08:00
|
|
|
#endif /* __KLOADER_H */
|