1
"리얼 모드"에서 PCI 카드 (32 비트)에 액세스 할 수 있습니까? "리얼 모드"가 16 비트가 아닌가? 리얼 모드에서만 하드웨어에 액세스 할 수 있다고 주장하는 개발자가 있습니다. 하지만 PCI는 32 비트입니다 ..."리얼 모드"에서 PCI 카드 (32 비트)에 액세스 할 수 있습니까?
"리얼 모드"에서 PCI 카드 (32 비트)에 액세스 할 수 있습니까? "리얼 모드"가 16 비트가 아닌가? 리얼 모드에서만 하드웨어에 액세스 할 수 있다고 주장하는 개발자가 있습니다. 하지만 PCI는 32 비트입니다 ..."리얼 모드"에서 PCI 카드 (32 비트)에 액세스 할 수 있습니까?
예.
IO 포트 0xCF8 및 0xCF9는 PCI 구성 공간에 액세스하기위한 색인 및 데이터 레지스터 역할을합니다. 인덱스 레지스터 (즉, 0xCF8)에 기록 될 어드레스는 미리 정해진 고정 된 포맷을 갖는다 (PCI 스펙 참조). pci 구성 데이터에 액세스하려면 인덱스 레지스터에 쓴 다음 데이터 레지스터에서 읽습니다.
The Index register is a DWORD (32-bit) register and the format is:
Byte-3 = 0x80
Byte-2 = Bus No
Byte-1 = Upper 5 bits as DEVICE no, and lower 3 bits as FUNCTION no.
Byte-0 = Register no. to read from config space
그래서 버스에서 읽기 : 0 장치 : 0 Func을 : 0 등록 : 0 리얼 모드를, 당신은 말할 것입니다 :
IoPortWrite32(0xCF8, 0x80000000);
ValueRead = IoPortRead32(0xCFC);
희망이 도움이!
감사합니다. Rohit