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

Reply via email to