Subversion Repositories HelenOS

Rev

Rev 3384 | Rev 3707 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3384 Rev 3422
Line 383... Line 383...
383
        return EPERM;
383
        return EPERM;
384
    }
384
    }
385
   
385
   
386
    if (pages < area->pages) {
386
    if (pages < area->pages) {
387
        bool cond;
387
        bool cond;
388
        uintptr_t start_free = area->base + pages*PAGE_SIZE;
388
        uintptr_t start_free = area->base + pages * PAGE_SIZE;
389
 
389
 
390
        /*
390
        /*
391
         * Shrinking the area.
391
         * Shrinking the area.
392
         * No need to check for overlaps.
392
         * No need to check for overlaps.
393
         */
393
         */
394
 
394
 
395
        /*
395
        /*
396
         * Start TLB shootdown sequence.
396
         * Start TLB shootdown sequence.
397
         */
397
         */
398
        tlb_shootdown_start(TLB_INVL_PAGES, AS->asid, area->base +
398
        tlb_shootdown_start(TLB_INVL_PAGES, as->asid, area->base +
399
            pages * PAGE_SIZE, area->pages - pages);
399
            pages * PAGE_SIZE, area->pages - pages);
400
 
400
 
401
        /*
401
        /*
402
         * Remove frames belonging to used space starting from
402
         * Remove frames belonging to used space starting from
403
         * the highest addresses downwards until an overlap with
403
         * the highest addresses downwards until an overlap with