aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_dom_core.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-12-04 10:13:04 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-12-04 10:13:04 +0000
commit9f0c829d98a76702c7b69b9dc34aaed2d281ce4e (patch)
treed9f6c39a3eeb9a7b226db0d3aab98c028f1d217c /tools/libxc/xc_dom_core.c
parent85b3f5270fcdae98a39a0dfd1d9f041947fe2371 (diff)
downloadxen-9f0c829d98a76702c7b69b9dc34aaed2d281ce4e.tar.gz
xen-9f0c829d98a76702c7b69b9dc34aaed2d281ce4e.tar.bz2
xen-9f0c829d98a76702c7b69b9dc34aaed2d281ce4e.zip
domain builder: make mmap() failure message more verbose.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'tools/libxc/xc_dom_core.c')
-rw-r--r--tools/libxc/xc_dom_core.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/libxc/xc_dom_core.c b/tools/libxc/xc_dom_core.c
index 0375e41208..9a158ef5e2 100644
--- a/tools/libxc/xc_dom_core.c
+++ b/tools/libxc/xc_dom_core.c
@@ -352,15 +352,19 @@ void *xc_dom_pfn_to_ptr(struct xc_dom_image *dom, xen_pfn_t pfn,
}
else
{
+ int err;
+
mode = "anonymous memory";
phys->ptr = mmap(NULL, phys->count << page_shift,
PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
-1, 0);
if ( phys->ptr == MAP_FAILED )
{
+ err = errno;
xc_dom_panic(XC_OUT_OF_MEMORY,
- "%s: oom: can't allocate 0x%" PRIpfn " pages\n",
- __FUNCTION__, count);
+ "%s: oom: can't allocate 0x%" PRIpfn " pages"
+ " [mmap, errno=%i (%s)]\n",
+ __FUNCTION__, count, err, strerror(err));
return NULL;
}
dom->alloc_mem_map += phys->count << page_shift;