Date: Sun, 17 Dec 2006 05:07:01 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org 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 Message-ID: <200612170507.kBH572Ff008476@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612170507.kBH572Ff008476>