diff options
author | H. Peter Anvin <hpa@zytor.com> | 2010-02-12 17:02:50 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-02-12 17:02:50 -0800 |
commit | f38420bf678cfa556a6a5c5591668d30063d4c15 (patch) | |
tree | 889c5ab73c79d729e8e3e39e828d3183b6dd476a | |
parent | a68e1063c089a84675a01a8a0e1c3669d5b040c2 (diff) | |
download | syslinux-f38420bf678cfa556a6a5c5591668d30063d4c15.tar.gz syslinux-f38420bf678cfa556a6a5c5591668d30063d4c15.tar.xz syslinux-f38420bf678cfa556a6a5c5591668d30063d4c15.zip |
pxelinux: complete but disable debugging code, not for productionsyslinux-3.85-pre10
Disable some debugging code that was never intended for production
use. The intent is to track down specific memory-clobbering bugs.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | core/pxelinux.asm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/core/pxelinux.asm b/core/pxelinux.asm index ff0f36c8..929ab673 100644 --- a/core/pxelinux.asm +++ b/core/pxelinux.asm @@ -255,12 +255,21 @@ _start1: mov ds,ax mov es,ax +%if 0 ; debugging code only... not intended for production use ; Clobber the stack segment, to test for specific pathologies mov di,STACK_BASE mov cx,STACK_LEN >> 1 mov ax,0xf4f4 rep stosw + ; Clobber the tail of the 64K segment, too + extern __bss1_end + mov di,__bss1_end + sub cx,di ; CX = 0 previously + shr cx,1 + rep stosw +%endif + ; That is all pushed onto the PXE stack. Save the pointer ; to it and switch to an internal stack. mov [InitStack],sp @@ -2258,11 +2267,11 @@ do_reset_pxe: TRACER 'F' ; -; Look to see if we are on an EFI CSM system. Some EFI -; CSM systems put the BEV stack in low memory, which means -; a return to the PXE stack will crash the system. However, -; INT 18h works reliably, so in that case hack the stack and -; point the "return address" to an INT 18h instruction. +; Look to see if we are on an EFI CSM system. Some EFI CSM systems +; (AMI CSM) put the BEV stack in low memory (just below 64K), which +; means a return to the PXE stack will crash the system. However, INT +; 18h works reliably, so in that case hack the stack and point the +; "return address" to an INT 18h instruction. ; ; Hack the stack instead of the much simpler "just invoke INT 18h ; if we want to reset", so that chainloading other NBPs will work. |