Subversion Repositories HelenOS

Rev

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
 */