aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_dom_core.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-10-09 15:05:30 +0100
committerIan Campbell <ian.campbell@citrix.com>2012-10-09 15:05:30 +0100
commit417597de7559f7ea68133878c7d1b893cf7404b6 (patch)
treee92bd879be1d8faa3f0aaf2260d0f5971412c3b3 /tools/libxc/xc_dom_core.c
parent9595ef77ab11f44144705e8f6fb20b8759144d70 (diff)
downloadxen-417597de7559f7ea68133878c7d1b893cf7404b6.tar.gz
xen-417597de7559f7ea68133878c7d1b893cf7404b6.tar.bz2
xen-417597de7559f7ea68133878c7d1b893cf7404b6.zip
libxc: add ARM support to xc_dom (PV domain building)
Includes ARM zImage support. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxc/xc_dom_core.c')
-rw-r--r--tools/libxc/xc_dom_core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/libxc/xc_dom_core.c b/tools/libxc/xc_dom_core.c
index fea9de5e1a..5244b04c4f 100644
--- a/tools/libxc/xc_dom_core.c
+++ b/tools/libxc/xc_dom_core.c
@@ -307,15 +307,17 @@ void *xc_dom_pfn_to_ptr(struct xc_dom_image *dom, xen_pfn_t pfn,
xen_pfn_t count)
{
struct xc_dom_phys *phys;
+ xen_pfn_t offset;
unsigned int page_shift = XC_DOM_PAGE_SHIFT(dom);
char *mode = "unset";
- if ( pfn > dom->total_pages || /* multiple checks to avoid overflows */
+ offset = pfn - dom->rambase_pfn;
+ if ( offset > dom->total_pages || /* multiple checks to avoid overflows */
count > dom->total_pages ||
- pfn > dom->total_pages - count )
+ offset > dom->total_pages - count )
{
- DOMPRINTF("%s: pfn out of range (0x%" PRIpfn " > 0x%" PRIpfn ")",
- __FUNCTION__, pfn, dom->total_pages);
+ DOMPRINTF("%s: pfn %"PRI_xen_pfn" out of range (0x%" PRIpfn " > 0x%" PRIpfn ")",
+ __FUNCTION__, pfn, offset, dom->total_pages);
return NULL;
}