diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2007-12-04 10:13:04 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2007-12-04 10:13:04 +0000 |
commit | 9f0c829d98a76702c7b69b9dc34aaed2d281ce4e (patch) | |
tree | d9f6c39a3eeb9a7b226db0d3aab98c028f1d217c /tools/libxc/xc_dom_core.c | |
parent | 85b3f5270fcdae98a39a0dfd1d9f041947fe2371 (diff) | |
download | xen-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.c | 8 |
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; |