changes revision 1.1
11.1Sis#
21.1Sis# $NetBSD: changes,v 1.1 2000/04/14 20:24:36 is Exp $
31.1Sis#
41.1Sis
51.1Sis#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61.1Sis# MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
71.1Sis# M68000 Hi-Performance Microprocessor Division
81.1Sis# M68060 Software Package Production Release 
91.1Sis# 
101.1Sis# M68060 Software Package Copyright (C) 1993, 1994, 1995, 1996 Motorola Inc.
111.1Sis# All rights reserved.
121.1Sis# 
131.1Sis# THE SOFTWARE is provided on an "AS IS" basis and without warranty.
141.1Sis# To the maximum extent permitted by applicable law,
151.1Sis# MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
161.1Sis# INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
171.1Sis# FOR A PARTICULAR PURPOSE and any warranty against infringement with
181.1Sis# regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
191.1Sis# and any accompanying written materials. 
201.1Sis# 
211.1Sis# To the maximum extent permitted by applicable law,
221.1Sis# IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
231.1Sis# (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
241.1Sis# BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)
251.1Sis# ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
261.1Sis# 
271.1Sis# Motorola assumes no responsibility for the maintenance and support
281.1Sis# of the SOFTWARE.  
291.1Sis# 
301.1Sis# You are hereby granted a copyright license to use, modify, and distribute the
311.1Sis# SOFTWARE so long as this entire notice is retained without alteration
321.1Sis# in any modified and/or redistributed versions, and that such modified
331.1Sis# versions are clearly identified as such.
341.1Sis# No licenses are granted by implication, estoppel or otherwise under any
351.1Sis# patents or trademarks of Motorola, Inc.
361.1Sis#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
371.1Sis
381.1SisCHANGES SINCE LAST RELEASE:
391.1Sis---------------------------
401.1Sis
411.1Sis1) "movep" emulation where data was being read from memory
421.1Siswas reading the intermediate bytes. Emulation now only 
431.1Sisreads the required bytes.
441.1Sis
451.1Sis2) "flogn", "flog2", and "flog10" of "1" was setting the
461.1SisInexact FPSR bit. Emulation now does not set Inexact for
471.1Sisthis case.
481.1Sis
491.1Sis3) For an opclass three FP instruction where the effective addressing
501.1Sismode was pre-decrement or post-increment and the address register
511.1Siswas A0 or A1, the address register was not being updated as a result
521.1Sisof the operation. This has been corrected.
531.1Sis
541.1Sis4) Beta 1.2 version had the following erratum:
551.1Sis
561.1Sis	Scenario:
571.1Sis	---------
581.1Sis	If {i,d}mem_{read,write}_{byte,word,long}() returns
591.1Sis	a failing value to the 68060SP, the package ignores
601.1Sis	this return value and continues with program execution
611.1Sis	as if it never received a failing value.
621.1Sis
631.1Sis	Effect:
641.1Sis	-------
651.1Sis	For example, if a user executed "fsin.x ADDR,fp0" where
661.1Sis	ADDR should cause a "segmentation violation", the memory read
671.1Sis	requested by the package should return a failing value
681.1Sis	to the package. Since the package currently ignores this 
691.1Sis	return value, the user program will continue to the
701.1Sis	next instruction, and the result created in fp0 will be
711.1Sis	undefined.
721.1Sis
731.1Sis	Fix:
741.1Sis	----
751.1Sis	This has been fixed in the current release.
761.1Sis
771.1Sis	Notes:
781.1Sis	------
791.1Sis	Upon receiving a non-zero (failing) return value from
801.1Sis	a {i,d}mem_{read,write}_{byte,word,long}() "call-out",
811.1Sis	the package creates a 16-byte access error stack frame
821.1Sis	from the current exception stack frame and exits
831.1Sis	through the "call-out" _real_access(). This is the process
841.1Sis	as described in the MC68060 User's Manual.
851.1Sis
861.1Sis	For instruction read access errors, the info stacked is:
871.1Sis		SR 	= SR at time of exception
881.1Sis		PC 	= PC of instruction being emulated
891.1Sis		VOFF	= $4008 (stack frame format type)
901.1Sis		ADDRESS	= PC of instruction being emulated
911.1Sis		FSLW	= FAULT STATUS LONGWORD
921.1Sis
931.1Sis	The valid FSLW bits are:
941.1Sis		bit 27 		= 1	(misaligned bit)
951.1Sis		bit 24 		= 1	(read)
961.1Sis		bit 23 		= 0	(write)
971.1Sis		bit 22:21	= 10	(SIZE = word)
981.1Sis		bit 20:19	= 00	(TT)
991.1Sis		bit 18:16	= x10	(TM; x = 1 for supervisor mode)
1001.1Sis		bit 15		= 1	(IO)
1011.1Sis		bit 0		= 1	(Software Emulation Error)
1021.1Sis
1031.1Sis	all other bits are EQUAL TO ZERO and can be set by the _real_access()
1041.1Sis	"call-out" stub by the user as appropriate. The MC68060 User's Manual
1051.1Sis	stated that ONLY "bit 0" would be set. The 060SP attempts to set a few
1061.1Sis	other bits.
1071.1Sis
1081.1Sis	For data read/write access errors, the info stacked is:
1091.1Sis		SR 	= SR at time of exception
1101.1Sis		PC 	= PC of instruction being emulated
1111.1Sis		VOFF	= $4008 (stack frame format type)
1121.1Sis		ADDRESS	= Address of source or destination operand
1131.1Sis		FSLW	= FAULT STATUS LONGWORD
1141.1Sis
1151.1Sis	The valid FSLW bits are:
1161.1Sis		bit 27 		= 0	(misaligned bit)
1171.1Sis		bit 24 		= x	(read; 1 if read, 0 if write)
1181.1Sis		bit 23		= x	(write; 1 if write, 0 if read)
1191.1Sis		bit 22:21	= xx	(SIZE; see MC68060 User's Manual)
1201.1Sis		bit 20:19	= 00	(TT)
1211.1Sis		bit 18:16	= x01	(TM; x = 1 for supervisor mode)
1221.1Sis		bit 15		= 0	(IO)
1231.1Sis		bit 0		= 1	(Software Emulation Error)
1241.1Sis
1251.1Sis	all other bits are EQUAL TO ZERO and can be set by the _real_access()
1261.1Sis	"call-out" stub by the user as appropriate. The MC68060 User's Manual
1271.1Sis	stated that ONLY "bit 0" would be set. The 060SP attempts to set a few
1281.1Sis	other bits.
129