Rev 2415 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2415 | Rev 2464 | ||
---|---|---|---|
Line 42... | Line 42... | ||
42 | uintptr_t last_frame = 0; |
42 | uintptr_t last_frame = 0; |
43 | 43 | ||
44 | /** Creates memory zones. */ |
44 | /** Creates memory zones. */ |
45 | void frame_arch_init(void) |
45 | void frame_arch_init(void) |
46 | { |
46 | { |
47 | // all memory as one zone |
47 | /* all memory as one zone */ |
48 | zone_create(0, ADDR2PFN(config.memory_size), |
48 | zone_create(0, ADDR2PFN(config.memory_size), |
49 | BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0); |
49 | BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0); |
50 | last_frame = config.memory_size; |
50 | last_frame = config.memory_size; |
51 | 51 | ||
52 | // blacklist boot page table |
52 | /* blacklist boot page table */ |
53 | frame_mark_unavailable(BOOT_PAGE_TABLE_START_FRAME, BOOT_PAGE_TABLE_SIZE_IN_FRAMES); |
53 | frame_mark_unavailable(BOOT_PAGE_TABLE_START_FRAME, |
- | 54 | BOOT_PAGE_TABLE_SIZE_IN_FRAMES); |
|
54 | } |
55 | } |
55 | 56 | ||
56 | - | ||
57 | /** Frees the boot page table. */ |
57 | /** Frees the boot page table. */ |
58 | void boot_page_table_free(void) |
58 | void boot_page_table_free(void) |
59 | { |
59 | { |
60 | int i; |
60 | int i; |
61 | for (i = 0; i < BOOT_PAGE_TABLE_SIZE_IN_FRAMES; ++i) { |
61 | for (i = 0; i < BOOT_PAGE_TABLE_SIZE_IN_FRAMES; i++) { |
62 | frame_free (i * FRAME_SIZE + BOOT_PAGE_TABLE_ADDRESS); |
62 | frame_free(i * FRAME_SIZE + BOOT_PAGE_TABLE_ADDRESS); |
63 | } |
63 | } |
64 | } |
64 | } |
65 | 65 | ||
66 | - | ||
67 | /** @} |
66 | /** @} |
68 | */ |
67 | */ |