From 40d6d3dcf4b283272d3bd8166164b4622a85530b Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 29 Jun 2007 01:42:59 +0100 Subject: Windows RIS now gets as far as downloading NTLDR. --- src/interface/pxe/pxe_preboot.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/interface/pxe/pxe_preboot.c') diff --git a/src/interface/pxe/pxe_preboot.c b/src/interface/pxe/pxe_preboot.c index 09fa5fef3..862c0dd70 100644 --- a/src/interface/pxe/pxe_preboot.c +++ b/src/interface/pxe/pxe_preboot.c @@ -28,6 +28,7 @@ #include #include #include +#include #include "pxe.h" #include "pxe_callbacks.h" @@ -85,11 +86,13 @@ PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO * sources of options. */ if ( get_cached_info->BufferLimit == 0 ) { - DBG ( " without an external buffer. Aargh." ); - goto err; + get_cached_info->Buffer.segment = rm_ds; + get_cached_info->Buffer.offset = + ( unsigned int ) ( & __from_data16 ( dhcp_basemem ) ); + get_cached_info->BufferLimit = sizeof ( dhcp_basemem ); } - DBG ( " to %04x:%04x+%x\n", get_cached_info->Buffer.segment, + DBG ( " to %04x:%04x+%x", get_cached_info->Buffer.segment, get_cached_info->Buffer.offset, get_cached_info->BufferLimit ); /* Allocate space for temporary copy */ @@ -121,6 +124,7 @@ PXENV_EXIT_t pxenv_get_cached_info ( struct s_PXENV_GET_CACHED_INFO /* Copy packet to client buffer */ buffer = real_to_user ( get_cached_info->Buffer.segment, get_cached_info->Buffer.offset ); + len = dhcppkt.len; copy_to_user ( buffer, 0, data, len ); get_cached_info->BufferSize = len; -- cgit v1.2.3-55-g7522