align address to page boundary, cosmetic changes

This commit is contained in:
Stefan Lankes 2011-12-03 12:06:36 -08:00
parent 3acdf72b88
commit feaf615724

View file

@ -35,7 +35,7 @@
#include <asm/icc.h>
#include <asm/svm.h>
#define USE_PERFCOUNTERS 1
#define USE_PERFCOUNTERS 0
#define SHARED_PAGES (4*(RCCE_SHM_SIZE_MAX >> PAGE_SHIFT))
#define OWNER_SIZE ((SHARED_PAGES * sizeof(uint8_t) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1))
@ -304,7 +304,8 @@ int svm_access_request(size_t addr)
max_wait = res;
#endif
ret = change_page_permissions(addr, addr+PAGE_SIZE, VMA_READ|VMA_WRITE|VMA_CACHEABLE);
addr &= 0xFFFFF000; // align address to page boundary
ret = change_page_permissions(addr, addr + PAGE_SIZE, VMA_READ|VMA_WRITE|VMA_CACHEABLE);
#if USE_PERFCOUNTERS
request_ticks += rdtsc() - start;
@ -324,7 +325,7 @@ void* svm_malloc(size_t size, uint32_t consistency)
uint32_t map_flags = MAP_KERNEL_SPACE|MAP_SVM_INIT;
uint8_t buffer[RCCE_LINE_SIZE]= {[0 ... RCCE_LINE_SIZE-1] = 0};
if( !(consistency & SVM_L2) )
if(!(consistency & SVM_L2))
map_flags |= MAP_MPE;
else
task->flags |= TASK_L2;
@ -419,8 +420,9 @@ void* svm_malloc(size_t size, uint32_t consistency)
#endif
viraddr = map_region(0, 0, size >> PAGE_SHIFT, map_flags);
kprintf("svmmalloc: viraddr 0x%x, size 0x%x\n", viraddr, size);
kprintf("svmmalloc: viraddr 0x%x, size 0x%x, flags 0x%x\n", viraddr, size, map_flags);
map_flags |= MAP_REMAP;
for(i=0, j=0, mpb_addr=0; i<size; i+=PAGE_SIZE, j++) {
if (j % (RCCE_LINE_SIZE/sizeof(uint16_t)) == 0) {
flags = irq_nested_disable();
@ -440,8 +442,8 @@ void* svm_malloc(size_t size, uint32_t consistency)
phyaddr = (size_t)mpb_addr + (j % (RCCE_LINE_SIZE/sizeof(uint16_t))) * sizeof(uint16_t);
phyaddr <<= PAGE_SHIFT;
//kprintf("phyaddr 0x%x\n", phyaddr);
map_region(viraddr+i, phyaddr, 1, map_flags|MAP_REMAP);
//kprintf("viraddr 0x%x, phyaddr 0x%x, flags 0x%x\n", viraddr+i, phyaddr, map_flags);
map_region(viraddr+i, phyaddr, 1, map_flags);
}
return (void*) viraddr;