diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-01-08 05:06:26 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-01-08 05:06:26 +0000 |
commit | fbdebac5f4ad3c921fbee7091cec6f44db045c78 (patch) | |
tree | 2b506f0f1a4e78d72c1004141dd99a394620c747 /src/arch/i386/prefix | |
parent | 8f8af10b22de89c85caa5dad0da07e73ecfa20c6 (diff) | |
download | ipxe-fbdebac5f4ad3c921fbee7091cec6f44db045c78.tar.gz |
Copy pxelinux's shutdown sequence: use UNLOAD_STACK without STOP_BASE,
and call UNDI_SHUTDOWN first to make sure the NIC is in a safe state.
Diffstat (limited to 'src/arch/i386/prefix')
-rw-r--r-- | src/arch/i386/prefix/pxeprefix.S | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/arch/i386/prefix/pxeprefix.S b/src/arch/i386/prefix/pxeprefix.S index 28e2716e..a34bf5f8 100644 --- a/src/arch/i386/prefix/pxeprefix.S +++ b/src/arch/i386/prefix/pxeprefix.S @@ -1,6 +1,6 @@ +#define PXENV_UNDI_SHUTDOWN 0x05 #define PXENV_STOP_UNDI 0x15 #define PXENV_UNLOAD_STACK 0x70 -#define PXENV_STOP_BASE 0x76 #define PXE_STACK_MAGIC 0x57ac /* 'STac' */ @@ -139,12 +139,18 @@ find_undi_basemem_usage: movw %cx, undi_fbms_end /***************************************************************************** + * Leave NIC in a safe state + ***************************************************************************** + */ +shutdown_nic: + movw $PXENV_UNDI_SHUTDOWN, %bx + call pxe_call + +/***************************************************************************** * Unload PXE base code ***************************************************************************** */ unload_base_code: - movw $PXENV_STOP_BASE, %bx - call pxe_call movw $PXENV_UNLOAD_STACK, %bx call pxe_call jnz do_not_free_base_code |