1 |
/* VM page. |
/* VM page. |
2 |
Copyright 1999, 2000, 2001, 2002 Johan Rydberg, jrydberg@opencores.org. |
Copyright 1999, 2000, 2001, 2002 Johan Rydberg, jrydberg@rtmk.org. |
3 |
|
|
4 |
This program is free software; you can redistribute it and/or modify |
This program is free software; you can redistribute it and/or modify |
5 |
it under the terms of the GNU General Public License as published by |
it under the terms of the GNU General Public License as published by |
127 |
|
|
128 |
/* ??? release pages. */ |
/* ??? release pages. */ |
129 |
for (i = resident_pages; i >= 0; --i) |
for (i = resident_pages; i >= 0; --i) |
130 |
vm_page_release (& pages [i]); |
{ |
131 |
|
trace_count (n_vm_pages++); |
132 |
|
vm_page_release (& pages [i]); |
133 |
|
} |
134 |
|
|
135 |
/* Show some information on the console. */ |
/* Show some information on the console. */ |
136 |
|
|
206 |
} |
} |
207 |
else |
else |
208 |
{ |
{ |
209 |
|
trace_count (n_vm_free_pages++); |
210 |
page_free_count++; |
page_free_count++; |
211 |
queue_enter (&page_free_list, page, struct vm_page *, listq); |
queue_enter (&page_free_list, page, struct vm_page *, listq); |
212 |
} |
} |
225 |
|
|
226 |
queue_remove_last (& page_free_list, page, struct vm_page *, listq); |
queue_remove_last (& page_free_list, page, struct vm_page *, listq); |
227 |
page_free_count--; |
page_free_count--; |
228 |
|
trace_count (n_vm_free_pages--); |
229 |
|
trace_count (n_vm_active_pages++); |
230 |
|
|
231 |
return page; |
return page; |
232 |
} |
} |