2005-05-05 23:15:13 +00:00
|
|
|
#ifndef _PPC64_IMALLOC_H
|
|
|
|
#define _PPC64_IMALLOC_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Define the address range of the imalloc VM area.
|
|
|
|
*/
|
2005-06-22 00:15:31 +00:00
|
|
|
#define PHBS_IO_BASE VMALLOC_END
|
|
|
|
#define IMALLOC_BASE (PHBS_IO_BASE + 0x80000000ul) /* Reserve 2 gigs for PHBs */
|
|
|
|
#define IMALLOC_END (VMALLOC_START + EADDR_MASK)
|
2005-05-05 23:15:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
/* imalloc region types */
|
|
|
|
#define IM_REGION_UNUSED 0x1
|
|
|
|
#define IM_REGION_SUBSET 0x2
|
|
|
|
#define IM_REGION_EXISTS 0x4
|
|
|
|
#define IM_REGION_OVERLAP 0x8
|
|
|
|
#define IM_REGION_SUPERSET 0x10
|
|
|
|
|
|
|
|
extern struct vm_struct * im_get_free_area(unsigned long size);
|
|
|
|
extern struct vm_struct * im_get_area(unsigned long v_addr, unsigned long size,
|
2005-06-22 00:15:31 +00:00
|
|
|
int region_type);
|
|
|
|
extern void im_free(void *addr);
|
|
|
|
|
|
|
|
extern unsigned long ioremap_bot;
|
2005-05-05 23:15:13 +00:00
|
|
|
|
|
|
|
#endif /* _PPC64_IMALLOC_H */
|