; void CacheClear(void)
; 68030の場合にキャッシュをクリアする

	.include	iocscall.mac

	.xdef	_CacheClear
_CacheClear:
	sub.l	a1,a1			* a1=0 for Super visor mode
	IOCS	_B_SUPER
	move.l	d0,-(sp)
	*
	tst.b	$0cbc			; MPU判別
	beq	@f			; 68000
	moveq.l	#$03,d1			; キャッシュの消去
	IOCS	_SYS_STAT
	*
@@:	move.l	(sp)+,a1
	cmp.l	#-1,a1
	beq	@f			* 元からスーパーバイザーモードにいた時はなにもしない
	IOCS	_B_SUPER		* to user mode
@@:
	rts
