cvs commit: src/sys/powerpc/powerpc machdep.c trap.c trap_subr.S

Peter Grehan grehan at FreeBSD.org
Sat Jul 30 11:14:32 GMT 2005


grehan      2005-07-30 11:14:31 UTC

  FreeBSD src repository

  Modified files:
    sys/powerpc/powerpc  machdep.c trap.c trap_subr.S 
  Log:
  Temporary band-aid to fix hang when a process exec's Altivec instructions.
  
  trap_subr.S:  declare a stub for the a-unavailable trap
                that does an absolute jump to the vector-assist trap.
                This is due to the fact that the vec-unavail trap
                doesn't start at a 256-byte boundary, so the trick of
                masking the bottom 8 bits of the link register to identify
                the interrupt doesn't work, so let the vec-assist
                case handle Altivec-disabled for the time being.
  
                Note that this will be fixed in the future with a much
                smaller vector code-stub (< 16 bytes) that will allow
                use of strange vector offsets that are also present in
                4xx processors, and also allow smaller differences in
                vector codepaths on the G5.
  
  trap.c:       Treat altivec-unavailable/assist process traps as SIGILL.
                Not quite correct, since altivec-assist should really be a panic,
                but it is fine for the moment due to the above measure.
  
  machdep.c     Install the stub code for the altivec-unavailable trap, and
                the standard trap code at the altivec-assist.
  
  Reported by:    Andreas Tobler <toa at pop agri ch>
  MFC after:      3 days
  
  Revision  Changes    Path
  1.90      +3 -0      src/sys/powerpc/powerpc/machdep.c
  1.55      +5 -0      src/sys/powerpc/powerpc/trap.c
  1.15      +8 -0      src/sys/powerpc/powerpc/trap_subr.S


More information about the cvs-src mailing list