--------X-1AB101----------------------------- INT 1A - Intel PCI BIOS v2.0c - INSTALLATION CHECK AX = B101h Return: AH = 00h if installed CF clear EDX = 20494350h (' ICP') EDI = physical address of protected-mode entry point (see #0501) AL = PCI hardware characteristics (see #0500) BH = PCI interface level major version (BCD) BL = PCI interface level minor version (BCD) CL = number of last PCI bus in system EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Note: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call SeeAlso: AX=B181h Bitfields for PCI hardware characteristics: Bit(s) Description (Table 0500) 0 configuration space access mechanism 1 supported 1 configuration space access mechanism 2 supported 2-3 reserved 4 Special Cycle generation mechanism 1 supported 5 Special Cycle generation mechanism 2 supported 6-7 reserved (Table 0501) Call protected-mode entry point with: registers as for real/V86-mode INT call CS = ring 0 descriptor with access to full address space Return: as for real/V86-mode call --------X-1AB102----------------------------- INT 1A - Intel PCI BIOS v2.0c - FIND PCI DEVICE AX = B102h CX = device ID DX = vendor ID SI = device index (0-n) Return: CF clear if successful CF set on error AH = status 00h successful BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 func) 83h bad vendor ID 86h device not found EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call device ID FFFFh may be reserved as a wildcard in future implementations the meanings of BL and BH on return may be exchanged in future implementations all devices sharing a single vendor ID and device ID may be enumerated by incrementing SI from 0 until error 86h is returned SeeAlso: AX=B182h --------X-1AB103----------------------------- INT 1A - Intel PCI BIOS v2.0c - FIND PCI CLASS CODE AX = B103h ECX = class code (bits 23-0) SI = device index (0-n) Return: CF clear if successful CF set on error AH = status 00h successful BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 func) 86h device not found EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on return may be exchanged in future implementations all devices sharing the same Class Code may be enumerated by incrementing SI from 0 until error 86h is returned SeeAlso: AX=B183h --------X-1AB106----------------------------- INT 1A - Intel PCI BIOS v2.0c - PCI BUS-SPECIFIC OPERATIONS AX = B106h BL = bus number EDX = Special Cycle data Return: CF clear if successful CF set on error AH = status 00h successful 81h unsupported function EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Note: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call SeeAlso: AX=B186h --------X-1AB108----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION BYTE AX = B108h BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: CF clear if successful CL = byte read CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B188h --------X-1AB109----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION WORD AX = B109h BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: CF clear if successful CX = word read CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B189h --------X-1AB10A----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION DWORD AX = B10Ah BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: CF clear if successful ECX = dword read CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B18Ah --------X-1AB10B----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION BYTE AX = B10Bh BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) CL = byte to write Return: CF clear if successful CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B18Bh --------X-1AB10C----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION WORD AX = B10Ch BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (multiple of 2 less than 0100h) CX = word to write Return: CF clear if successful CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B18Ch --------X-1AB10D----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION DWORD AX = B10Dh BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (multiple of 4 less than 0100h) ECX = dword to write Return: CF clear if successful CF set on error AH = status 00h successful 87h bad register number EAX, EBX, ECX, and EDX may be modified all other flags (except IF) may be modified Notes: this function may require up to 1024 byte of stack; it will not enable interrupts if they were disabled before making the call the meanings of BL and BH on entry may be exchanged in future implementations SeeAlso: AX=B18Dh --------X-1AB181----------------------------- INT 1A - Intel PCI BIOS v2.0c - INSTALLATION CHECK (32-bit) AX = B181h Return: as for AX=B101h SeeAlso: AX=B101h --------X-1AB182----------------------------- INT 1A - Intel PCI BIOS v2.0c - FIND PCI DEVICE (32-bit) AX = B182h CX = device ID DX = vendor ID SI = device index (0-n) Return: as for AX=B102h SeeAlso: AX=B102h --------X-1AB183----------------------------- INT 1A - Intel PCI BIOS v2.0c - FIND PCI CLASS CODE (32-bit) AX = B183h ECX = class code (bits 23-0) SI = device index (0-n) Return: as for AX=B103h SeeAlso: AX=B103h --------X-1AB186----------------------------- INT 1A - Intel PCI BIOS v2.0c - PCI BUS-SPECIFIC OPERATIONS (32-bit) AX = B186h BL = bus number EDX = Special Cycle data Return: as for AX=B106h SeeAlso: AX=B106h --------X-1AB188----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION BYTE (32-bit) AX = B188h BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: as for AX=B108h SeeAlso: AX=B108h --------X-1AB189----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION WORD (32-bit) AX = B189h BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: as for AX=B109h SeeAlso: AX=B109h --------X-1AB18A----------------------------- INT 1A - Intel PCI BIOS v2.0c - READ CONFIGURATION DWORD (32-bit) AX = B18Ah BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) Return: as for AX=B10Ah SeeAlso: AX=B10Ah --------X-1AB18B----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION BYTE (32-bit) AX = B18Bh BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (0000h-00FFh) CL = byte to write Return: as for AX=B10Bh SeeAlso: AX=B10Bh --------X-1AB18C----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION WORD (32-bit) AX = B18Ch BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (multiple of 2 less than 0100h) CX = word to write Return: as for AX=B10Ch SeeAlso: AX=B10Ch --------X-1AB18D----------------------------- INT 1A - Intel PCI BIOS v2.0c - WRITE CONFIGURATION DWORD (32-bit) AX = B18Dh BL = bus number BH = device/function number (bits 7-3 device, bits 2-0 function) DI = register number (multiple of 4 less than 0100h) ECX = dword to write Return: as for AX=B10Dh SeeAlso: AX=B10Dh