Rev 820 | Rev 827 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 820 | Rev 822 | ||
|---|---|---|---|
| Line 51... | Line 51... | ||
| 51 | #define FRAME_OK 0 /* frame_alloc return status */ |
51 | #define FRAME_OK 0 /* frame_alloc return status */ |
| 52 | #define FRAME_NO_MEMORY 1 /* frame_alloc return status */ |
52 | #define FRAME_NO_MEMORY 1 /* frame_alloc return status */ |
| 53 | #define FRAME_ERROR 2 /* frame_alloc return status */ |
53 | #define FRAME_ERROR 2 /* frame_alloc return status */ |
| 54 | 54 | ||
| 55 | /* Return true if the interlvals overlap */ |
55 | /* Return true if the interlvals overlap */ |
| 56 | static inline int overlaps(__address s1,__address e1, __address s2, __address e2) |
56 | static inline int overlaps(__address s1,__address sz1, __address s2, __address sz2) |
| 57 | { |
57 | { |
| - | 58 | __address e1 = s1+sz1; |
|
| - | 59 | __address e2 = s2+sz2; |
|
| 58 | if (s1 >= s2 && s1 < e2) |
60 | if (s1 >= s2 && s1 < e2) |
| 59 | return 1; |
61 | return 1; |
| 60 | if (e1 >= s2 && e1 < e2) |
62 | if (e1 >= s2 && e1 < e2) |
| 61 | return 1; |
63 | return 1; |
| 62 | if ((s1 < s2) && (e1 >= e2)) |
64 | if ((s1 < s2) && (e1 >= e2)) |
| Line 93... | Line 95... | ||
| 93 | 95 | ||
| 94 | extern void frame_init(void); |
96 | extern void frame_init(void); |
| 95 | __address frame_alloc_generic(__u8 order, int flags, int * status, int *pzone); |
97 | __address frame_alloc_generic(__u8 order, int flags, int * status, int *pzone); |
| 96 | extern void frame_free(__address addr); |
98 | extern void frame_free(__address addr); |
| 97 | 99 | ||
| 98 | extern void zone_create(pfn_t start, count_t count, pfn_t confframe, int flags); |
100 | extern int zone_create(pfn_t start, count_t count, pfn_t confframe, int flags); |
| 99 | - | ||
| 100 | void * frame_get_parent(pfn_t frame, int hint); |
101 | void * frame_get_parent(pfn_t frame, int hint); |
| 101 | void frame_set_parent(pfn_t frame, void *data, int hint); |
102 | void frame_set_parent(pfn_t frame, void *data, int hint); |
| 102 | void frame_mark_unavailable(pfn_t start, count_t count); |
103 | void frame_mark_unavailable(pfn_t start, count_t count); |
| 103 | __address zone_conf_size(pfn_t start, count_t count); |
104 | __address zone_conf_size(count_t count); |
| - | 105 | void zone_merge(int z1, int z2); |
|
| - | 106 | void zone_merge_all(void); |
|
| 104 | 107 | ||
| 105 | /* |
108 | /* |
| 106 | * Console functions |
109 | * Console functions |
| 107 | */ |
110 | */ |
| 108 | extern void zone_print_list(void); |
111 | extern void zone_print_list(void); |