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 | */ |