Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / core / main.c
diff --git a/qemu/roms/ipxe/src/core/main.c b/qemu/roms/ipxe/src/core/main.c
new file mode 100644 (file)
index 0000000..db09e4c
--- /dev/null
@@ -0,0 +1,43 @@
+/**************************************************************************
+iPXE -  Network Bootstrap Program
+
+Literature dealing with the network protocols:
+       ARP - RFC826
+       RARP - RFC903
+       UDP - RFC768
+       BOOTP - RFC951, RFC2132 (vendor extensions)
+       DHCP - RFC2131, RFC2132 (options)
+       TFTP - RFC1350, RFC2347 (options), RFC2348 (blocksize), RFC2349 (tsize)
+       RPC - RFC1831, RFC1832 (XDR), RFC1833 (rpcbind/portmapper)
+
+**************************************************************************/
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <stddef.h>
+#include <stdio.h>
+#include <ipxe/init.h>
+#include <ipxe/version.h>
+#include <usr/autoboot.h>
+
+/**
+ * Main entry point
+ *
+ * @ret rc             Return status code
+ */
+__asmcall int main ( void ) {
+
+       /* Perform one-time-only initialisation (e.g. heap) */
+       initialise();
+
+       /* Some devices take an unreasonably long time to initialise */
+       printf ( "%s initialising devices...", product_short_name );
+       startup();
+       printf ( "ok\n" );
+
+       ipxe ( NULL );
+
+       shutdown_exit();
+
+       return 0;
+}