frame.h File Reference

Include dependency graph for frame.h:

Go to the source code of this file.

Defines

#define ONE_FRAME   0
#define TWO_FRAMES   1
#define STACK_FRAMES   ONE_FRAME
#define ZONES_MAX   16
#define ZONE_JOIN   0x1
#define FRAME_KA   0x1
#define FRAME_PANIC   0x2
#define FRAME_ATOMIC   0x4
#define FRAME_NO_RECLAIM   0x8
#define FRAME_OK   0
#define FRAME_NO_MEMORY   1
#define FRAME_ERROR   2
#define IS_BUDDY_ORDER_OK(index, order)   ((~(((__native) -1) << (order)) & (index)) == 0)
#define IS_BUDDY_LEFT_BLOCK(zone, frame)   (((frame_index((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0)
#define IS_BUDDY_RIGHT_BLOCK(zone, frame)   (((frame_index((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1)
#define IS_BUDDY_LEFT_BLOCK_ABS(zone, frame)   (((frame_index_abs((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 0)
#define IS_BUDDY_RIGHT_BLOCK_ABS(zone, frame)   (((frame_index_abs((zone), (frame)) >> (frame)->buddy_order) & 0x1) == 1)
#define frame_alloc(order, flags)   frame_alloc_generic(order, flags, NULL, NULL)
#define frame_alloc_rc(order, flags, status)   frame_alloc_generic(order, flags, status, NULL)
#define frame_alloc_rc_zone(order, flags, status, zone)   frame_alloc_generic(order, flags, status, zone)

Functions

static __address PFN2ADDR (pfn_t frame)
static pfn_t ADDR2PFN (__address addr)
static count_t SIZE2FRAMES (size_t size)
void frame_init (void)
pfn_t frame_alloc_generic (__u8 order, int flags, int *status, int *pzone)
void frame_free (pfn_t pfn)
void frame_reference_add (pfn_t pfn)
int zone_create (pfn_t start, count_t count, pfn_t confframe, int flags)
void * frame_get_parent (pfn_t frame, int hint)
void frame_set_parent (pfn_t frame, void *data, int hint)
void frame_mark_unavailable (pfn_t start, count_t count)
__address zone_conf_size (count_t count)
void zone_merge (int z1, int z2)
void zone_merge_all (void)
void zone_print_list (void)
void zone_print_one (int znum)


Detailed Description

Definition in file frame.h.


Generated on Sun Jun 18 17:28:54 2006 for HelenOS Kernel (ppc64) by  doxygen 1.4.6