PERFORCE change 60599 for review
Robert Watson
rwatson at FreeBSD.org
Sat Aug 28 07:21:42 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=60599
Change 60599 by rwatson at rwatson_tislabs on 2004/08/28 14:20:53
Integ netperf_socket.
Affected files ...
.. //depot/projects/netperf_socket/sys/boot/i386/boot2/boot1.S#6 integrate
.. //depot/projects/netperf_socket/sys/boot/i386/mbr/Makefile#4 integrate
.. //depot/projects/netperf_socket/sys/boot/i386/mbr/mbr.s#2 integrate
.. //depot/projects/netperf_socket/sys/dev/re/if_re.c#12 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_kse.c#12 integrate
.. //depot/projects/netperf_socket/sys/pci/if_rlreg.h#5 integrate
Differences ...
==== //depot/projects/netperf_socket/sys/boot/i386/boot2/boot1.S#6 (text+ko) ====
@@ -12,7 +12,7 @@
* warranties of merchantability and fitness for a particular
* purpose.
*
- * $FreeBSD: src/sys/boot/i386/boot2/boot1.S,v 1.29 2004/08/05 06:00:05 kan Exp $
+ * $FreeBSD: src/sys/boot/i386/boot2/boot1.S,v 1.30 2004/08/28 08:32:23 yar Exp $
*/
/* Memory Locations */
@@ -269,7 +269,25 @@
* %dl - byte - drive number
* stack - 10 bytes - EDD Packet
*/
-read: push %dx # Save
+read: testb $FL_PACKET,%cs:MEM_REL+flags-start # LBA support enabled?
+ jz read.1 # No, use CHS
+ cmpb $0x80,%dl # Hard drive?
+ jb read.1 # No, use CHS
+ mov $0x55aa,%bx # Magic
+ push %dx # Save
+ movb $0x41,%ah # BIOS: Check
+ int $0x13 # extensions present
+ pop %dx # Restore
+ jc read.1 # If error, use CHS
+ cmp $0xaa55,%bx # Magic?
+ jne read.1 # No, so use CHS
+ testb $0x1,%cl # Packet interface?
+ jz read.1 # No, so use CHS
+ mov %bp,%si # Disk packet
+ movb $0x42,%ah # BIOS: Extended
+ int $0x13 # read
+ retw # To caller
+read.1: push %dx # Save
movb $0x8,%ah # BIOS: Get drive
int $0x13 # parameters
movb %dh,%ch # Max head number
@@ -292,7 +310,7 @@
pop %dx # Restore
cmpl $0x3ff,%eax # Cylinder number supportable?
sti # Enable interrupts
- ja read.7 # No, try EDD
+ ja ereturn # No, return an error
xchgb %al,%ah # Set up cylinder
rorb $0x2,%al # number
orb %ch,%al # Merge
@@ -328,24 +346,8 @@
read.5: shlb %bl # buffer
add %bl,0x5(%bp) # pointer,
sub %al,0x2(%bp) # block count
- ja read # If not done
+ ja read.1 # If not done
read.6: retw # To caller
-read.7: testb $FL_PACKET,%cs:MEM_REL+flags-start # LBA support enabled?
- jz ereturn # No, so return an error
- mov $0x55aa,%bx # Magic
- push %dx # Save
- movb $0x41,%ah # BIOS: Check
- int $0x13 # extensions present
- pop %dx # Restore
- jc return # If error, return an error
- cmp $0xaa55,%bx # Magic?
- jne ereturn # No, so return an error
- testb $0x1,%cl # Packet interface?
- jz ereturn # No, so return an error
- mov %bp,%si # Disk packet
- movb $0x42,%ah # BIOS: Extended
- int $0x13 # read
- retw # To caller
/* Messages */
==== //depot/projects/netperf_socket/sys/boot/i386/mbr/Makefile#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/mbr/Makefile,v 1.13 2004/04/28 21:31:21 ru Exp $
+# $FreeBSD: src/sys/boot/i386/mbr/Makefile,v 1.14 2004/08/28 08:39:35 yar Exp $
PROG= mbr
STRIP=
@@ -6,8 +6,12 @@
NOMAN=
SRCS= ${PROG}.s
+# MBR flags: 0x80 -- try packet interface (also known as EDD or LBA)
+BOOT_MBR_FLAGS?= 0x80
+
ORG= 0x600
+AFLAGS+=--defsym FLAGS=${BOOT_MBR_FLAGS}
LDFLAGS=-N -e start -Ttext ${ORG} -Wl,-S,--oformat,binary
.include <bsd.prog.mk>
==== //depot/projects/netperf_socket/sys/boot/i386/mbr/mbr.s#2 (text+ko) ====
@@ -13,7 +13,7 @@
# purpose.
#
-# $FreeBSD: src/sys/boot/i386/mbr/mbr.s,v 1.6 2000/06/27 20:04:10 jhb Exp $
+# $FreeBSD: src/sys/boot/i386/mbr/mbr.s,v 1.7 2004/08/28 08:39:35 yar Exp $
# A 512 byte MBR boot manager that simply boots the active partition.
@@ -21,6 +21,7 @@
.set EXEC,0x600 # Execution address
.set PT_OFF,0x1be # Partition table
.set MAGIC,0xaa55 # Magic: bootable
+ .set FL_PACKET,0x80 # Flag: try EDD
.set NHRDRV,0x475 # Number of hard drives
@@ -88,10 +89,8 @@
movb 0x1(%si),%dh # Load head
movw 0x2(%si),%cx # Load cylinder:sector
movw $LOAD,%bx # Transfer buffer
- cmpb $0xff,%dh # Might we need to use LBA?
- jnz main.7 # No.
- cmpw $0xffff,%cx # Do we need to use LBA?
- jnz main.7 # No.
+ testb $FL_PACKET,flags # Try EDD?
+ jz main.7 # No.
pushw %cx # Save %cx
pushw %bx # Save %bx
movw $0x55aa,%bx # Magic
@@ -151,7 +150,8 @@
msg_rd: .asciz "Error loading operating system"
msg_os: .asciz "Missing operating system"
- .org PT_OFF
+ .org PT_OFF-1,0x90
+flags: .byte FLAGS # Flags
partbl: .fill 0x10,0x4,0x0 # Partition table
.word MAGIC # Magic number
==== //depot/projects/netperf_socket/sys/dev/re/if_re.c#12 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.28 2004/07/06 02:48:29 bms Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.29 2004/08/28 10:59:02 sanpei Exp $");
/*
* RealTek 8139C+/8169/8169S/8110S PCI NIC driver
@@ -168,6 +168,8 @@
"RealTek 8169S Single-chip Gigabit Ethernet" },
{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8110S,
"RealTek 8110S Single-chip Gigabit Ethernet" },
+ { COREGA_VENDORID, COREGA_DEVICEID_CGLAPCIGT, RL_HWREV_8169S,
+ "Corega CG-LAPCIGT (RTL8169S) Gigabit Ethernet" },
{ 0, 0, 0, NULL }
};
==== //depot/projects/netperf_socket/sys/kern/kern_kse.c#12 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.195 2004/08/28 04:08:05 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.196 2004/08/28 04:16:32 davidxu Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -970,9 +970,11 @@
if ((ku = td->td_upcall) == NULL)
return (-1);
- tmbx = (void *)fuword((void *)&ku->ku_mailbox->km_curthread);
- if ((tmbx == NULL) || (tmbx == (void *)-1))
- return (-1);
+ if ((tmbx = td->td_mailbox) == NULL) {
+ tmbx = (void *)fuword((void *)&ku->ku_mailbox->km_curthread);
+ if ((tmbx == NULL) || (tmbx == (void *)-1))
+ return (-1);
+ }
if (user) {
uticks = td->td_uuticks;
td->td_uuticks = 0;
@@ -1280,7 +1282,7 @@
/* NOTREACHED */
}
- KASSERT(ku != NULL, ("upcall is NULL\n"));
+ KASSERT(ku != NULL, ("upcall is NULL"));
KASSERT(TD_CAN_UNBIND(td) == 0, ("can unbind"));
if (p->p_numthreads > max_threads_per_proc) {
==== //depot/projects/netperf_socket/sys/pci/if_rlreg.h#5 (text+ko) ====
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.44 2004/07/05 02:46:42 bms Exp $
+ * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.45 2004/08/28 10:59:02 sanpei Exp $
*/
/*
@@ -793,6 +793,11 @@
#define COREGA_DEVICEID_FETHERIICBTXD 0xa11e
/*
+ * Corega CG-LAPCIGT device ID
+ */
+#define COREGA_DEVICEID_CGLAPCIGT 0xc107
+
+/*
* Peppercon vendor ID
*/
#define PEPPERCON_VENDORID 0x1743
More information about the p4-projects
mailing list