; Boot sector for GeekOS
; Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
; Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
-; $Revision: 1.6 $
+; $Revision: 1.7 $
; This is free software. You are permitted to use,
; redistribute, and modify it as specified in the file "COPYING".
[ORG 0x0]
BeginText: ; needed to calculate padding bytes to fill the sector
+ ;; temporalily for io performance test
+ mov dx, 0x995
+ mov eax, 0x12345678
+ out dx, eax
+ mov dx, 0x999
+ xor eax, eax
+ cpuid
+ rdtsc
+ ;; mov [time], eax
+ ;; mov eax, 0x12345678
+ out dx, eax
+ cpuid
+ rdtsc
+ sub eax, [time]
+ out dx, eax
; Copy the boot sector into INITSEG.
mov ax, BOOTSEG
dw 0 ; ! limit16,base24 =0
dw 0,0,0,0 ; ! BIOS CS
dw 0,0,0,0 ; ! BIOS DS
+time:
+ dw 0,0
; Padding to make the PFAT Boot Record sit just before the BIOS signature.
* GeekOS timer interrupt support
* Copyright (c) 2001,2003 David H. Hovemeyer <daveho@cs.umd.edu>
* Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu>
- * $Revision: 1.9 $
+ * $Revision: 1.10 $
*
* This is free software. You are permitted to use,
* redistribute, and modify it as specified in the file "COPYING".
*/
volatile ulong_t g_numTicks;
+ulong_t clock_time(void){
+ return g_numTicks;
+}
+
+
/*
* Number of times the spin loop can execute during one timer tick
*/