Rev 4343 | Rev 4346 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4343 | Rev 4344 | ||
|---|---|---|---|
| Line 24... | Line 24... | ||
| 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | */ |
27 | */ |
| 28 | 28 | ||
| 29 | /** @addtogroup mips32mm |
29 | /** @addtogroup mips32mm |
| 30 | * @{ |
30 | * @{ |
| 31 | */ |
31 | */ |
| 32 | /** @file |
32 | /** @file |
| 33 | */ |
33 | */ |
| 34 | 34 | ||
| Line 63... | Line 63... | ||
| 63 | } phys_region_t; |
63 | } phys_region_t; |
| 64 | 64 | ||
| 65 | static count_t phys_regions_count = 0; |
65 | static count_t phys_regions_count = 0; |
| 66 | static phys_region_t phys_regions[MAX_REGIONS]; |
66 | static phys_region_t phys_regions[MAX_REGIONS]; |
| 67 | 67 | ||
| 68 | uintptr_t end_frame = 0; |
- | |
| 69 | - | ||
| 70 | 68 | ||
| 71 | /** Check whether frame is available |
69 | /** Check whether frame is available |
| 72 | * |
70 | * |
| 73 | * Returns true if given frame is generally available for use. |
71 | * Returns true if given frame is generally available for use. |
| 74 | * Returns false if given frame is used for physical memory |
72 | * Returns false if given frame is used for physical memory |
| Line 218... | Line 216... | ||
| 218 | avail = false; |
216 | avail = false; |
| 219 | else { |
217 | else { |
| 220 | ZERO_PAGE_VALUE = 0xdeadbeef; |
218 | ZERO_PAGE_VALUE = 0xdeadbeef; |
| 221 | if (ZERO_PAGE_VALUE != 0xdeadbeef) |
219 | if (ZERO_PAGE_VALUE != 0xdeadbeef) |
| 222 | avail = false; |
220 | avail = false; |
| 223 | #if defined(lgxemul) || defined(bgxemul) |
221 | #if defined(MACHINE_lgxemul) || defined(MACHINE_bgxemul) |
| 224 | else { |
222 | else { |
| 225 | ZERO_PAGE_VALUE_KSEG1(frame) = 0xaabbccdd; |
223 | ZERO_PAGE_VALUE_KSEG1(frame) = 0xaabbccdd; |
| 226 | if (ZERO_PAGE_VALUE_KSEG1(frame) != 0xaabbccdd) |
224 | if (ZERO_PAGE_VALUE_KSEG1(frame) != 0xaabbccdd) |
| 227 | avail = false; |
225 | avail = false; |
| 228 | } |
226 | } |
| Line 236... | Line 234... | ||
| 236 | start_frame = frame + 1; |
234 | start_frame = frame + 1; |
| 237 | avail = true; |
235 | avail = true; |
| 238 | } |
236 | } |
| 239 | } |
237 | } |
| 240 | 238 | ||
| 241 | end_frame = frame; |
- | |
| 242 | - | ||
| 243 | frame_add_region(start_frame, end_frame); |
239 | frame_add_region(start_frame, frame); |
| 244 | 240 | ||
| 245 | /* Blacklist interrupt vector frame */ |
241 | /* Blacklist interrupt vector frame */ |
| 246 | frame_mark_unavailable(0, 1); |
242 | frame_mark_unavailable(0, 1); |
| 247 | 243 | ||
| 248 | /* Cleanup */ |
244 | /* Cleanup */ |