Exemple #1
0
static void __attribute__((constructor)) mallocsetup(void)
{
  hts_lwmutex_init(&mutex);

#ifdef USE_VIRTUAL_MEM

  int size = MB(256);
  int psize = MB(96);

  Lv2Syscall6(300, size, psize, 0xFFFFFFFFU, 0x200ULL, 1UL, (u64)&heap_base);
#else

  int size = MB(96);

  Lv2Syscall3(348, size, 0x400, (u64)&heap_base);

#endif

  total_avail = size;
  gpool = tlsf_create((void *)(intptr_t)heap_base, size);

  // Malloc is initialized now so we can safely do this

  http_path_add("/api/memstats", NULL, memstats, 1);
}
Exemple #2
0
void
backend_init(void)
{
  backend_t *be;
  hts_lwmutex_init(&dyanamic_backends_mutex);
  hts_mutex_init(&imageloader_mutex);
  hts_cond_init(&imageloader_cond, &imageloader_mutex);

  TAILQ_INIT(&cached_images);

  LIST_FOREACH(be, &backends, be_global_link)
    if(be->be_init != NULL)
      be->be_init();
}