Code used for load buffer and multiboot image testing
authorMichael Brown <mcb30@etherboot.org>
Fri, 12 Jan 2007 10:12:11 +0000 (10:12 +0000)
committerMichael Brown <mcb30@etherboot.org>
Fri, 12 Jan 2007 10:12:11 +0000 (10:12 +0000)
src/tests/tftptest.c

index 7bdec78..5ddb262 100644 (file)
@@ -19,10 +19,14 @@ int test_tftp ( struct net_device *netdev, struct sockaddr_tcpip *target,
        uint16_t fbms;
        int rc;
 
+
+       ebuffer_alloc ( &buffer, 0 );
+#if 0
        memset ( &buffer, 0, sizeof ( buffer ) );
        buffer.addr = real_to_user ( 0, 0x7c00 );
        get_real ( fbms, BDA_SEG, BDA_FBMS );
        buffer.len = ( fbms * 1024 - 0x7c00 );
+#endif
 
        memset ( &tftp, 0, sizeof ( tftp ) );
        udp_connect ( &tftp.udp, target );
@@ -33,11 +37,15 @@ int test_tftp ( struct net_device *netdev, struct sockaddr_tcpip *target,
        if ( ( rc = async_wait ( tftp_get ( &tftp ) ) ) != 0 )
                return rc;
 
+       memset ( &image, 0, sizeof ( image ) );
        image.data = buffer.addr;
        image.len = buffer.len;
-       if ( ( rc = elf_load ( &image ) ) == 0 ) {
-               printf ( "Got valid ELF image: execaddr at %lx\n",
+       if ( ( rc = multiboot_load ( &image ) ) == 0 ) {
+               printf ( "Got valid multiboot image: execaddr at %lx\n",
                         image.entry );
+
+               image_exec ( &image );
+
                return 0;
        }