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
Alfred Perlstein
alfred at freebsd.org
Sun Dec 17 13:06:10 PST 2006
I think that reliance on this dates back to before FreeBSD. It's
interesting to see it gone.
* Kip Macy <kmacy at FreeBSD.org> [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.
More information about the cvs-src
mailing list