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