Rev 3403 | Rev 4337 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3403 | Rev 3448 | ||
---|---|---|---|
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 |