Notable changes in version 9.4.3: The system-specific Icon configurations have been reorganized and renamed. The several BSD configurations have been merged into one. The macintosh configuration now supports the loadfunc function. A new porting guide has been written, and a new posix configuration has been added as a starting point in constructing new ports. The core library files remain stable. Notable changes include: - procs/dijkstra new procedures implement Dijkstra's control structures - procs/html add procedure for canonicalization of paths - procs/matrix2 new procedures for matrix manipulation - procs/nestlist new procedures for representing nested lists as strings - procs/printf add %e format and fix a rounding problem - progs/noise new program for producing a random bitstream - progs/unclog improve logic for combining adjacent entries - gprogs/dlgvu improve coverage map; allow altitude in GPS data - gprogs/gallery faster thumbnail loading for JPEG images - gprogs/img many new features - gprogs/sier better color choices - gprogs/trkvu accept GPS track logs with altitude as the last field The undocumented save function, which only worked on a few platforms, has been removed. Approved by <tnn>.
79 lines
1.6 KiB
Text
79 lines
1.6 KiB
Text
$NetBSD: patch-ac,v 1.10 2009/02/08 12:51:04 asau Exp $
|
|
|
|
--- config/bsd/powerpc.s.orig 2005-06-16 19:55:17.000000000 +0400
|
|
+++ config/bsd/powerpc.s 2009-02-08 02:27:54.000000000 +0300
|
|
@@ -1,9 +1,11 @@
|
|
#
|
|
-# coswitch for the PowerPC architecture
|
|
+# coswitch for the PowerPC architecture
|
|
#
|
|
|
|
.file "rswitch.s"
|
|
|
|
+ .set RSIZE, 80 # room for regs 14-31, rounded up mod16
|
|
+
|
|
.data
|
|
errmsg: .string "new_context() returned in coswitch\n"
|
|
|
|
@@ -13,30 +15,13 @@
|
|
.type coswitch,@function
|
|
|
|
coswitch:
|
|
- stwu 1, -80(1) # allocate stack frame
|
|
+ stwu 1, -RSIZE(1) # allocate stack frame
|
|
|
|
# Save Old Context:
|
|
stw 1, 0(3) # SP
|
|
mflr 0
|
|
stw 0, 4(3) # LR (return address)
|
|
- stw 14, 0(1) # GPRs 14-31 (save on stack)
|
|
- stw 15, 4(1)
|
|
- stw 16, 8(1)
|
|
- stw 17, 12(1)
|
|
- stw 18, 16(1)
|
|
- stw 19, 20(1)
|
|
- stw 20, 24(1)
|
|
- stw 21, 28(1)
|
|
- stw 22, 32(1)
|
|
- stw 23, 36(1)
|
|
- stw 24, 40(1)
|
|
- stw 25, 44(1)
|
|
- stw 26, 48(1)
|
|
- stw 27, 52(1)
|
|
- stw 28, 56(1)
|
|
- stw 29, 60(1)
|
|
- stw 30, 64(1)
|
|
- stw 31, 68(1)
|
|
+ stmw 14, -RSIZE(1) # GPRs 14-31 (save on stack)
|
|
|
|
cmpi 0, 5, 0
|
|
beq first # if first time
|
|
@@ -45,26 +30,9 @@
|
|
lwz 1, 0(4) # SP
|
|
lwz 0, 4(4) # LR
|
|
mtlr 0
|
|
- lwz 14, 0(1) # GPRs 14-31 (from stack)
|
|
- lwz 15, 4(1)
|
|
- lwz 16, 8(1)
|
|
- lwz 17, 12(1)
|
|
- lwz 18, 16(1)
|
|
- lwz 19, 20(1)
|
|
- lwz 20, 24(1)
|
|
- lwz 21, 28(1)
|
|
- lwz 22, 32(1)
|
|
- lwz 23, 36(1)
|
|
- lwz 24, 40(1)
|
|
- lwz 25, 44(1)
|
|
- lwz 26, 48(1)
|
|
- lwz 27, 52(1)
|
|
- lwz 28, 56(1)
|
|
- lwz 29, 60(1)
|
|
- lwz 30, 64(1)
|
|
- lwz 31, 68(1)
|
|
+ lmw 14, -RSIZE(1) # GPRs 14-31 (from stack)
|
|
|
|
- addic 1, 1, 80 # deallocate stack frame
|
|
+ addic 1, 1, RSIZE # deallocate stack frame
|
|
blr # return into new context
|
|
|
|
first: # First-time call:
|