Module Name: src Committed By: christos Date: Sun Oct 20 19:47:28 UTC 2013
Modified Files: src/sys/arch/i386/stand/pxeboot: pxe.c pxe_call.S Log Message: Revert previous code move to accommodate relocation that does not fit. Move pxe_command_buf declaration next to the code so that it fits on the 16 bit relocation. It is in the text segment, but it does not matter since it is mapped read-write. To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 src/sys/arch/i386/stand/pxeboot/pxe.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/i386/stand/pxeboot/pxe_call.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/stand/pxeboot/pxe.c diff -u src/sys/arch/i386/stand/pxeboot/pxe.c:1.17 src/sys/arch/i386/stand/pxeboot/pxe.c:1.18 --- src/sys/arch/i386/stand/pxeboot/pxe.c:1.17 Sun Dec 13 18:01:42 2009 +++ src/sys/arch/i386/stand/pxeboot/pxe.c Sun Oct 20 15:47:28 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: pxe.c,v 1.17 2009/12/13 23:01:42 jakllsch Exp $ */ +/* $NetBSD: pxe.c,v 1.18 2013/10/20 19:47:28 christos Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -107,7 +107,7 @@ void (*pxe_call)(uint16_t); void pxecall_bangpxe(uint16_t); /* pxe_call.S */ void pxecall_pxenv(uint16_t); /* pxe_call.S */ -char pxe_command_buf[256]; +extern char pxe_command_buf[256]; BOOTPLAYER bootplayer; Index: src/sys/arch/i386/stand/pxeboot/pxe_call.S diff -u src/sys/arch/i386/stand/pxeboot/pxe_call.S:1.4 src/sys/arch/i386/stand/pxeboot/pxe_call.S:1.5 --- src/sys/arch/i386/stand/pxeboot/pxe_call.S:1.4 Sat Oct 19 20:16:16 2013 +++ src/sys/arch/i386/stand/pxeboot/pxe_call.S Sun Oct 20 15:47:28 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: pxe_call.S,v 1.4 2013/10/20 00:16:16 christos Exp $ */ +/* $NetBSD: pxe_call.S,v 1.5 2013/10/20 19:47:28 christos Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -88,10 +88,10 @@ ENTRY(pxecall_pxenv) movl 8(%ebp), %ebx call _C_LABEL(prot_to_real) # enter real mode - /* prot_to_real() has already set %es to BOOTSEG */ - lea _C_LABEL(pxe_command_buf), %edi .code16 + /* prot_to_real() has already set %es to BOOTSEG */ + lea _C_LABEL(pxe_command_buf), %di /* The encoding is: 0x9a offlo offhi seglo seghi */ lcall $0, $0xffff @@ -109,3 +109,10 @@ _C_LABEL(pxenv_seg) = . - 2 popl %ebx popl %ebp ret + + .globl _C_LABEL(pxe_command_buf) + .align 32 + .type _C_LABEL(pxe_command_buf), @object + .size _C_LABEL(pxe_command_buf), 256 +_C_LABEL(pxe_command_buf): + .zero 256