From owner-cvs-all@FreeBSD.ORG Sun Dec 17 05:07:02 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7C5D816A40F; Sun, 17 Dec 2006 05:07:02 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2911743CA2; Sun, 17 Dec 2006 05:07:02 +0000 (GMT) (envelope-from kmacy@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kBH572US008477; Sun, 17 Dec 2006 05:07:02 GMT (envelope-from kmacy@repoman.freebsd.org) Received: (from kmacy@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kBH572Ff008476; Sun, 17 Dec 2006 05:07:02 GMT (envelope-from kmacy) Message-Id: <200612170507.kBH572Ff008476@repoman.freebsd.org> From: Kip Macy Date: Sun, 17 Dec 2006 05:07:01 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/i386/i386 apic_vector.s exception.s local_apic.c trap.c vm86.c vm86bios.s src/sys/i386/include apicvar.h src/sys/i386/isa atpic.c atpic_vector.s icu.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2006 05:07:02 -0000 kmacy 2006-12-17 05:07:01 UTC FreeBSD src repository Modified files: sys/i386/i386 apic_vector.s exception.s local_apic.c trap.c vm86.c vm86bios.s sys/i386/include apicvar.h sys/i386/isa atpic.c atpic_vector.s icu.h Log: Evidently FreeBSD has long relied on the compiler to treat structures passed by value (trap frames) as if they were in fact being passed by reference. For better or worse, this incorrect behaviour is no longer present in gcc 4.1. In this patch I convert all trapframe arguments to be explicitly pass by reference. I also remove vm86_initflags, pushing the very little work that it actually does up into vm86_prepcall. Reviewed by: kan Tested by: kan Revision Changes Path 1.113 +4 -2 src/sys/i386/i386/apic_vector.s 1.117 +7 -1 src/sys/i386/i386/exception.s 1.36 +7 -7 src/sys/i386/i386/local_apic.c 1.298 +61 -63 src/sys/i386/i386/trap.c 1.62 +15 -22 src/sys/i386/i386/vm86.c 1.32 +4 -2 src/sys/i386/i386/vm86bios.s 1.21 +2 -2 src/sys/i386/include/apicvar.h 1.27 +2 -2 src/sys/i386/isa/atpic.c 1.50 +2 -1 src/sys/i386/isa/atpic_vector.s 1.35 +1 -1 src/sys/i386/isa/icu.h