From owner-cvs-src@FreeBSD.ORG Sun Dec 17 21:06:10 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3F7B416A508; Sun, 17 Dec 2006 21:06:10 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC79C43CF8; Sun, 17 Dec 2006 21:06:03 +0000 (GMT) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id CF06A1A4D80; Sun, 17 Dec 2006 13:05:49 -0800 (PST) Date: Sun, 17 Dec 2006 13:05:49 -0800 From: Alfred Perlstein To: Kip Macy Message-ID: <20061217210549.GG70403@elvis.mu.org> References: <200612170507.kBH572Ff008476@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200612170507.kBH572Ff008476@repoman.freebsd.org> User-Agent: Mutt/1.4.2.2i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: 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-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2006 21:06:10 -0000 I think that reliance on this dates back to before FreeBSD. It's interesting to see it gone. * Kip Macy [061216 21:07] wrote: > 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.