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