Merge pull request #27 from OwenSmith/master

Fix 0xC4 BSOD from Pool code.
Tighten up rangeset auditing and add separate counts for items and ranges

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Merge pull request #28 from pauldu/ca-136429

Tighten up rangeset auditing and add separate counts for items and range...
Rename Pool* to Cache*

No functional change. Just largely mechanical textual substitution.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Introduce the CACHE interface

Morph the existing cache code into a first class interface and make GNTTAB
the first client.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Export CACHE interface to child drivers

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Remove much code duplication involved in interface query

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Modify GNTTAB interface to support caches

Remove the Get/Set methods and replace with CreateCache/DestroyCache methods.
The PermitForeignAccess method the uses a cache to allocate an entry as it
requires. Also, as we're not only using grant table v1, we can get rid of
the idea of different types of permit and drop the use of varargs.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Merge pull request #30 from pauldu/gnttab

Updated GNTTAB interface