leave SIGFPE alone
This commit is contained in:
		
							parent
							
								
									36861e70ac
								
							
						
					
					
						commit
						8a81dbe6fb
					
				
					 3 changed files with 3 additions and 122 deletions
				
			
		|  | @ -28,50 +28,18 @@ | ||||||
| 	pushl	r0 | 	pushl	r0 | ||||||
| 	pushl	r2 | 	pushl	r2 | ||||||
| 	pushl	r1 | 	pushl	r1 | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+		! catch floating point exception |  | ||||||
| 	calls	$3,_m_a_i_n | 	calls	$3,_m_a_i_n | ||||||
| 	movl	$Im2,ap | 	movl	$Im2,ap | ||||||
| 	movl	r0,6(ap) | 	movl	r0,6(ap) | ||||||
| 	chmk	(ap)+ | 	chmk	(ap)+ | ||||||
| 	halt | 	halt | ||||||
| 
 | 
 | ||||||
| 	.align	1
 |  | ||||||
| Isig8: |  | ||||||
| 	.data2	0x0000
 |  | ||||||
| 	pushl	8(ap) |  | ||||||
| 	movl	(sp)+,ap |  | ||||||
| 	pushl	Itab [ap] |  | ||||||
| 	jsb	.trp |  | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+ |  | ||||||
| 	ret |  | ||||||
| 
 |  | ||||||
| 	.sect .rom |  | ||||||
| Im1: |  | ||||||
| 	.data2	48
 |  | ||||||
| 	.data4	2
 |  | ||||||
| 	.data4	8
 |  | ||||||
| 	.data4	Isig8
 |  | ||||||
| 
 |  | ||||||
| Itab: |  | ||||||
| 	.data4	0
 |  | ||||||
| 	.data4	EIOVFL
 |  | ||||||
| 	.data4	EIDIVZ
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
| 	.data4	EILLINS
 |  | ||||||
| 	.data4	EARRAY
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
| 
 |  | ||||||
| 	.sect .data | 	.sect .data | ||||||
| Im2: | Im2: | ||||||
| 	.data2	1
 | 	.data2	1
 | ||||||
| 	.data4	1
 | 	.data4	1
 | ||||||
| 	.data4	0
 | 	.data4	0
 | ||||||
|  | 	.data2	0
 | ||||||
| .reghp: | .reghp: | ||||||
| 	.data4	__end
 | 	.data4	__end
 | ||||||
| .limhp: | .limhp: | ||||||
|  |  | ||||||
|  | @ -28,61 +28,18 @@ | ||||||
| 	pushl	r0 | 	pushl	r0 | ||||||
| 	pushl	r2 | 	pushl	r2 | ||||||
| 	pushl	r1 | 	pushl	r1 | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+		! catch floating point exception |  | ||||||
| 	calls	$3,_m_a_i_n | 	calls	$3,_m_a_i_n | ||||||
| 	movl	$Im2,ap | 	movl	$Im2,ap | ||||||
| 	movl	r0,6(ap) | 	movl	r0,6(ap) | ||||||
| 	chmk	(ap)+ | 	chmk	(ap)+ | ||||||
| 	halt | 	halt | ||||||
| 
 | 
 | ||||||
| 	.align	1
 |  | ||||||
| Isig8: |  | ||||||
| 	.data2	0x0000
 |  | ||||||
| 	pushl	8(ap) |  | ||||||
| 	movl	$Im3,ap |  | ||||||
| 	chmk	(ap)+		! restore default handler |  | ||||||
| 	movl	$Im5,ap |  | ||||||
| 	chmk	(ap)+		! get current signal mask |  | ||||||
| 	bicl3	$0x80,r0,Im4+6	! and remove the 8th bit |  | ||||||
| 	movl	$Im4,ap |  | ||||||
| 	chmk	(ap)+		! and  |  | ||||||
| 	movl	(sp)+,ap |  | ||||||
| 	pushl	Itab [ap] |  | ||||||
| 	jsb	.trp |  | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+ |  | ||||||
| 	ret |  | ||||||
| 
 |  | ||||||
| 	.sect .data | 	.sect .data | ||||||
| Im1: |  | ||||||
| 	.data2	SYS_sigvec
 |  | ||||||
| 	.data4	3
 |  | ||||||
| 	.data4	8
 |  | ||||||
| 	.data4	Im1a
 |  | ||||||
