From 112d7f9d79a6f81822b683bc94807ac638364fb3 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 12 Jan 2007 10:12:11 +0000 Subject: [PATCH] Code used for load buffer and multiboot image testing --- src/tests/tftptest.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/tests/tftptest.c b/src/tests/tftptest.c index 7bdec78d..5ddb2624 100644 --- a/src/tests/tftptest.c +++ b/src/tests/tftptest.c @@ -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; }