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 |