23 #include "../IsaDma.h" 24 #include "pedigree/kernel/Log.h" 25 #include "pedigree/kernel/processor/IoPort.h" 26 #include "pedigree/kernel/processor/types.h" 45 AddressChannel0_4 = 0xC0,
46 CountChannel0_4 = 0xC1,
48 AddressChannel1_5 = 0xC2,
49 CountChannel1_5 = 0xC3,
51 AddressChannel2_6 = 0xC4,
52 CountChannel2_6 = 0xC5,
54 AddressChannel3_7 = 0xC6,
55 CountChannel3_7 = 0xC7,
76 AddressChannel0_4 = 0x00,
77 CountChannel0_4 = 0x01,
79 AddressChannel1_5 = 0x02,
80 CountChannel1_5 = 0x03,
82 AddressChannel2_6 = 0x04,
83 CountChannel2_6 = 0x05,
85 AddressChannel3_7 = 0x05,
86 CountChannel3_7 = 0x07,
93 enum PageAddressRegister
122 Decrement = (1 << 5),
130 if (!m_Io.allocate(0, 0x100))
131 ERROR(
"X86IsaDma: Couldn't allocate port range");
144 initTransfer(uint8_t channel, uint8_t mode,
size_t length, uintptr_t addr);
147 void resetFlipFlop(uint8_t chan);
149 void resetHard(uint8_t chan);
153 bool internalSetup(uint8_t channel,
size_t length, uintptr_t addr);