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

Peter Grehan grehan at
Mon Aug 8 07:02:13 GMT 2005

grehan      2005-08-08 07:02:13 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/powerpc/powerpc  machdep.c trap.c trap_subr.S 
  MFC  machdep.c r1.90
       trap.c    r1.55
       trap_subr.S r1.15
     Temporary band-aid to fix hang when a process exec's Altivec
      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.
  Approved by:    re (Ken Smith)
  Revision  Changes    Path  +3 -0      src/sys/powerpc/powerpc/machdep.c  +5 -0      src/sys/powerpc/powerpc/trap.c  +8 -0      src/sys/powerpc/powerpc/trap_subr.S

More information about the cvs-src mailing list