int sef_llvm_state_transfer(sef_init_info_t *info);
int sef_llvm_add_special_mem_region(void *addr, size_t len, const char* name);
int sef_llvm_del_special_mem_region_by_addr(void *addr);
+void sef_llvm_ds_st_init(void);
void *sef_llvm_ac_mmap(void *buf, size_t len, int prot, int flags, int fd,
off_t offset);
int sef_llvm_ac_munmap(void *buf, size_t len);
return st_del_special_mmapped_region_by_addr(addr);
}
+/*===========================================================================*
+ * sef_llvm_ds_st_init *
+ *===========================================================================*/
+void sef_llvm_ds_st_init(void)
+{
+ extern void __attribute__((weak)) _magic_ds_st_init(void);
+ if (!_magic_ds_st_init)
+ return;
+ _magic_ds_st_init();
+}
+
/*===========================================================================*
* sef_llvm_ac_mmap *
*===========================================================================*/
sef_setcb_init_fresh(sef_cb_init_fresh);
sef_setcb_init_restart(sef_cb_init_fail);
+ /* Register state transfer callbacks. */
+ sef_llvm_ds_st_init();
+
/* No live update support for now. */
/* Let SEF perform startup. */