mirror of
https://github.com/drasko/codezero.git
synced 2026-01-18 13:53:16 +01:00
- KIP's pointer to UTCB seems to work with existing l4lib ipc functions. - Works up to clone() - In clone we mmap() the same UTCB on each new thread - excessive. - Generally during page fault handling, cloned threads may fault on the same page multiple times even though a single handling would be enough for all of them. Need to detect and handle this.
21 lines
486 B
C
21 lines
486 B
C
#ifndef __MM0_IDPOOL_H__
|
|
#define __MM0_IDPOOL_H__
|
|
|
|
#include <lib/bit.h>
|
|
#include <lib/spinlock.h>
|
|
|
|
struct id_pool {
|
|
int nwords;
|
|
int bitlimit;
|
|
u32 bitmap[];
|
|
};
|
|
|
|
struct id_pool *id_pool_new_init(int mapsize);
|
|
int id_new(struct id_pool *pool);
|
|
int id_del(struct id_pool *pool, int id);
|
|
int id_get(struct id_pool *pool, int id);
|
|
int ids_new_contiguous(struct id_pool *pool, int numids);
|
|
int ids_del_contiguous(struct id_pool *pool, int first, int numids);
|
|
|
|
#endif /* __MM0_IDPOOL_H__ */
|