| 	.data4	0
 |  | ||||||
| Im3: |  | ||||||
| 	.data2	SYS_sigvec
 |  | ||||||
| 	.data4	3
 |  | ||||||
| 	.data4	8
 |  | ||||||
| 	.data4	0
 |  | ||||||
| 	.data4	0
 |  | ||||||
| Im4: |  | ||||||
| 	.data2	SYS_sigsetmask
 |  | ||||||
| 	.data4	1
 |  | ||||||
| 	.data4	0
 |  | ||||||
| Im5: |  | ||||||
| 	.data2	SYS_sigblock
 |  | ||||||
| 	.data4	1
 |  | ||||||
| 	.data4	0
 |  | ||||||
| Im1a: |  | ||||||
| 	.data4	Isig8
 |  | ||||||
| 	.data4	0
 |  | ||||||
| 	.data4	0
 |  | ||||||
| Im2: | Im2: | ||||||
| 	.data2	1
 | 	.data2	1
 | ||||||
| 	.data4	1
 | 	.data4	1
 | ||||||
| 	.data4	0
 | 	.data4	0
 | ||||||
|  | 	.data2	0
 | ||||||
| .reghp: | .reghp: | ||||||
| 	.data4	__end
 | 	.data4	__end
 | ||||||
| .limhp: | .limhp: | ||||||
|  | @ -93,15 +50,3 @@ hol0: | ||||||
| 	.space	4
 | 	.space	4
 | ||||||
| .trpim: | .trpim: | ||||||
| 	.data4	0
 | 	.data4	0
 | ||||||
| Itab: |  | ||||||
| 	.data4	0
 |  | ||||||
| 	.data4	EIOVFL
 |  | ||||||
| 	.data4	EIDIVZ
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
| 	.data4	EILLINS
 |  | ||||||
| 	.data4	EARRAY
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
|  |  | ||||||
|  | @ -28,50 +28,18 @@ | ||||||
| 	pushl	r0 | 	pushl	r0 | ||||||
| 	pushl	r2 | 	pushl	r2 | ||||||
| 	pushl	r1 | 	pushl	r1 | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+		! catch floating point exception |  | ||||||
| 	calls	$3,_m_a_i_n | 	calls	$3,_m_a_i_n | ||||||
| 	movl	$Im2,ap | 	movl	$Im2,ap | ||||||
| 	movl	r0,6(ap) | 	movl	r0,6(ap) | ||||||
| 	chmk	(ap)+ | 	chmk	(ap)+ | ||||||
| 	halt | 	halt | ||||||
| 
 | 
 | ||||||
| 	.align	1
 |  | ||||||
| Isig8: |  | ||||||
| 	.data2	0x0000
 |  | ||||||
| 	pushl	8(ap) |  | ||||||
| 	movl	(sp)+,ap |  | ||||||
| 	pushl	Itab [ap] |  | ||||||
| 	jsb	.trp |  | ||||||
| 	movl	$Im1,ap |  | ||||||
| 	chmk	(ap)+ |  | ||||||
| 	ret |  | ||||||
| 
 |  | ||||||
| 	.sect .rom |  | ||||||
| Im1: |  | ||||||
| 	.data2	48
 |  | ||||||
| 	.data4	2
 |  | ||||||
| 	.data4	8
 |  | ||||||
| 	.data4	Isig8
 |  | ||||||
| 
 |  | ||||||
| Itab: |  | ||||||
| 	.data4	0
 |  | ||||||
| 	.data4	EIOVFL
 |  | ||||||
| 	.data4	EIDIVZ
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
| 	.data4	EILLINS
 |  | ||||||
| 	.data4	EARRAY
 |  | ||||||
| 	.data4	EFOVFL
 |  | ||||||
| 	.data4	EFDIVZ
 |  | ||||||
| 	.data4	EFUNFL
 |  | ||||||
| 
 |  | ||||||
| 	.sect .data | 	.sect .data | ||||||
| Im2: | Im2: | ||||||
| 	.data2	1
 | 	.data2	1
 | ||||||
| 	.data4	1
 | 	.data4	1
 | ||||||
| 	.data4	0
 | 	.data4	0
 | ||||||
|  | 	.data2	0
 | ||||||
| .reghp: | .reghp: | ||||||
| 	.data4	__end
 | 	.data4	__end
 | ||||||
| .limhp: | .limhp: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue