Files
xen/extras/mini-os/include/xmalloc.h
T
kaf24@firebug.cl.cam.ac.uk 7fc4533b32 Merge in the newer Xenbus implementation from Linux to the Mini-OS. The new
version compiles and starts up, but I'm not really sure how to test the new
xenbus implementation.

* Added unbind_evtchn
* Copied parts of the Linux spinlock implementation to make the changes to
  xenbus compared to Linux smaller. Also added a dummy rwsem implementation.
* Updated the xenbus-files

Signed-off-by: Simon Kagstrom <simon.kagstrom@bth.se>
2005-12-08 15:24:02 +01:00

27 lines
746 B
C

#ifndef __XMALLOC_H__
#define __XMALLOC_H__
/* Allocate space for typed object. */
#define xmalloc(_type) ((_type *)_xmalloc(sizeof(_type), __alignof__(_type)))
/* Allocate space for array of typed objects. */
#define xmalloc_array(_type, _num) ((_type *)_xmalloc_array(sizeof(_type), __alignof__(_type), _num))
#define malloc(size) _xmalloc(size, 4)
#define free(ptr) xfree(ptr)
/* Free any of the above. */
extern void xfree(const void *);
/* Underlying functions */
extern void *_xmalloc(size_t size, size_t align);
static inline void *_xmalloc_array(size_t size, size_t align, size_t num)
{
/* Check for overflow. */
if (size && num > UINT_MAX / size)
return NULL;
return _xmalloc(size * num, align);
}
#endif /* __XMALLOC_H__ */