Lines 47-54
static int kmem_mappings = 0;
Link Here
|
47 |
static struct mem_map_struct kmem_map[MAX_KMEM_MAPPINGS]; |
47 |
static struct mem_map_struct kmem_map[MAX_KMEM_MAPPINGS]; |
48 |
|
48 |
|
49 |
static int init_done = 0; |
49 |
static int init_done = 0; |
50 |
unsigned char * const mem_base; |
50 |
unsigned char * mem_base; |
51 |
char * const lowmem_base; |
51 |
char * lowmem_base; |
52 |
|
52 |
|
53 |
static struct mappingdrivers *mappingdrv[] = { |
53 |
static struct mappingdrivers *mappingdrv[] = { |
54 |
#ifdef HAVE_SHM_OPEN |
54 |
#ifdef HAVE_SHM_OPEN |
Lines 205-211
void *alias_mapping(int cap, unsigned targ, size_t mapsize, int protect, void *s
Link Here
|
205 |
addr = mappingdriver.alias(cap, target, mapsize, protect, source); |
205 |
addr = mappingdriver.alias(cap, target, mapsize, protect, source); |
206 |
update_aliasmap(target, mapsize, (cap & MAPPING_VGAEMU) ? target : source); |
206 |
update_aliasmap(target, mapsize, (cap & MAPPING_VGAEMU) ? target : source); |
207 |
if (cap & MAPPING_INIT_LOWRAM) { |
207 |
if (cap & MAPPING_INIT_LOWRAM) { |
208 |
*(unsigned char **)&mem_base = addr; |
208 |
mem_base = addr; |
209 |
} |
209 |
} |
210 |
return addr; |
210 |
return addr; |
211 |
} |
211 |
} |
Lines 416-422
void *alloc_mapping(int cap, size_t mapsize, off_t target)
Link Here
|
416 |
|
416 |
|
417 |
if (cap & MAPPING_INIT_LOWRAM) { |
417 |
if (cap & MAPPING_INIT_LOWRAM) { |
418 |
Q__printf("MAPPING: LOWRAM_INIT, cap=%s, base=%p\n", cap, addr); |
418 |
Q__printf("MAPPING: LOWRAM_INIT, cap=%s, base=%p\n", cap, addr); |
419 |
*(char **)(&lowmem_base) = addr; |
419 |
lowmem_base = addr; |
420 |
} |
420 |
} |
421 |
return addr; |
421 |
return addr; |
422 |
} |
422 |
} |