FreeBSD ハンドブック : FreeBSD の内部 : DMAとはどういったものでどういう働きをするのか : DMAポートのマップ
Previous: DMAのプログラミング
Next: FreeBSD の入手方法

22.3.5. DMAポートのマップ

IBM-PCとPC/ATに基づくすべてのシステムでは, 同じI/Oポートに配置された DMAハードウェアを持っています. その完全なリストを以下に示します. DMAコントローラ2に割り当てられたポートは, AT以外のデザインでは 未定義になっています.

22.3.5.1. 0x00 - 0x1f DMA コントローラ #1 (Channels 0, 1, 2 and 3)

DMA アドレス および カウントレジスタ

0x00    write   Channel 0 starting address
0x00    read    Channel 0 current address
0x02    write   Channel 0 starting word count
0x02    read    Channel 0 remaining word count

0x04    write   Channel 1 starting address
0x04    read    Channel 1 current address
0x06    write   Channel 1 starting word count
0x06    read    Channel 1 remaining word count

0x08    write   Channel 2 starting address
0x08    read    Channel 2 current address
0x0a    write   Channel 2 starting word count
0x0a    read    Channel 2 remaining word count

0x0c    write   Channel 3 starting address
0x0c    read    Channel 3 current address
0x0e    write   Channel 3 starting word count
0x0e    read    Channel 3 remaining word count

DMA コマンドレジスタ

0x10    write   Command Register
0x10    read    Status Register
0x12    write   Request Register
0x12    read    -
0x14    write   Single Mask Register Bit
0x14    read    -
0x16    write   Mode Register
0x16    read    -
0x18    write   Clear LSB/MSB Flip-Flop
0x18    read    -
0x1a    write   Master Clear/Reset
0x1a    read    Temporary Register
0x1c    write   Clear Mask Register
0x1c    read    -
0x1e    write   Write All Mask Register Bits
0x1e    read    -

22.3.5.2. 0xc0 - 0xdf DMA コントローラ #2 (Channels 4, 5, 6 and 7)

DMA アドレス および カウントレジスタ

0xc0    write   Channel 4 starting address
0xc0    read    Channel 4 current address
0xc2    write   Channel 4 starting word count
0xc2    read    Channel 4 remaining word count

0xc4    write   Channel 5 starting address
0xc4    read    Channel 5 current address
0xc6    write   Channel 5 starting word count
0xc6    read    Channel 5 remaining word count

0xc8    write   Channel 6 starting address
0xc8    read    Channel 6 current address
0xca    write   Channel 6 starting word count
0xca    read    Channel 6 remaining word count

0xcc    write   Channel 7 starting address
0xcc    read    Channel 7 current address
0xce    write   Channel 7 starting word count
0xce    read    Channel 7 remaining word count

DMA コマンドレジスタ

0xd0    write   Command Register
0xd0    read    Status Register
0xd2    write   Request Register
0xd2    read    -
0xd4    write   Single Mask Register Bit
0xd4    read    -
0xd6    write   Mode Register
0xd6    read    -
0xd8    write   Clear LSB/MSB Flip-Flop
0xd8    read    -
0xda    write   Master Clear/Reset
0xda    read    Temporary Register
0xdc    write   Clear Mask Register
0xdc    read    -
0xde    write   Write All Mask Register Bits
0xde    read    -

22.3.5.3. 0x80 - 0x9f DMA ページレジスタ

0x87    r/w     DMA Channel 0
0x83    r/w     DMA Channel 1
0x81    r/w     DMA Channel 2
0x82    r/w     DMA Channel 3

0x8b    r/w     DMA Channel 5
0x89    r/w     DMA Channel 6
0x8a    r/w     DMA Channel 7

0x8f            Refresh


FreeBSD ハンドブック : FreeBSD の内部 : DMAとはどういったものでどういう働きをするのか : DMAポートのマップ
Previous: DMAのプログラミング
Next: FreeBSD の入手方法
FreeBSD Home Page
www@freebsd.org
Updated May 23, 1997