Annotation of sys/arch/m68k/060sp/changes, Revision 1.1.1.1
1.1 nbrk 1: #
2: # $OpenBSD: changes,v 1.2 1996/05/30 22:13:59 niklas Exp $
3: # $NetBSD: changes,v 1.2 1996/05/15 19:47:31 is Exp $
4: #
5:
6: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7: # MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
8: # M68000 Hi-Performance Microprocessor Division
9: # M68060 Software Package Production Release
10: #
11: # M68060 Software Package Copyright (C) 1993, 1994, 1995, 1996 Motorola Inc.
12: # All rights reserved.
13: #
14: # THE SOFTWARE is provided on an "AS IS" basis and without warranty.
15: # To the maximum extent permitted by applicable law,
16: # MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
17: # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
18: # FOR A PARTICULAR PURPOSE and any warranty against infringement with
19: # regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
20: # and any accompanying written materials.
21: #
22: # To the maximum extent permitted by applicable law,
23: # IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
24: # (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
25: # BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)
26: # ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
27: #
28: # Motorola assumes no responsibility for the maintenance and support
29: # of the SOFTWARE.
30: #
31: # You are hereby granted a copyright license to use, modify, and distribute the
32: # SOFTWARE so long as this entire notice is retained without alteration
33: # in any modified and/or redistributed versions, and that such modified
34: # versions are clearly identified as such.
35: # No licenses are granted by implication, estoppel or otherwise under any
36: # patents or trademarks of Motorola, Inc.
37: #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38:
39: CHANGES SINCE LAST RELEASE:
40: ---------------------------
41:
42: 1) "movep" emulation where data was being read from memory
43: was reading the intermediate bytes. Emulation now only
44: reads the required bytes.
45:
46: 2) "flogn", "flog2", and "flog10" of "1" was setting the
47: Inexact FPSR bit. Emulation now does not set Inexact for
48: this case.
49:
50: 3) For an opclass three FP instruction where the effective addressing
51: mode was pre-decrement or post-increment and the address register
52: was A0 or A1, the address register was not being updated as a result
53: of the operation. This has been corrected.
54:
55: 4) Beta 1.2 version had the following erratum:
56:
57: Scenario:
58: ---------
59: If {i,d}mem_{read,write}_{byte,word,long}() returns
60: a failing value to the 68060SP, the package ignores
61: this return value and continues with program execution
62: as if it never received a failing value.
63:
64: Effect:
65: -------
66: For example, if a user executed "fsin.x ADDR,fp0" where
67: ADDR should cause a "segmentation violation", the memory read
68: requested by the package should return a failing value
69: to the package. Since the package currently ignores this
70: return value, the user program will continue to the
71: next instruction, and the result created in fp0 will be
72: undefined.
73:
74: Fix:
75: ----
76: This has been fixed in the current release.
77:
78: Notes:
79: ------
80: Upon receiving a non-zero (failing) return value from
81: a {i,d}mem_{read,write}_{byte,word,long}() "call-out",
82: the package creates a 16-byte access error stack frame
83: from the current exception stack frame and exits
84: through the "call-out" _real_access(). This is the process
85: as described in the MC68060 User's Manual.
86:
87: For instruction read access errors, the info stacked is:
88: SR = SR at time of exception
89: PC = PC of instruction being emulated
90: VOFF = $4008 (stack frame format type)
91: ADDRESS = PC of instruction being emulated
92: FSLW = FAULT STATUS LONGWORD
93:
94: The valid FSLW bits are:
95: bit 27 = 1 (misaligned bit)
96: bit 24 = 1 (read)
97: bit 23 = 0 (write)
98: bit 22:21 = 10 (SIZE = word)
99: bit 20:19 = 00 (TT)
100: bit 18:16 = x10 (TM; x = 1 for supervisor mode)
101: bit 15 = 1 (IO)
102: bit 0 = 1 (Software Emulation Error)
103:
104: all other bits are EQUAL TO ZERO and can be set by the _real_access()
105: "call-out" stub by the user as appropriate. The MC68060 User's Manual
106: stated that ONLY "bit 0" would be set. The 060SP attempts to set a few
107: other bits.
108:
109: For data read/write access errors, the info stacked is:
110: SR = SR at time of exception
111: PC = PC of instruction being emulated
112: VOFF = $4008 (stack frame format type)
113: ADDRESS = Address of source or destination operand
114: FSLW = FAULT STATUS LONGWORD
115:
116: The valid FSLW bits are:
117: bit 27 = 0 (misaligned bit)
118: bit 24 = x (read; 1 if read, 0 if write)
119: bit 23 = x (write; 1 if write, 0 if read)
120: bit 22:21 = xx (SIZE; see MC68060 User's Manual)
121: bit 20:19 = 00 (TT)
122: bit 18:16 = x01 (TM; x = 1 for supervisor mode)
123: bit 15 = 0 (IO)
124: bit 0 = 1 (Software Emulation Error)
125:
126: all other bits are EQUAL TO ZERO and can be set by the _real_access()
127: "call-out" stub by the user as appropriate. The MC68060 User's Manual
128: stated that ONLY "bit 0" would be set. The 060SP attempts to set a few
129: other bits.
CVSweb