|
dxd - dynax driver framework 2.6.0d204
cross platform open source driver development framework
|
PPC device. More...
#include <dxd_pci_ppc.h>
Public Types | |
| enum | eumb { omisr = 0x030 , omimr = 0x034 , ifpqr = 0x040 , ofpqr = 0x044 , odbr = 0x060 , idbr = 0x068 , itwr = 0x310 } |
| embedded utility memory block More... | |
| enum | i2o { om0i = LE32(0x01) , om1i = LE32(0x02) , odi = LE32(0x08) , opqi = LE32(0x20) } |
Public Member Functions | |
| volatile unsigned int * | eumb (eumb offset) |
| pointer to eumb register | |
| template<endian endian_t> | |
| void | fill32 (unsigned int pattern, unsigned int inbound, size_t size32) |
| fill ppc inbound range with 32bit pattern | |
| os_result | i2o (const unsigned int *msg, size_t size) |
| i2o message send | |
| operator const ::HANDLE () const | |
| operator::IOPCIDevice * () const | |
| IOKit IOPCIDevice* implicit cast. | |
| template<typename type_t> | |
| os_result | query (const ::UNICODE_STRING &key, type_t &value) |
| template<typename key_t, typename type_t> | |
| os_result | query (key_t *key, type_t &value) |
| template<endian endian_t> | |
| void | read32 (unsigned int *dst, unsigned int inbound, size_t size32) |
| read endian corrected 32bit values from ppc | |
| template<endian endian_t> | |
| unsigned int | read32 (unsigned int inbound) |
| read the endian corrected 32bit value from ppc | |
| os_result | remove () |
| os_result | set (const ::UNICODE_STRING &key, const ::GUID &value) |
| os_result | set (const ::UNICODE_STRING &key, const ::UNICODE_STRING &value) |
| os_result | set (const ::UNICODE_STRING &key, const char *value) |
| os_result | set (const ::UNICODE_STRING &key, const wchar_t *value) |
| os_result | set (const ::UNICODE_STRING &key, unsigned int value) |
| template<typename key_t, typename type_t> | |
| os_result | set (key_t *key, const type_t &value) |
| template<typename type_t> | |
| unsigned long | type () |
| template<endian endian_t> | |
| void | write32 (const unsigned int *src, unsigned int inbound, size_t size32) |
| write endian corrected 32bit values to ppc | |
| template<endian endian_t> | |
| void | write32 (unsigned int src, unsigned int inbound) |
| write endian corrected 32bit value to ppc | |
Public Attributes | |
| os_result | status = not_initialized |
Protected Member Functions | |
| void | conclude () override |
| IOKit: Main driver finalization. | |
| virtual os_result | irq_disable () |
| IOKit: disable hardware irq handler. | |
| virtual os_result | irq_enable () |
| IOKit: enable hardware irq handler. | |
| virtual os_result | isr_odi (unsigned int dbr) |
| outbound doorbell interrupt handler | |
| virtual os_result | isr_opqi (unsigned int fpqr) |
| outbound messsage interrupt handler | |
| os_result | launch () override |
| IOKit: Main driver entry. | |
Protected Attributes | |
| resources | hw |
PPC device.
This class provides embedded PPC PCI device driver functionality.
| enum dxd::ppc::eumb |
embedded utility memory block
Register set for use in eumb function to retrieve pointer of device register.
| enum dxd::ppc::i2o |
|
inlineoverrideprotectedinherited |
IOKit: Main driver finalization.
conclude() is one of the driver-supplied routines that is called before a driver is to be removed. It is responsible for freeing all resource the driver acquired during launch().
|
inline |
pointer to eumb register
Use with eumb register set for use in eumb function to retrieve pointer of device register.
|
inline |
fill ppc inbound range with 32bit pattern
Fill the ppc inbound range with a 32bit pattern. Since this function needs to access the inbound translation window this call blocks.
| pattern | 32bit pattern to be written to inbound ppc range |
| inbound | ppc inbound range start address to be filled |
| size32 | amount of 32bit values written to inbound range |
| endian_t | indicates the endianism of the firewire device |
|
inline |
i2o message send
Copies the message contents to PCI window and
writes inbound queue to post the message.
|
inlineprotectedvirtualinherited |
IOKit: disable hardware irq handler.
|
inlineprotectedvirtualinherited |
IOKit: enable hardware irq handler.
|
inlineprotectedvirtual |
outbound doorbell interrupt handler
| dbr | doorbell register |
|
inlineprotectedvirtual |
outbound messsage interrupt handler
| fpqr | FIFO pointer queue register |
|
inlineoverrideprotected |
IOKit: Main driver entry.
launch() is one of the dynax driver frameword-supplied routines that is called after this driver is loaded. It is responsible for initializing the driver.
Checks if there are exactly two PCI memory windows.
|
inlineinherited |
|
inlineinherited |
IOKit IOPCIDevice* implicit cast.
|
inlineinherited |
|
inlineinherited |
|
inline |
read endian corrected 32bit values from ppc
Return the endian corrected 32bit values from ppc device. Since this function needs to access the inbound translation window this call blocks.
| dst | buffer to accept read data |
| inbound | ppc inbound address to read from |
| size32 | amount of 32bit words to read |
| endian_t | indicates the endianism of the firewire device |
|
inline |
read the endian corrected 32bit value from ppc
Return the endian corrected 32bit value from ppc device. Since this function needs to access the inbound translation window this call blocks.
| inbound | ppc inbound address to read from |
| endian_t | indicates the endianism of the firewire device |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inline |
write endian corrected 32bit values to ppc
Writes the endian corrected 32bit values to ppc device. Since this function needs to access the inbound translation window this call blocks.
| src | 32bit buffer containing data to be written to ppc |
| inbound | ppc inbound destination address |
| size32 | number of 32bit values to be written to ppc |
| endian_t | indicates the endianism of the firewire device |
|
inline |
write endian corrected 32bit value to ppc
Writes the endian corrected 32bit value to ppc device. Since this function needs to access the inbound translation window this call blocks.
| src | 32bit value containing data to be written to ppc |
| inbound | ppc inbound destination address |
| endian_t | indicates the endianism of the firewire device |
| volatile unsigned int dxd::ppc::dbr |
doorbell register
|
protectedinherited |
| volatile unsigned int dxd::ppc::sr |
status register
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |