 6d50591226
			
		
	
	
		6d50591226
		
	
	
	
	
		
			
			. read_tsc() in sysutil library saves edx and eax now . added read_tsc_64() by Antonio Mancina to load tsc into a 64-bit data type directly . deleted read_tsc.h in favour of a prototype in <minix/syslib.h>
		
			
				
	
	
		
			28 lines
		
	
	
		
			578 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			578 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| # 
 | |
| ! sections
 | |
| 
 | |
| .sect .text; .sect .rom; .sect .data; .sect .bss
 | |
| 
 | |
| .define	_read_tsc	! read the cycle counter (Pentium and up)
 | |
| 
 | |
| .sect .text
 | |
| !*===========================================================================*
 | |
| ! PUBLIC void read_tsc(unsigned long *high, unsigned long *low);
 | |
| ! Read the cycle counter of the CPU. Pentium and up. 
 | |
| .align 16
 | |
| _read_tsc:
 | |
| 	push edx
 | |
| 	push eax
 | |
| .data1 0x0f		! this is the RDTSC instruction 
 | |
| .data1 0x31		! it places the TSC in EDX:EAX
 | |
| 	push ebp
 | |
| 	mov ebp, 16(esp)
 | |
| 	mov (ebp), edx
 | |
| 	mov ebp, 20(esp)
 | |
| 	mov (ebp), eax
 | |
| 	pop ebp
 | |
| 	pop eax
 | |
| 	pop edx
 | |
| 	ret
 | |
| 
 |