25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: dev_ns16550.c,v 1.54 2006/04/06 18:08:42 debug Exp $ |
* $Id: dev_ns16550.c,v 1.55 2006/10/27 13:12:21 debug Exp $ |
29 |
* |
* |
30 |
* NS16550 serial controller. |
* NS16550 serial controller. |
31 |
* |
* |
72 |
}; |
}; |
73 |
|
|
74 |
|
|
75 |
/* |
DEVICE_TICK(ns16550) |
|
* dev_ns16550_tick(): |
|
|
* |
|
|
* This function is called at regular intervals. An interrupt is caused to the |
|
|
* CPU if there is a character available for reading, or if the transmitter |
|
|
* slot is empty (i.e. the ns16550 is ready to transmit). |
|
|
*/ |
|
|
void dev_ns16550_tick(struct cpu *cpu, void *extra) |
|
76 |
{ |
{ |
77 |
|
/* |
78 |
|
* This function is called at regular intervals. An interrupt is |
79 |
|
* asserted if there is a character available for reading, or if the |
80 |
|
* transmitter slot is empty (i.e. the ns16550 is ready to transmit). |
81 |
|
*/ |
82 |
struct ns_data *d = extra; |
struct ns_data *d = extra; |
83 |
|
|
84 |
d->reg[com_iir] &= ~IIR_RXRDY; |
d->reg[com_iir] &= ~IIR_RXRDY; |