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 | } |