> >How should I submit the changes to the code or has this problem >That's
>wonderful, you've finally fixed a long standing bug. If the fixes
>aren't too large, say > 10kB, just post them to this developer list
Here is the code to fixed the problem with net booting dos with PXE to EB to
DOS. The line numbers lists are from the original code.
Changes to src/loader.S:
lines 209 - 212
pnpentry:
movw $0,%ax
#else /* PXELOADER */
#define PXENV_STOP_UNDI 0x15
#define PXENV_UNDI_SHUTDOWN 0x05
lines 244 - 247
hellomsgend:
pxe_stop_undi_pkt:
.word 0
pxe_undi_shutdown_pkt:
.word 0
pxe_unload_stack_pkt:
lines 318 - 327
pushw %cs
pushw $pxe_undi_shutdown_pkt
pushw $PXENV_UNDI_SHUTDOWN
lcall *%cs:(PXEEntry-_start)
add $6, %sp
pushw %cs
pushw $pxe_stop_undi_pkt
pushw $PXENV_STOP_UNDI
lcall *%cs:(PXEEntry-_start)
add $6, %sp
pushw %cs
pushw $pxe_unload_stack_pkt
pushw $PXENV_UNLOAD_STACK
lcall *%cs:(PXEEntry-_start)
add $6, %sp
lines 367 - 380 (Turn memory count into ASCII hexadecimal characters)
mov %bl, %al
shr $4, %al
/* daa
cmp $9, %al
sbb $0xcf, %al */
cmp $10, %al /* These three lines written by Norbert Juffa
<nor...@am...> */
sbb $0x69, %al
das
mov %al, pxeKmsg-_start+3
mov %bl, %al
and $0x0f, %al
/* daa */ /* no carry here */
/* cmp $9, %al
sbb $0xcf, %al */
cmp $10, %al
sbb $0x69, %al
das
mov %al, pxeKmsg-_start+4
movw $0x0a0d, pxemsg-_start /* "\r\n" */
The three new lines to convert hex into ASCII characters were found at the
following web site: http://www.df.lth.se/~john_e/gems/gem003a.html.
NOTE: Since this was a quick fix, there is no error checking. If anyone has
any older versions of the PXE Specifications they might want to check if
PXENV_STOP_UNDI has always been implemented or if it's definitions are any
different to the definition in version 2.1 and whether that will effect this
new code.
>Great. If you like reading the PXE spec, maybe you can do Etherboot on top
>of
>PXE's UNDI without using an Etherboot's native network driver :). This, of
>course, is an option in addition to using the native driver.
Is anyone else already working on an Etherboot UNDI driver? I am interested
in working on one, but probably won't be able to start for a while.
Matthew Stapleton
Email: sta...@ho...
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus
|