Clean up profiler configure and usage functions.
[akaros.git] / kern / include / kclock.h
1 /* See COPYRIGHT for copyright information. */
2
3 #pragma once
4 #ifndef ROS_KERNEL
5 # error "This is a ROS kernel header; user programs should not #include it"
6 #endif
7
8 #define IO_RTC          0x070           /* RTC port */
9
10 #define MC_NVRAM_START  0xe     /* start of NVRAM: offset 14 */
11 #define MC_NVRAM_SIZE   50      /* 50 bytes of NVRAM */
12
13 /* NVRAM bytes 7 & 8: base memory size */
14 #define NVRAM_BASELO    (MC_NVRAM_START + 7)    /* low byte; RTC off. 0x15 */
15 #define NVRAM_BASEHI    (MC_NVRAM_START + 8)    /* high byte; RTC off. 0x16 */
16
17 /* NVRAM bytes 9 & 10: extended memory size */
18 #define NVRAM_EXTLO     (MC_NVRAM_START + 9)    /* low byte; RTC off. 0x17 */
19 #define NVRAM_EXTHI     (MC_NVRAM_START + 10)   /* high byte; RTC off. 0x18 */
20
21 /* NVRAM bytes 34 and 35: extended memory POSTed size */
22 #define NVRAM_PEXTLO    (MC_NVRAM_START + 34)   /* low byte; RTC off. 0x30 */
23 #define NVRAM_PEXTHI    (MC_NVRAM_START + 35)   /* high byte; RTC off. 0x31 */
24
25 /* NVRAM byte 36: current century.  (please increment in Dec99!) */
26 #define NVRAM_CENTURY   (MC_NVRAM_START + 36)   /* RTC offset 0x32 */
27
28 unsigned mc146818_read(unsigned reg);
29 void mc146818_write(unsigned reg, unsigned datum);
30 void kclock_init(void);