VirtualBox

source: vbox/trunk/src/VBox/Devices/PC/Etherboot-src/include/timer.h@ 2376

Last change on this file since 2376 was 1, checked in by vboxsync, 55 years ago

import

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1/* Defines for routines to implement a low-overhead timer for drivers */
2
3 /*
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2, or (at
7 * your option) any later version.
8 */
9
10#ifndef TIMER_H
11#define TIMER_H
12
13/* Ports for the 8254 timer chip */
14#define TIMER2_PORT 0x42
15#define TIMER_MODE_PORT 0x43
16
17/* Meaning of the mode bits */
18#define TIMER0_SEL 0x00
19#define TIMER1_SEL 0x40
20#define TIMER2_SEL 0x80
21#define READBACK_SEL 0xC0
22
23#define LATCH_COUNT 0x00
24#define LOBYTE_ACCESS 0x10
25#define HIBYTE_ACCESS 0x20
26#define WORD_ACCESS 0x30
27
28#define MODE0 0x00
29#define MODE1 0x02
30#define MODE2 0x04
31#define MODE3 0x06
32#define MODE4 0x08
33#define MODE5 0x0A
34
35#define BINARY_COUNT 0x00
36#define BCD_COUNT 0x01
37
38/* Timers tick over at this rate */
39#define CLOCK_TICK_RATE 1193180U
40#define TICKS_PER_MS (CLOCK_TICK_RATE/1000)
41
42/* Parallel Peripheral Controller Port B */
43#define PPC_PORTB 0x61
44
45/* Meaning of the port bits */
46#define PPCB_T2OUT 0x20 /* Bit 5 */
47#define PPCB_SPKR 0x02 /* Bit 1 */
48#define PPCB_T2GATE 0x01 /* Bit 0 */
49
50/* Ticks must be between 0 and 65535 (0 == 65536)
51 because it is a 16 bit counter */
52extern void load_timer2(unsigned int ticks);
53extern inline int timer2_running(void);
54extern void waiton_timer2(unsigned int ticks);
55
56extern void setup_timers(void);
57extern void ndelay(unsigned int nsecs);
58extern void udelay(unsigned int usecs);
59extern void mdelay(unsigned int msecs);
60
61
62#endif /* TIMER_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette