Lines Matching refs:dom
50 static int xc_dom_probe_zimage32_kernel(struct xc_dom_image *dom) in xc_dom_probe_zimage32_kernel() argument
54 if ( dom->kernel_blob == NULL ) in xc_dom_probe_zimage32_kernel()
56 xc_dom_panic(dom->xch, XC_INTERNAL_ERROR, in xc_dom_probe_zimage32_kernel()
61 if ( dom->kernel_size < 0x30 /*sizeof(struct setup_header)*/ ) in xc_dom_probe_zimage32_kernel()
63 xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__); in xc_dom_probe_zimage32_kernel()
67 zimage = (uint32_t *)dom->kernel_blob; in xc_dom_probe_zimage32_kernel()
70 xc_dom_printf(dom->xch, "%s: kernel is not an arm32 zImage", __FUNCTION__); in xc_dom_probe_zimage32_kernel()
77 static int xc_dom_parse_zimage32_kernel(struct xc_dom_image *dom) in xc_dom_parse_zimage32_kernel() argument
82 uint64_t rambase = dom->rambase_pfn << XC_PAGE_SHIFT; in xc_dom_parse_zimage32_kernel()
84 DOMPRINTF_CALLED(dom->xch); in xc_dom_parse_zimage32_kernel()
86 zimage = (uint32_t *)dom->kernel_blob; in xc_dom_parse_zimage32_kernel()
91 if ( dom->kernel_size > UINT64_MAX - v_start ) in xc_dom_parse_zimage32_kernel()
97 v_end = v_start + dom->kernel_size; in xc_dom_parse_zimage32_kernel()
112 dom->kernel_seg.vstart = v_start; in xc_dom_parse_zimage32_kernel()
113 dom->kernel_seg.vend = v_end; in xc_dom_parse_zimage32_kernel()
115 dom->parms.virt_entry = entry_addr; in xc_dom_parse_zimage32_kernel()
116 dom->parms.virt_base = rambase; in xc_dom_parse_zimage32_kernel()
118 dom->guest_type = "xen-3.0-armv7l"; in xc_dom_parse_zimage32_kernel()
120 __FUNCTION__, dom->guest_type, in xc_dom_parse_zimage32_kernel()
121 dom->kernel_seg.vstart, dom->kernel_seg.vend); in xc_dom_parse_zimage32_kernel()
146 static int xc_dom_probe_zimage64_kernel(struct xc_dom_image *dom) in xc_dom_probe_zimage64_kernel() argument
150 if ( dom->kernel_blob == NULL ) in xc_dom_probe_zimage64_kernel()
152 xc_dom_panic(dom->xch, XC_INTERNAL_ERROR, in xc_dom_probe_zimage64_kernel()
157 if ( dom->kernel_size < sizeof(*zimage) ) in xc_dom_probe_zimage64_kernel()
159 xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__); in xc_dom_probe_zimage64_kernel()
163 zimage = dom->kernel_blob; in xc_dom_probe_zimage64_kernel()
167 xc_dom_printf(dom->xch, "%s: kernel is not an arm64 Image", __FUNCTION__); in xc_dom_probe_zimage64_kernel()
174 static int xc_dom_parse_zimage64_kernel(struct xc_dom_image *dom) in xc_dom_parse_zimage64_kernel() argument
178 uint64_t rambase = dom->rambase_pfn << XC_PAGE_SHIFT; in xc_dom_parse_zimage64_kernel()
180 DOMPRINTF_CALLED(dom->xch); in xc_dom_parse_zimage64_kernel()
182 zimage = dom->kernel_blob; in xc_dom_parse_zimage64_kernel()
192 if ( dom->kernel_size > UINT64_MAX - v_start ) in xc_dom_parse_zimage64_kernel()
198 v_end = v_start + dom->kernel_size; in xc_dom_parse_zimage64_kernel()
200 dom->kernel_seg.vstart = v_start; in xc_dom_parse_zimage64_kernel()
201 dom->kernel_seg.vend = v_end; in xc_dom_parse_zimage64_kernel()
204 dom->parms.virt_entry = v_start; in xc_dom_parse_zimage64_kernel()
205 dom->parms.virt_base = rambase; in xc_dom_parse_zimage64_kernel()
207 dom->guest_type = "xen-3.0-aarch64"; in xc_dom_parse_zimage64_kernel()
209 __FUNCTION__, dom->guest_type, in xc_dom_parse_zimage64_kernel()
210 dom->kernel_seg.vstart, dom->kernel_seg.vend); in xc_dom_parse_zimage64_kernel()
219 static int xc_dom_load_zimage_kernel(struct xc_dom_image *dom) in xc_dom_load_zimage_kernel() argument
223 DOMPRINTF_CALLED(dom->xch); in xc_dom_load_zimage_kernel()
225 dst = xc_dom_seg_to_ptr(dom, &dom->kernel_seg); in xc_dom_load_zimage_kernel()
234 __func__, dom->kernel_seg.vstart, dom->kernel_seg.vend); in xc_dom_load_zimage_kernel()
236 __func__, dom->kernel_size, dom->kernel_blob, dst); in xc_dom_load_zimage_kernel()
238 memcpy(dst, dom->kernel_blob, dom->kernel_size); in xc_dom_load_zimage_kernel()