/* * Xen domain builder -- compatibility code. * * Replacements for xc_linux_build & friends, * as example code and to make the new builder * usable as drop-in replacement. * * This code is licenced under the GPL. * written 2006 by Gerd Hoffmann . * */ #include #include #include #include #include #include "xenctrl.h" #include "xg_private.h" #include "xc_dom.h" /* ------------------------------------------------------------------------ */ static int xc_linux_build_internal(struct xc_dom_image *dom, int xc_handle, uint32_t domid, unsigned int mem_mb, unsigned long flags, unsigned int store_evtchn, unsigned long *store_mfn, unsigned int console_evtchn, unsigned long *console_mfn) { int rc; dom->flags = flags; dom->console_evtchn = console_evtchn; dom->xenstore_evtchn = store_evtchn; if ( (rc = xc_dom_boot_xen_init(dom, xc_handle, domid)) != 0 ) goto out; if ( (rc = xc_dom_parse_image(dom)) != 0 ) goto out; if ( (rc = xc_dom_mem_init(dom, mem_mb)) != 0 ) goto out; if ( (rc = xc_dom_boot_mem_init(dom)) != 0 ) goto out; if ( (rc = xc_dom_build_image(dom)) != 0 ) goto out; if ( (rc = xc_dom_boot_image(dom)) != 0 ) goto out; *console_mfn = xc_dom_p2m_host(dom, dom->console_pfn); *store_mfn = xc_dom_p2m_host(dom, dom->xenstore_pfn); out: return rc; } int xc_linux_build_mem(int xc_handle, uint32_t domid, unsigned int mem_mb, const char *image_buffer, unsigned long image_size, const char *initrd, unsigned long initrd_len, const char *cmdline, const char *features, unsigned long flags, unsigned int store_evtchn, unsigned long *store_mfn, unsigned int console_evtchn, unsigned long *console_mfn) { struct xc_dom_image *dom; int rc; xc_dom_loginit(); dom = xc_dom_allocate(cmdline, features); if ( (rc = xc_dom_kernel_mem(dom, image_buffer, image_size)) != 0 ) goto out; if ( initrd && ((rc = xc_dom_ramdisk_mem(dom, initrd, initrd_len)) != 0) ) goto out; rc = xc_linux_build_internal(dom, xc_handle, domid, mem_mb, flags, store_evtchn, store_mfn, console_evtchn, console_mfn); out: xc_dom_release(dom); return rc; } int xc_linux_build(int xc_handle, uint32_t domid, unsigned int mem_mb, const char *image_name, const char *initrd_name, const char *cmdline, const char *features, unsigned long flags, unsigned int store_evtchn, unsigned long *store_mfn, unsigned int console_evtchn, unsigned long *console_mfn) { struct xc_dom_image *dom; int rc; xc_dom_loginit(); dom = xc_dom_allocate(cmdline, features); if ( (rc = xc_dom_kernel_file(dom, image_name)) != 0 ) goto out; if ( initrd_name && strlen(initrd_name) && ((rc = xc_dom_ramdisk_file(dom, initrd_name)) != 0) )
module \$__MUL18X18 (input [17:0] A, input [17:0] B, output [35:0] Y);
	parameter A_SIGNED = 0;
	parameter B_SIGNED = 0;
	parameter A_WIDTH = 0;
	parameter B_WIDTH = 0;
	parameter Y_WIDTH = 0;

	MULT18X18 _TECHMAP_REPLACE_ (
		.A(A),
		.B(B),
		.P(Y)
	);
endmodule