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