Changeset ee06f2a in mainline for kernel/arch/ia32/src/drivers/i8254.c
- Timestamp:
- 2009-02-15T15:28:00Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2d96f4d
- Parents:
- e7f2ad68
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/drivers/i8254.c
re7f2ad68 ree06f2a 95 95 void i8254_normal_operation(void) 96 96 { 97 outb(CLK_PORT4, 0x36);97 pio_write_8(CLK_PORT4, 0x36); 98 98 pic_disable_irqs(1 << IRQ_CLK); 99 outb(CLK_PORT1, (CLK_CONST / HZ) & 0xf);100 outb(CLK_PORT1, (CLK_CONST / HZ) >> 8);99 pio_write_8(CLK_PORT1, (CLK_CONST / HZ) & 0xf); 100 pio_write_8(CLK_PORT1, (CLK_CONST / HZ) >> 8); 101 101 pic_enable_irqs(1 << IRQ_CLK); 102 102 } … … 115 115 * MAGIC_NUMBER is the magic value for 1ms. 116 116 */ 117 outb(CLK_PORT4, 0x30);118 outb(CLK_PORT1, 0xff);119 outb(CLK_PORT1, 0xff);117 pio_write_8(CLK_PORT4, 0x30); 118 pio_write_8(CLK_PORT1, 0xff); 119 pio_write_8(CLK_PORT1, 0xff); 120 120 121 121 do { 122 122 /* will read both status and count */ 123 outb(CLK_PORT4, 0xc2);124 not_ok = (uint8_t) (( inb(CLK_PORT1) >> 6) & 1);125 t1 = inb(CLK_PORT1);126 t1 |= inb(CLK_PORT1) << 8;123 pio_write_8(CLK_PORT4, 0xc2); 124 not_ok = (uint8_t) ((pio_read_8(CLK_PORT1) >> 6) & 1); 125 t1 = pio_read_8(CLK_PORT1); 126 t1 |= pio_read_8(CLK_PORT1) << 8; 127 127 } while (not_ok); 128 128 129 129 asm_delay_loop(LOOPS); 130 130 131 outb(CLK_PORT4, 0xd2);132 t2 = inb(CLK_PORT1);133 t2 |= inb(CLK_PORT1) << 8;131 pio_write_8(CLK_PORT4, 0xd2); 132 t2 = pio_read_8(CLK_PORT1); 133 t2 |= pio_read_8(CLK_PORT1) << 8; 134 134 135 135 /* 136 136 * We want to determine the overhead of the calibrating mechanism. 137 137 */ 138 outb(CLK_PORT4, 0xd2);139 o1 = inb(CLK_PORT1);140 o1 |= inb(CLK_PORT1) << 8;138 pio_write_8(CLK_PORT4, 0xd2); 139 o1 = pio_read_8(CLK_PORT1); 140 o1 |= pio_read_8(CLK_PORT1) << 8; 141 141 142 142 asm_fake_loop(LOOPS); 143 143 144 outb(CLK_PORT4, 0xd2);145 o2 = inb(CLK_PORT1);146 o2 |= inb(CLK_PORT1) << 8;144 pio_write_8(CLK_PORT4, 0xd2); 145 o2 = pio_read_8(CLK_PORT1); 146 o2 |= pio_read_8(CLK_PORT1) << 8; 147 147 148 148 CPU->delay_loop_const =
Note:
See TracChangeset
for help on using the changeset viewer.