公司主營產品圖展示
產品優勢
1:國外專業的供貨渠道,具有價格優勢
2:產品質量保證,讓您售后無憂
3:全國快遞包郵
產品詳情介紹
MTL 8937-HN計數模塊
PCI BIOS功能
特殊PCI BIOS功能為Universe芯片提供軟件接口,提供PCI到VMEbus接口。使用函數調用這些PCI BIOS函數以及子功能代碼。用戶為所需的功能和子功能設置主機處理器的寄存器,并調用PCI BIOS軟件。PCI BIOS功能代碼為B1h。使用進位標志([CF])和特定于調用的子函數的寄存器返回狀態。
通過中斷為16位調用者提供對PCI BIOS特殊功能的訪問1Ah。通過32位調用提供32位(即保護模式)訪問保護模式入口點。
呼叫約定PCI BIOS功能保留所有寄存器和標志,但用于返回參數的寄存器和標志除外。進位標志[CF]將如圖所示改變,以指示完成狀態。這個調用例程將返回,中斷標志未修改,中斷將在函數執行期間不啟用。這些是重入例程,需要1024個堆棧空間和堆棧段的字節大小必須與代碼段。
PCI BIOS提供16位實時和保護模式接口和32位保護模式接口。
16位接口
16位接口通過Int 1Ah軟件中斷提供。PCI BIOS Int1Ah接口在實模式、虛擬-86模式或16:16保護模式下運行。這個Int 1Ah入口點僅支持16位代碼。
32位接口保護模式接口支持32位保護模式調用者。保護模式通過中的保護模式入口點調用來訪問PCI BIOS接口PCI BIOS。構建段描述符所需的入口點和信息由BIOS32服務目錄提供。32位調用者調用PCIBIOS例程使用調用FAR。BIOS32服務目錄在BIOS中以連續的16字節數據實現結構,從物理地址范圍中的某個16字節邊界開始,通過對從服務數據結構獲得的入口點進行FAR調用來訪問BIOS32服務目錄。關于調用有幾個要求必須滿足的環境。CS代碼段選擇器和DS數據段選擇器必須設置為包含包含包含入口點的物理頁面,以及緊接著的物理頁面。它們也必須具有相同的基礎。黨衛軍堆棧段選擇器必須為32位,并提供至少1 KB的堆棧空間。調用環境還必須允許訪問I/O空間。BIOS32服務目錄提供單個函數調用以定位PCI BIOS服務函數的所有參數都在寄存器中傳遞。參數說明如下:如下所示。調用返回三個值。第一個是PCI BIOS服務的基本物理地址,第二個是服務的長度,第三個是服務的入口點,編碼為與基礎的偏移。第一和第二值可用于構建用于訪問的代碼段選擇器和數據段選擇器服務。
PCI BIOS Functions
Special PCI BIOS functions provide a software interface to the Universe chip, providing
the PCI-to-VMEbus interface. These PCI BIOS functions are invoked using a function
and subfunction code. Users set up the host processor's registers for the function and subfunction desired and call the PCI BIOS software. The PCI BIOS function code is B1h.
Status is returned using the Carry flag ([CF]) and registers specific to the subfunction invoked.
Access to the PCI BIOS special functions for 16-bit callers is provided through interrupt
1Ah. Thirty-two bit (i.e., protect mode) access is provided by calling through a 32-bit
protect mode entry point.
Calling Conventions
The PCI BIOS functions preserve all registers and flags except those used for return parameters. The Carry Flag [CF] will be altered as shown to indicate completion status. The
calling routine will be returned to with the interrupt flag unmodified and interrupts will
not be enabled during function execution. These are re-entrant routines require 1024
bytes of stack space and the stack segment must be the same size (i.e., 16- or 32-bit) as
the code segment.
The PCI BIOS provides a 16-bit real and protect mode interface and a 32-bit protect
mode interface.
16-Bit Interface
The 16-bit interface is provided through the Int 1Ah software interrupt. The PCI BIOS Int
1Ah interface operates in either real mode, virtual-86 mode, or 16:16 protect mode. The
Int 1Ah entry point supports 16-bit code only.
32-Bit Interface
The protected mode interface supports 32-bit protect mode callers. The protected mode
PCI BIOS interface is accessed by calling through a protected mode entry point in the
PCI BIOS. The entry point and information needed for building the segment descriptors
are provided by the BIOS32 Service Directory. Thirty-two bit callers invoke the PCI
BIOS routines using CALL FAR.
The BIOS32 Service Directory is implemented in the BIOS in a contiguous 16-byte data
structure, beginning on a 16-byte boundary somewhere in the physical address range The BIOS32 Service Directory is accessed by doing a FAR CALL to the entry point obtained from the Service data structure. There are several requirements about the calling
environment that must be met. The CS code segment selector and the DS data segment
selector must be set up to encompass the physical page holding the entry point as well as
the immediately following physical page. They must also have the same base. The SS
stack segment selector must be 32-bit and provide at least 1 KB of stack space. The calling environment must also allow access to I/O space.
The BIOS32 Service Directory provides a single function call to locate the PCI BIOS
service. All parameters to the function are passed in registers. Parameter descriptions are
provided below. Three values are returned by the call. The first is the base physical address of the PCI BIOS service, the second is the length of the service, and the third is the
entry point to the service encoded as an offset from the base. The first and second values
can be used to build the code segment selector and data segment selector for accessing
the service.