64,14 → 64,20 |
*/ |
|
confdata = ADDR2PFN(start); |
if (confdata == 0) |
confdata = 2; |
if (confdata == ADDR2PFN(KA2PA(PFN2ADDR(0)))) |
confdata = ADDR2PFN(KA2PA(PFN2ADDR(2))); |
zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0); |
|
last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE)); |
} |
} |
|
|
/* |
* On sparc64, physical memory can start on a non-zero address. |
* The generic frame_init() only marks PFN 0 as not free, so we |
* must mark the physically first frame not free explicitly here, |
* no matter what is its address. |
*/ |
frame_mark_unavailable(ADDR2PFN(KA2PA(PFN2ADDR(0))), 1); |
} |
|
/** @} |