X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fvfs%2Fmmap.c;h=cbfce43b019d6179c361aceda029758699c22777;hb=c34752b7ccc945a70a2d9b1e505aa4a4de43163b;hp=c5015e67f02ffc1b6b3bfda5fb03bcdf75592edf;hpb=bd5e8623e509a443d7d6e1b959b79f85b0c285b7;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/vfs/mmap.c b/KernelLand/Kernel/vfs/mmap.c index c5015e67..cbfce43b 100644 --- a/KernelLand/Kernel/vfs/mmap.c +++ b/KernelLand/Kernel/vfs/mmap.c @@ -57,6 +57,7 @@ void *VFS_MMap(void *DestHint, size_t Length, int Protection, int Flags, int FD, PAGE_SIZE - (mapping_base & (PAGE_SIZE-1)) ); memset( (void*)(mapping_base + ofs), 0, PAGE_SIZE - (mapping_base & (PAGE_SIZE-1))); + LOG("dune"); } else { LOG("New empty page"); @@ -85,7 +86,8 @@ void *VFS_MMap(void *DestHint, size_t Length, int Protection, int Flags, int FD, pb = h->Node->MMapInfo, prev = NULL; pb && pb->BaseOffset + MMAP_PAGES_PER_BLOCK < pagenum; prev = pb, pb = pb->Next - ); + ) + ; LOG("pb = %p, pb->BaseOffset = %X", pb, pb ? pb->BaseOffset : 0); @@ -131,7 +133,8 @@ void *VFS_MMap(void *DestHint, size_t Length, int Protection, int Flags, int FD, return NULL; } // TODO: Clip read length - read_len = nt->Read(h->Node, pagenum*PAGE_SIZE, PAGE_SIZE, (void*)mapping_dest); + read_len = nt->Read(h->Node, pagenum*PAGE_SIZE, PAGE_SIZE, + (void*)mapping_dest, 0); // TODO: This was commented out, why? if( read_len != PAGE_SIZE ) { memset( (void*)(mapping_dest+read_len), 0, PAGE_SIZE-read_len );