Removed hard-coded area definitions from kernel

This commit is contained in:
Bahadir Balban
2009-10-17 13:42:49 +03:00
parent fc95d95454
commit d19c5c26fd
5 changed files with 2 additions and 45 deletions

View File

@@ -52,7 +52,7 @@ int user_mutex_test(void)
__FUNCTION__, (int)base);
goto out_err;
} else
printf("mmap: Anonymous shared buffer at %p\n", base);
test_printf("mmap: Anonymous shared buffer at %p\n", base);
shared_page = base;

View File

@@ -10,21 +10,6 @@
#endif
#include INC_PLAT(offsets.h)
#define USER_AREA_START 0x10000000
#define USER_AREA_END 0x20000000
#define USER_AREA_SIZE (USER_AREA_END - USER_AREA_START)
#define USER_AREA_SECTIONS (USER_AREA_SIZE / ARM_SECTION_SIZE)
#define PMDS_PER_TASK (USER_AREA_SIZE / PMD_MAP_SIZE)
#define SHM_AREA_START 0x20000000
#define SHM_AREA_END 0x30000000
#define SHM_AREA_SIZE (SHM_AREA_END - SHM_AREA_START)
#define SHM_AREA_SECTIONS (SHM_AREA_SIZE / ARM_SECTION_SIZE)
#define INITTASK_AREA_START 0xE0000000
#define INITTASK_AREA_END 0xF0000000 /* 256 MB, too much. */
#define INITTASK_AREA_SIZE (INITTASK_AREA_END - INITTASK_AREA_START)
#define KERNEL_AREA_START 0xF0000000
#define KERNEL_AREA_END 0xF8000000 /* 128 MB */
#define KERNEL_AREA_SIZE (KERNEL_AREA_END - KERNEL_AREA_START)
@@ -65,12 +50,8 @@
#define virt_to_phys(addr) ((unsigned int)(addr) - KERNEL_OFFSET)
#endif
#define PAGER_ADDR(x) ((x >= INITTASK_AREA_START) && (x < INITTASK_AREA_END))
#define KERN_ADDR(x) ((x >= KERNEL_AREA_START) && (x < KERNEL_AREA_END))
#define UTCB_ADDR(x) ((x >= UTCB_AREA_START) && (x < UTCB_AREA_END))
#define SHM_ADDR(x) ((x >= SHM_AREA_START) && (x < SHM_AREA_END))
#define USER_ADDR(x) (((x >= USER_AREA_START) && (x < USER_AREA_END)) || \
UTCB_ADDR(x) || SHM_ADDR(x) || PAGER_ADDR(x))
#define PRIVILEGED_ADDR(x) (KERN_ADDR(x) || (x >= ARM_HIGH_VECTOR) || \
(x >= IO_AREA_START && x < IO_AREA_END))

View File

@@ -75,26 +75,6 @@ static inline void be32_to_cpu(unsigned int x)
p[2] = tmp;
}
/* Some anticipated values in terms of memory consumption */
#define TASK_AVERAGE_SIZE SZ_16MB
#define TASKS_PER_1MB_GRANT 28
/*
* Each time a pager grants memory to the kernel, these parameters are called
* for in order to distribute the granted memory for different purposes.
*
* The granted memory is used in an architecture-specific way, e.g. for pgds,
* pmds, and kernel stack. Therefore this should be defined per-arch.
*/
typedef struct grant_kmem_usage {
unsigned long total_size;
unsigned long total_tasks;
unsigned long total_pgds;
unsigned long total_pmds;
unsigned long total_tcbs;
unsigned long extra;
} grant_kmem_usage_t;
void paging_init(void);
unsigned int space_flags_to_ptflags(unsigned int flags);

View File

@@ -234,7 +234,7 @@ int sys_mutex_control(unsigned long mutex_address, int mutex_op)
}
/* Check valid user virtual address */
if (!USER_ADDR(mutex_address)) {
if (KERN_ADDR(mutex_address)) {
printk("Invalid args to %s.\n", __FUNCTION__);
return -EINVAL;
}

View File

@@ -147,10 +147,6 @@ int check_access_task(unsigned long vaddr, unsigned long size,
int err;
unsigned long start, end, mapsize;
/* Do not allow ridiculously big sizes */
if (size >= USER_AREA_SIZE)
return -EINVAL;
/* Get lower and upper page boundaries */
start = page_align(vaddr);
end = page_align_up(vaddr + size);