Exemple #1
0
static UNNEEDED uint32_t max_page_id(void)
{
	static uint32_t max_page = 0;
	if(unlikely(max_page == 0)) {
		L4_Word_t md_num = 0;
		L4_MemoryDesc_t *md;
		while((md = L4_MemoryDesc(kip_mem, md_num)) != NULL) {
			if(L4_MemoryDescType(md) == L4_ConventionalMemoryType
				&& !L4_IsMemoryDescVirtual(md))
			{
				L4_Word_t hi = L4_MemoryDescHigh(md);
				if((hi >> 12) > max_page) max_page = hi >> 12;
			}
			md_num++;
		}
Exemple #2
0
static int
sys$find_memory_info(L4_KernelInterfacePage_t *kip, int pos,
        L4_Word_t *low, L4_Word_t *high, L4_Word_t *type)
{
    L4_MemoryDesc_t     *mem_desc;

    mem_desc = L4_MemoryDesc(kip, pos);
    PANIC(mem_desc == NULL);

    (*low) = L4_MemoryDescLow(mem_desc);
    (*high) = L4_MemoryDescHigh(mem_desc);
    (*type) = mem_desc->x.type;
    PANIC((*high) <= (*low));

    return(mem_desc->x.v == 0);
}