Rev 1809 | Rev 1817 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1809 | Rev 1816 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | 49 | ||
50 | uintptr_t last_frame = 0; |
50 | uintptr_t last_frame = 0; |
51 | 51 | ||
52 | void frame_arch_init(void) |
52 | void frame_arch_init(void) |
53 | { |
53 | { |
54 | static pfn_t minconf; |
- | |
55 | - | ||
56 | if (config.cpu_active == 1) { |
54 | if (config.cpu_active == 1) { |
57 | minconf = 1; |
- | |
58 | #ifdef CONFIG_SIMICS_FIX |
- | |
59 | minconf = max(minconf, ADDR2PFN(0x10000)); |
55 | pfn_t start = ADDR2PFN(ALIGN_UP(KA2PA(start_info.pt_base), PAGE_SIZE)) + start_info.nr_pt_frames; |
60 | #endif |
- | |
61 | - | ||
62 | /* Reserve frame 0 (BIOS data) */ |
- | |
63 | frame_mark_unavailable(0, 1); |
56 | size_t size = start_info.nr_pages - start; |
64 | 57 | ||
65 | #ifdef CONFIG_SIMICS_FIX |
- | |
66 | /* Don't know why, but these addresses help */ |
58 | zone_create(start, size, start, 0); |
67 | frame_mark_unavailable(0xd000 >> FRAME_WIDTH,3); |
59 | last_frame = start + size; |
68 | #endif |
- | |
69 | } |
60 | } |
70 | } |
61 | } |
71 | 62 | ||
72 | /** @} |
63 | /** @} |
73 | */ |
64 | */ |