This patch implements a general purpose allocator which can be used bydevice drivers to manage special purpose memory. In particular it's usedto manage uncached memory on ia64 for the mspec driver (patch tofollow), but it is in no way ia64 specific. The allocator is based onthe allocator from the sym53c8xx_2 driver.

The patch should be harmless for anyone who doesn't actually setup anallocation pool.