From owner-freebsd-current Thu May 8 19:34:20 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id TAA04737 for current-outgoing; Thu, 8 May 1997 19:34:20 -0700 (PDT) Received: from bitbox.follo.net (bitbox.follo.net [194.198.43.36]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id TAA04698; Thu, 8 May 1997 19:34:00 -0700 (PDT) Received: (from eivind@localhost) by bitbox.follo.net (8.7.6/8.7.3) id EAA00875; Fri, 9 May 1997 04:33:55 +0200 (MET DST) Date: Fri, 9 May 1997 04:33:55 +0200 (MET DST) Message-Id: <199705090233.EAA00875@bitbox.follo.net> From: Eivind Eklund To: peter@freebsd.org, current@freebsd.org Subject: -current kernel breakage Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk (Resent due to typo - should go to -current, too) The following commit seems breaks src/sys/i386/i386/math_emulate.h 1.8 Wed May 7 19:55:13 1997 by peter CVS Tags: HEAD Diffs to 1.7 Convert md_regs from an int[] to a struct trapframe *. It simplifies some code. =================================================================== RCS file: /home/ncvs/src/sys/i386/include/proc.h,v retrieving revision 1.7 retrieving revision 1.8 diff -p -u -r1.7 -r1.8 --- src/sys/i386/include/proc.h 1997/02/22 09:34:59 1.7 +++ /home/ncvs/src/sys/i386/include/proc.h 1997/05/07 19:55:13 1.8 @@ -31,20 +31,17 @@ * SUCH DAMAGE. * * from: @(#)proc.h 7.1 (Berkeley) 5/15/91 - * $Id: proc.h,v 1.7 1997/02/22 09:34:59 peter Exp $ + * $Id: proc.h,v 1.8 1997/05/07 19:55:13 peter Exp $ */ #ifndef _MACHINE_PROC_H_ -#define _MACHINE_PROC_H_ 1 +#define _MACHINE_PROC_H_ /* * Machine-dependent part of the proc structure for i386. */ struct mdproc { - int md_flags; /* machine-dependent flags */ - int *md_regs; /* registers on current frame */ + struct trapframe *md_regs; /* registers on current frame */ }; -/* md_flags */ -#define MDP_AST 0x0001 /* async trap pending */ -#endif /* _MACHINE_PROC_H_ */ +#endif /* !_MACHINE_PROC_H_ */ The following patch fix it, but I'm not certain whether that or a further rewrite of math_emulate is the best way to go. --- ../../i386/i386/math_emulate.c.orig Fri May 9 04:20:05 1997 +++ ../../i386/i386/math_emulate.c Fri May 9 04:22:48 1997 @@ -613,7 +613,7 @@ tEAX, tECX, tEDX, tEBX, tESP, tEBP, tESI, tEDI }; -#define REG(x) (curproc->p_md.md_regs[__regoffset[(x)]]) +#define REG(x) (((int*)curproc->p_md.md_regs)[__regoffset[(x)]]) static char * sib(struct trapframe * info, int mod) Eivind.