Rev 1988 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1988 | Rev 2048 | ||
---|---|---|---|
Line 62... | Line 62... | ||
62 | */ |
62 | */ |
63 | 63 | ||
64 | confdata = ADDR2PFN(start); |
64 | confdata = ADDR2PFN(start); |
65 | if (confdata == ADDR2PFN(KA2PA(PFN2ADDR(0)))) |
65 | if (confdata == ADDR2PFN(KA2PA(PFN2ADDR(0)))) |
66 | confdata = ADDR2PFN(KA2PA(PFN2ADDR(2))); |
66 | confdata = ADDR2PFN(KA2PA(PFN2ADDR(2))); |
- | 67 | zone_create(ADDR2PFN(start), |
|
67 | zone_create(ADDR2PFN(start), SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), confdata, 0); |
68 | SIZE2FRAMES(ALIGN_DOWN(size, FRAME_SIZE)), |
- | 69 | confdata, 0); |
|
68 | last_frame = max(last_frame, start + ALIGN_UP(size, FRAME_SIZE)); |
70 | last_frame = max(last_frame, start + ALIGN_UP(size, |
- | 71 | FRAME_SIZE)); |
|
69 | } |
72 | } |
70 | 73 | ||
71 | /* |
74 | /* |
72 | * On sparc64, physical memory can start on a non-zero address. |
75 | * On sparc64, physical memory can start on a non-zero address. |
73 | * The generic frame_init() only marks PFN 0 as not free, so we |
76 | * The generic frame_init() only marks PFN 0 as not free, so we |
74 | * must mark the physically first frame not free explicitly here, |
77 | * must mark the physically first frame not free explicitly |
75 | * no matter what is its address. |
78 | * here, no matter what is its address. |
76 | */ |
79 | */ |
77 | frame_mark_unavailable(ADDR2PFN(KA2PA(PFN2ADDR(0))), 1); |
80 | frame_mark_unavailable(ADDR2PFN(KA2PA(PFN2ADDR(0))), 1); |
78 | } |
81 | } |
79 | 82 | ||
80 | } |
83 | } |