Subversion Repositories HelenOS

Rev

Rev 2465 | Rev 3908 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2465 Rev 2725
Line 33... Line 33...
33
 *  @brief Frame related functions.
33
 *  @brief Frame related functions.
34
 */
34
 */
35
 
35
 
36
#include <mm/frame.h>
36
#include <mm/frame.h>
37
#include <arch/mm/frame.h>
37
#include <arch/mm/frame.h>
-
 
38
#include <arch/machine.h>
38
#include <config.h>
39
#include <config.h>
39
#include <arch/debug/print.h>
40
#include <arch/debug/print.h>
40
 
41
 
41
/** Address of the last frame in the memory. */
42
/** Address of the last frame in the memory. */
42
uintptr_t last_frame = 0;
43
uintptr_t last_frame = 0;
43
 
44
 
44
/** Creates memory zones. */
45
/** Creates memory zones. */
45
void frame_arch_init(void)
46
void frame_arch_init(void)
46
{
47
{
47
    /* all memory as one zone */
48
    /* all memory as one zone */
48
    zone_create(0, ADDR2PFN(config.memory_size),
49
    zone_create(0, ADDR2PFN(machine_get_memory_size()),
49
        BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0);
50
        BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0);
50
    last_frame = config.memory_size;
51
    last_frame = machine_get_memory_size();
51
 
52
 
52
    /* blacklist boot page table */
53
    /* blacklist boot page table */
53
    frame_mark_unavailable(BOOT_PAGE_TABLE_START_FRAME,
54
    frame_mark_unavailable(BOOT_PAGE_TABLE_START_FRAME,
54
        BOOT_PAGE_TABLE_SIZE_IN_FRAMES);
55
        BOOT_PAGE_TABLE_SIZE_IN_FRAMES);
55
}
56
}