vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| There are two possible ways to call into the PXE BIOS: the newer "bang PXE" interface, and the older "PXE env" interface. Our code tries to use the bang interface as long as it thinks it's there. If I switch things round so that we only use the bang interface if PXE version >= 2.1 (this is the current version of the stack, and the one that most people use now) then we get further on older versions of PXE (thanks, Nick, for the old cards!). This diff does not change what we do for the newer spec (>= v2.1) cards that already work, and it allows the older spec ones I've got to get a bit further (they don't report mac, net or server correctly, but at least they get to a boot> prompt without crashing). ok? Index: sys/arch/i386/stand/libsa/pxe.c ================================================== ================= RCS file: /cvs/src/sys/arch/i386/stand/libsa/pxe.c,v retrieving revision 1.2 diff -u -r1.2 pxe.c --- sys/arch/i386/stand/libsa/pxe.c 12 Mar 2005 21:53:49 -0000 1.2 +++ sys/arch/i386/stand/libsa/pxe.c 13 Mar 2005 07:05:45 -0000 @@ -399,7 +399,7 @@ } } - if (pxe != NULL) { + if (pxenv == NULL) { pxe_call = pxecall_bangpxe; bangpxe_off = pxe->EntryPointSP.offset; bangpxe_seg = pxe->EntryPointSP.segment; Index: sys/arch/i386/stand/pxeboot/conf.c ================================================== ================= RCS file: /cvs/src/sys/arch/i386/stand/pxeboot/conf.c,v retrieving revision 1.2 diff -u -r1.2 conf.c --- sys/arch/i386/stand/pxeboot/conf.c 12 Mar 2005 21:52:02 -0000 1.2 +++ sys/arch/i386/stand/pxeboot/conf.c 13 Mar 2005 07:05:45 -0000 @@ -46,7 +46,7 @@ #include "pxeboot.h" #include "pxe_net.h" -const char version[] = "1.01"; +const char version[] = "1.02"; int debug = 1; #undef _TEST |