Subversion Repositories HelenOS

Rev

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

Rev 1903 Rev 1983
Line 62... Line 62...
62
             * The memmap is created by HelenOS boot loader.
62
             * The memmap is created by HelenOS boot loader.
63
             * It already contains no holes.
63
             * It already contains no holes.
64
             */
64
             */
65
   
65
   
66
            confdata = ADDR2PFN(start);
66
            confdata = ADDR2PFN(start);
67
            if (confdata == 0)
67
            if (confdata == ADDR2PFN(KA2PA(PFN2ADDR(0))))
68
                confdata = 2;
68
                confdata = ADDR2PFN(KA2PA(PFN2ADDR(2)));
69
            zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0);
69
            zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0);
70
       
-
 
71
            last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE));
70
            last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE));
72
        }
71
        }
73
    }
72
    }
74
 
73
   
-
 
74
    /*
-
 
75
     * On sparc64, physical memory can start on a non-zero address.
-
 
76
     * The generic frame_init() only marks PFN 0 as not free, so we
-
 
77
     * must mark the physically first frame not free explicitly here,
-
 
78
     * no matter what is its address.
-
 
79
     */
-
 
80
    frame_mark_unavailable(ADDR2PFN(KA2PA(PFN2ADDR(0))), 1);
75
}
81
}
76
 
82
 
77
/** @}
83
/** @}
78
 */
84
 */