Lines Matching refs:dom
119 static struct xen_bin_image_table *find_table(struct xc_dom_image *dom) in find_table() argument
125 if ( dom->kernel_size < sizeof(*table) ) in find_table()
127 probe_ptr = dom->kernel_blob; in find_table()
128 if ( dom->kernel_size > (8192 + sizeof(*table)) ) in find_table()
129 probe_end = dom->kernel_blob + 8192; in find_table()
131 probe_end = dom->kernel_blob + dom->kernel_size - sizeof(*table); in find_table()
146 static int xc_dom_probe_bin_kernel(struct xc_dom_image *dom) in xc_dom_probe_bin_kernel() argument
148 return find_table(dom) ? 0 : -EINVAL; in xc_dom_probe_bin_kernel()
151 static int xc_dom_parse_bin_kernel(struct xc_dom_image *dom) in xc_dom_parse_bin_kernel() argument
154 char *image = dom->kernel_blob; in xc_dom_parse_bin_kernel()
155 size_t image_size = dom->kernel_size; in xc_dom_parse_bin_kernel()
161 image_info = find_table(dom); in xc_dom_parse_bin_kernel()
176 xc_dom_panic(dom->xch, XC_INVALID_KERNEL, in xc_dom_parse_bin_kernel()
188 xc_dom_panic(dom->xch, XC_INVALID_KERNEL, "%s: Invalid header_addr.", in xc_dom_parse_bin_kernel()
204 xc_dom_panic(dom->xch, XC_INVALID_KERNEL, "%s: Invalid load_end_addr.", in xc_dom_parse_bin_kernel()
211 xc_dom_panic(dom->xch, XC_INVALID_KERNEL, "%s: Invalid bss_end_addr.", in xc_dom_parse_bin_kernel()
216 dom->kernel_seg.vstart = image_info->load_addr; in xc_dom_parse_bin_kernel()
217 dom->kernel_seg.vend = bss_end_addr; in xc_dom_parse_bin_kernel()
218 dom->parms.virt_base = start_addr; in xc_dom_parse_bin_kernel()
219 dom->parms.virt_entry = image_info->entry_addr; in xc_dom_parse_bin_kernel()
224 dom->guest_type = "xen-3.0-x86_32"; in xc_dom_parse_bin_kernel()
227 dom->guest_type = "xen-3.0-x86_32p"; in xc_dom_parse_bin_kernel()
230 dom->guest_type = "xen-3.0-x86_64"; in xc_dom_parse_bin_kernel()
236 dom->guest_type = "xen-3.0-x86_32"; in xc_dom_parse_bin_kernel()
237 if ( strstr(dom->xen_caps, "xen-3.0-x86_32p") ) in xc_dom_parse_bin_kernel()
240 dom->guest_type = "xen-3.0-x86_32p"; in xc_dom_parse_bin_kernel()
241 dom->parms.pae = XEN_PAE_EXTCR3; in xc_dom_parse_bin_kernel()
248 static int xc_dom_load_bin_kernel(struct xc_dom_image *dom) in xc_dom_load_bin_kernel() argument
251 char *image = dom->kernel_blob; in xc_dom_load_bin_kernel()
253 size_t image_size = dom->kernel_size; in xc_dom_load_bin_kernel()
260 image_info = find_table(dom); in xc_dom_load_bin_kernel()
278 dest = xc_dom_vaddr_to_ptr(dom, dom->kernel_seg.vstart, &dest_size); in xc_dom_load_bin_kernel()