diff --git a/sys/vmm/getfreevirtualpage.c b/sys/vmm/getfreevirtualpage.c index 41f8303..0d0d732 100644 --- a/sys/vmm/getfreevirtualpage.c +++ b/sys/vmm/getfreevirtualpage.c @@ -82,6 +82,9 @@ } + // XXX - TEMP + start_page = PD_INDEX( VMM_USER_START ) * PAGE_SIZE'' + /* Locate Initial Page Table */ keepMapping: @@ -148,6 +151,7 @@ if( counter < count ) { kprintf( "y: %i, counter: %i, count: %i\n", y, counter, count ); + start_page += ( PAGE_SIZE * counter ); goto keepMapping; diff --git a/sys/vmm/vmm_mmap.c b/sys/vmm/vmm_mmap.c index af2b128..7b10432 100644 --- a/sys/vmm/vmm_mmap.c +++ b/sys/vmm/vmm_mmap.c @@ -191,9 +191,7 @@ kprintf("[tmp5.0: %i:%i]\n", _current->id, round_page( uap->len ) / PAGE_SIZE ); - //td->td_retval[0] = ( void * ) vmm_getFreeVirtualPage( _current->id, round_page( uap->len ) / PAGE_SIZE, VM_TASK ); - - td->td_retval[0] = ( void * ) vmm_getFreeVirtualPage( _current->id, (uap->len + 4095 ) / PAGE_SIZE, VM_TASK ); + td->td_retval[0] = ( void * ) vmm_getFreeVirtualPage( _current->id, round_page( uap->len ) / PAGE_SIZE, VM_TASK ); if( td->td_retval[0] == 0x0 ) K_PANIC( "UNABLE TO GET FREE VIRTUAL PAGE" );