iPXE
|
iPXE I/O API More...
#include <stdint.h>
#include <ipxe/api.h>
#include <ipxe/iomap.h>
#include <config/ioapi.h>
#include <bits/io.h>
Go to the source code of this file.
Data Structures | |
struct | memory_region |
A usable memory region. More... | |
struct | memory_map |
A memory map. More... | |
Macros | |
#define | PAGE_SIZE ( 1 << PAGE_SHIFT ) |
Page size. More... | |
#define | PAGE_MASK ( PAGE_SIZE - 1 ) |
Page mask. More... | |
#define | IOAPI_INLINE(_subsys, _api_func) SINGLE_API_INLINE ( IOAPI_PREFIX_ ## _subsys, _api_func ) |
Calculate static inline I/O API function name. More... | |
#define | PROVIDE_IOAPI(_subsys, _api_func, _func) PROVIDE_SINGLE_API ( IOAPI_PREFIX_ ## _subsys, _api_func, _func ) |
Provide an I/O API implementation. More... | |
#define | PROVIDE_IOAPI_INLINE(_subsys, _api_func) PROVIDE_SINGLE_API_INLINE ( IOAPI_PREFIX_ ## _subsys, _api_func ) |
Provide a static inline I/O API implementation. More... | |
#define | IOAPI_READ(_func, _type, io_addr, _prefix, _ndigits) |
Wrap an I/O read. More... | |
#define | IOAPI_WRITE(_func, _type, data, io_addr, _prefix, _ndigits) |
Wrap an I/O write. More... | |
#define | IOAPI_READS(_func, _type, io_addr, data, count, _prefix, _ndigits) |
Wrap an I/O string read. More... | |
#define | IOAPI_WRITES(_func, _type, io_addr, data, count, _prefix, _ndigits) |
Wrap an I/O string write. More... | |
#define | readb(io_addr) IOAPI_READ ( readb, uint8_t, io_addr, "MEM", 2 ) |
#define | readw(io_addr) IOAPI_READ ( readw, uint16_t, io_addr, "MEM", 4 ) |
#define | readl(io_addr) IOAPI_READ ( readl, uint32_t, io_addr, "MEM", 8 ) |
#define | readq(io_addr) IOAPI_READ ( readq, uint64_t, io_addr, "MEM", 16 ) |
#define | writeb(data, io_addr) IOAPI_WRITE ( writeb, uint8_t, data, io_addr, "MEM", 2 ) |
#define | writew(data, io_addr) IOAPI_WRITE ( writew, uint16_t, data, io_addr, "MEM", 4 ) |
#define | writel(data, io_addr) IOAPI_WRITE ( writel, uint32_t, data, io_addr, "MEM", 8 ) |
#define | writeq(data, io_addr) IOAPI_WRITE ( writeq, uint64_t, data, io_addr, "MEM", 16 ) |
#define | inb(io_addr) IOAPI_READ ( inb, uint8_t, io_addr, "IO", 2 ) |
#define | inw(io_addr) IOAPI_READ ( inw, uint16_t, io_addr, "IO", 4 ) |
#define | inl(io_addr) IOAPI_READ ( inl, uint32_t, io_addr, "IO", 8 ) |
#define | outb(data, io_addr) IOAPI_WRITE ( outb, uint8_t, data, io_addr, "IO", 2 ) |
#define | outw(data, io_addr) IOAPI_WRITE ( outw, uint16_t, data, io_addr, "IO", 4 ) |
#define | outl(data, io_addr) IOAPI_WRITE ( outl, uint32_t, data, io_addr, "IO", 8 ) |
#define | insb(io_addr, data, count) IOAPI_READS ( insb, uint8_t, io_addr, data, count, "IO", 2 ) |
#define | insw(io_addr, data, count) IOAPI_READS ( insw, uint16_t, io_addr, data, count, "IO", 4 ) |
#define | insl(io_addr, data, count) IOAPI_READS ( insl, uint32_t, io_addr, data, count, "IO", 8 ) |
#define | outsb(io_addr, data, count) IOAPI_WRITES ( outsb, uint8_t, io_addr, data, count, "IO", 2 ) |
#define | outsw(io_addr, data, count) IOAPI_WRITES ( outsw, uint16_t, io_addr, data, count, "IO", 4 ) |
#define | outsl(io_addr, data, count) IOAPI_WRITES ( outsl, uint32_t, io_addr, data, count, "IO", 8 ) |
#define | INX_P(_func, _type, io_addr) |
Read value from I/O-mapped device, slowly. More... | |
#define | inb_p(io_addr) INX_P ( inb, uint8_t, io_addr ) |
Read byte from I/O-mapped device. More... | |
#define | inw_p(io_addr) INX_P ( inw, uint16_t, io_addr ) |
Read 16-bit word from I/O-mapped device. More... | |
#define | inl_p(io_addr) INX_P ( inl, uint32_t, io_addr ) |
Read 32-bit dword from I/O-mapped device. More... | |
#define | OUTX_P(_func, data, io_addr) |
Write value to I/O-mapped device, slowly. More... | |
#define | outb_p(data, io_addr) OUTX_P ( outb, data, io_addr ) |
Write byte to I/O-mapped device, slowly. More... | |
#define | outw_p(data, io_addr) OUTX_P ( outw, data, io_addr ) |
Write 16-bit word to I/O-mapped device, slowly. More... | |
#define | outl_p(data, io_addr) OUTX_P ( outl, data, io_addr ) |
Write 32-bit dword to I/O-mapped device, slowly. More... | |
#define | rmb() mb() |
#define | wmb() mb() |
#define | MAX_MEMORY_REGIONS 8 |
Maximum number of memory regions we expect to encounter. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
unsigned long | phys_to_bus (unsigned long phys_addr) |
Convert physical address to a bus address. More... | |
unsigned long | bus_to_phys (unsigned long bus_addr) |
Convert bus address to a physical address. More... | |
static __always_inline unsigned long | virt_to_bus (volatile const void *addr) |
Convert virtual address to a bus address. More... | |
static __always_inline void * | bus_to_virt (unsigned long bus_addr) |
Convert bus address to a virtual address. More... | |
uint8_t | readb (volatile uint8_t *io_addr) |
Read byte from memory-mapped device. More... | |
uint16_t | readw (volatile uint16_t *io_addr) |
Read 16-bit word from memory-mapped device. More... | |
uint32_t | readl (volatile uint32_t *io_addr) |
Read 32-bit dword from memory-mapped device. More... | |
uint64_t | readq (volatile uint64_t *io_addr) |
Read 64-bit qword from memory-mapped device. More... | |
void | writeb (uint8_t data, volatile uint8_t *io_addr) |
Write byte to memory-mapped device. More... | |
void | writew (uint16_t data, volatile uint16_t *io_addr) |
Write 16-bit word to memory-mapped device. More... | |
void | writel (uint32_t data, volatile uint32_t *io_addr) |
Write 32-bit dword to memory-mapped device. More... | |
void | writeq (uint64_t data, volatile uint64_t *io_addr) |
Write 64-bit qword to memory-mapped device. More... | |
uint8_t | inb (volatile uint8_t *io_addr) |
Read byte from I/O-mapped device. More... | |
uint16_t | inw (volatile uint16_t *io_addr) |
Read 16-bit word from I/O-mapped device. More... | |
uint32_t | inl (volatile uint32_t *io_addr) |
Read 32-bit dword from I/O-mapped device. More... | |
void | outb (uint8_t data, volatile uint8_t *io_addr) |
Write byte to I/O-mapped device. More... | |
void | outw (uint16_t data, volatile uint16_t *io_addr) |
Write 16-bit word to I/O-mapped device. More... | |
void | outl (uint32_t data, volatile uint32_t *io_addr) |
Write 32-bit dword to I/O-mapped device. More... | |
void | insb (volatile uint8_t *io_addr, uint8_t *data, unsigned int count) |
Read bytes from I/O-mapped device. More... | |
void | insw (volatile uint16_t *io_addr, uint16_t *data, unsigned int count) |
Read 16-bit words from I/O-mapped device. More... | |
void | insl (volatile uint32_t *io_addr, uint32_t *data, unsigned int count) |
Read 32-bit words from I/O-mapped device. More... | |
void | outsb (volatile uint8_t *io_addr, const uint8_t *data, unsigned int count) |
Write bytes to I/O-mapped device. More... | |
void | outsw (volatile uint16_t *io_addr, const uint16_t *data, unsigned int count) |
Write 16-bit words to I/O-mapped device. More... | |
void | outsl (volatile uint32_t *io_addr, const uint32_t *data, unsigned int count) |
Write 32-bit words to I/O-mapped device. More... | |
void | iodelay (void) |
Slow down I/O. More... | |
void | mb (void) |
Memory barrier. More... | |
void | get_memmap (struct memory_map *memmap) |
Get memory map. More... | |
iPXE I/O API
The I/O API provides methods for reading from and writing to memory-mapped and I/O-mapped devices.
The standard methods (readl()/writel() etc.) do not strictly check the type of the address parameter; this is because traditional usage does not necessarily provide the correct pointer type. For example, code written for ISA devices at fixed I/O addresses (such as the keyboard controller) tend to use plain integer constants for the address parameter.
Definition in file io.h.
#define PAGE_SIZE ( 1 << PAGE_SHIFT ) |
#define IOAPI_INLINE | ( | _subsys, | |
_api_func | |||
) | SINGLE_API_INLINE ( IOAPI_PREFIX_ ## _subsys, _api_func ) |
#define PROVIDE_IOAPI | ( | _subsys, | |
_api_func, | |||
_func | |||
) | PROVIDE_SINGLE_API ( IOAPI_PREFIX_ ## _subsys, _api_func, _func ) |
#define PROVIDE_IOAPI_INLINE | ( | _subsys, | |
_api_func | |||
) | PROVIDE_SINGLE_API_INLINE ( IOAPI_PREFIX_ ## _subsys, _api_func ) |
#define IOAPI_READ | ( | _func, | |
_type, | |||
io_addr, | |||
_prefix, | |||
_ndigits | |||
) |
Wrap an I/O read.
_func | I/O API function |
_type | Data type |
io_addr | I/O address |
_prefix | Prefix for address in debug message |
_ndigits | Number of hex digits for this data type |
#define IOAPI_WRITE | ( | _func, | |
_type, | |||
data, | |||
io_addr, | |||
_prefix, | |||
_ndigits | |||
) |
Wrap an I/O write.
_func | I/O API function |
_type | Data type |
data | Value to write |
io_addr | I/O address |
_prefix | Prefix for address in debug message |
_ndigits | Number of hex digits for this data type |
Wrap an I/O string read.
_func | I/O API function |
_type | Data type |
io_addr | I/O address |
data | Data buffer |
count | Number of elements to read |
_prefix | Prefix for address in debug message |
_ndigits | Number of hex digits for this data type |
Wrap an I/O string write.
_func | I/O API function |
_type | Data type |
io_addr | I/O address |
data | Data buffer |
count | Number of elements to write |
_prefix | Prefix for address in debug message |
_ndigits | Number of hex digits for this data type |
#define readb | ( | io_addr | ) | IOAPI_READ ( readb, uint8_t, io_addr, "MEM", 2 ) |
#define readw | ( | io_addr | ) | IOAPI_READ ( readw, uint16_t, io_addr, "MEM", 4 ) |
#define readl | ( | io_addr | ) | IOAPI_READ ( readl, uint32_t, io_addr, "MEM", 8 ) |
#define readq | ( | io_addr | ) | IOAPI_READ ( readq, uint64_t, io_addr, "MEM", 16 ) |
#define writeb | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( writeb, uint8_t, data, io_addr, "MEM", 2 ) |
#define writew | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( writew, uint16_t, data, io_addr, "MEM", 4 ) |
#define writel | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( writel, uint32_t, data, io_addr, "MEM", 8 ) |
#define writeq | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( writeq, uint64_t, data, io_addr, "MEM", 16 ) |
#define inb | ( | io_addr | ) | IOAPI_READ ( inb, uint8_t, io_addr, "IO", 2 ) |
#define inw | ( | io_addr | ) | IOAPI_READ ( inw, uint16_t, io_addr, "IO", 4 ) |
#define inl | ( | io_addr | ) | IOAPI_READ ( inl, uint32_t, io_addr, "IO", 8 ) |
#define outb | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( outb, uint8_t, data, io_addr, "IO", 2 ) |
#define outw | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( outw, uint16_t, data, io_addr, "IO", 4 ) |
#define outl | ( | data, | |
io_addr | |||
) | IOAPI_WRITE ( outl, uint32_t, data, io_addr, "IO", 8 ) |
#define INX_P | ( | _func, | |
_type, | |||
io_addr | |||
) |
#define OUTX_P | ( | _func, | |
data, | |||
io_addr | |||
) |
#define MAX_MEMORY_REGIONS 8 |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
unsigned long phys_to_bus | ( | unsigned long | phys_addr | ) |
Convert physical address to a bus address.
phys_addr | Physical address |
bus_addr | Bus address |
Referenced by exanic_open(), and virt_to_bus().
unsigned long bus_to_phys | ( | unsigned long | bus_addr | ) |
Convert bus address to a physical address.
bus_addr | Bus address |
phys_addr | Physical address |
Referenced by bus_to_virt().
|
inlinestatic |
Convert virtual address to a bus address.
addr | Virtual address |
bus_addr | Bus address |
Definition at line 183 of file io.h.
References addr, phys_to_bus(), and virt_to_phys().
Referenced by __vxge_hw_vpath_prc_configure(), a3c90x_open(), a3c90x_prepare_rx_desc(), a3c90x_process_tx_packets(), a3c90x_setup_rx_ring(), a3c90x_transmit(), amd8111e_init_rx_ring(), amd8111e_poll(), amd8111e_start(), amd8111e_transmit(), arbel_cmd(), arbel_complete(), arbel_create_cq(), arbel_create_qp(), arbel_create_recv_wq(), arbel_create_send_wq(), arbel_fill_mlx_send_wqe(), arbel_fill_rc_send_wqe(), arbel_fill_ud_send_wqe(), arbel_post_recv(), ath5k_desc_alloc(), ath5k_rx_iob_alloc(), ath5k_txbuf_setup(), ath_descdma_setup(), ath_rx_init(), ath_rx_tasklet(), ath_tx_setup_buffer(), atl1e_setup_ring_resources(), atl1e_tx_map(), b44_address_ok(), bnx2_alloc_mem(), bnx2_init_rx_ring(), bnx2_transmit(), bnxt_hwrm_ring_alloc(), bnxt_mm_init(), bnxt_set_rx_desc(), bnxt_tx(), davicom_init_chain(), davicom_reset(), dmfe_descriptor_init(), efx_hunt_alloc_special_buffer(), efx_hunt_build_rx_desc(), efx_hunt_build_tx_desc(), ena_create_cq(), ena_create_sq(), ena_refill_rx(), ena_set_base(), ena_set_host_attributes(), ena_transmit(), epic100_init_ring(), exanic_probe(), falcon_alloc_special_buffer(), falcon_build_rx_desc(), falcon_build_tx_desc(), falcon_init_resources(), flexboot_nodnic_post_recv(), forcedeth_transmit(), golan_cmd_init(), hermon_cmd(), hermon_fill_eth_send_wqe(), hermon_fill_mlx_send_wqe(), hermon_fill_rc_send_wqe(), hermon_fill_ud_send_wqe(), hermon_post_recv(), hunt_mcdi_copyin(), icplus_create_ring(), icplus_refill_rx(), icplus_set_base(), icplus_transmit(), ifec_net_open(), ifec_net_transmit(), ifec_refill_rx_ring(), ifec_reprime_ru(), ifec_tx_setup(), ifec_tx_wake(), igbvf_configure_rx(), igbvf_configure_tx(), igbvf_process_tx_packets(), igbvf_refill_rx_ring(), igbvf_setup_rx_resources(), igbvf_setup_tx_resources(), igbvf_transmit(), init_ring(), jme_alloc_rx_resources(), jme_alloc_tx_resources(), jme_fill_tx_desc(), jme_set_clean_rxdesc(), jme_tx_clean(), linda_create_recv_wq(), linda_init_send(), linda_post_recv(), mlx_memory_map_dma_priv(), myri10ge_command(), myri10ge_net_open(), myri10ge_net_transmit(), myri10ge_post_receive(), myson_create_ring(), myson_refill_rx(), myson_transmit(), natsemi_create_ring(), natsemi_refill_rx(), natsemi_transmit(), nv_alloc_rx(), nv_init_rings(), pcnet32_open(), pcnet32_process_rx_packets(), pcnet32_process_tx_packets(), pcnet32_refill_rx_ring(), pcnet32_setup_init_block(), pcnet32_setup_rx_resources(), pcnet32_setup_tx_resources(), pcnet32_transmit(), phantom_create_rx_ctx(), phantom_create_tx_ctx(), phantom_issue_buf_cmd(), phantom_poll(), phantom_post_cds(), phantom_post_rds(), phantom_refill_rx_ring(), phantom_transmit(), qib7322_create_recv_wq(), qib7322_init_send(), qib7322_post_recv(), rhine_create_ring(), rhine_refill_rx(), rhine_transmit(), rtl818x_handle_rx(), rtl818x_init_rx_ring(), rtl818x_init_tx_ring(), rtl818x_tx(), shomron_fill_eth_send_wqe(), sis190_alloc_rx_iob(), sis190_open(), sis190_transmit(), sis900_init_rxd(), sis900_init_txd(), sis900_poll(), sis900_transmit(), skge_rx_setup(), skge_up(), skge_xmit_frame(), sky2_probe(), sky2_rx_map_iob(), sky2_up(), sky2_xmit_frame(), tg3_alloc_consistent(), tg3_alloc_rx_iob(), tg3_test_dma(), tg3_transmit(), TLan_FinishReset(), TLan_ResetLists(), txnic_refill_rq(), txnic_send(), velocity_alloc_rings(), vmxnet3_open(), vmxnet3_refill_rx(), vmxnet3_transmit(), vxge_hw_fifo_txdl_buffer_set(), vxge_hw_fifo_txdl_post(), vxge_hw_ring_replenish(), vxge_hw_ring_rxd_1b_set(), and w89c840_reset().
|
inlinestatic |
Convert bus address to a virtual address.
bus_addr | Bus address |
addr | Virtual address |
This operation is not available under all memory models.
Definition at line 195 of file io.h.
References bus_addr, bus_to_phys(), and phys_to_virt().
Referenced by atl1e_probe(), bnx2_poll(), eth_probe(), ne_poll(), ns8390_poll(), ns8390_transmit(), and prism2_find_plx().
Read byte from memory-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by amd8111e_get_mac_address(), ecam_read(), ehci_dump(), ehci_init(), icplus_check_link(), icplus_mii_read_bit(), icplus_mii_write_bit(), realtek_check_link(), realtek_dump(), realtek_init_eeprom(), realtek_legacy_poll_rx(), realtek_probe(), realtek_reset(), realtek_spi_close_bit(), realtek_spi_open_bit(), realtek_spi_read_bit(), realtek_spi_write_bit(), rhine_check_link(), rhine_mii_autopoll(), rhine_mii_read(), rhine_mii_write(), rhine_poll(), rhine_probe(), skge_read8(), sky2_read8(), velocity_autopoll_start(), velocity_autopoll_stop(), velocity_check_link(), velocity_mii_read(), velocity_mii_write(), velocity_open(), velocity_poll(), velocity_probe(), velocity_reload_eeprom(), velocity_reset(), vpm_ioread8(), xenstore_recv(), xhci_init(), xhci_legacy_claim(), and xhci_legacy_init().
Read 16-bit word from memory-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by b44_read_eeprom(), ecam_read(), ehci_dump(), hfa384x_getreg(), icplus_poll(), icplus_read_eeprom(), rdc_mii_read(), rdc_mii_write(), rdc_poll(), rdc_probe(), rdc_reset(), realtek_detect(), realtek_legacy_poll_rx(), realtek_poll(), rhine_mii_read(), skge_read16(), sky2_read16(), velocity_mii_read(), vpm_ioread16(), and xengrant_alloc().
Read 32-bit dword from memory-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by __er32(), _efx_readl(), amd8111e_disable_interrupt(), amd8111e_enable_interrupt(), amd8111e_force_interrupt(), amd8111e_init_hw_default(), amd8111e_poll(), amd8111e_poll_link(), amd8111e_read_phy(), amd8111e_start(), amd8111e_transmit(), amd8111e_wait_link(), arbel_cmd(), arbel_cmd_wait(), ath5k_hw_reg_read(), ath9k_ioread32(), ath9k_reg_rmw(), bflush(), br32(), cmdif_rev(), ecam_read(), ehci_async_del(), ehci_bus_poll(), ehci_dump(), ehci_init(), ehci_reset(), ehci_root_disable(), ehci_root_enable(), ehci_root_open(), ehci_root_poll(), ehci_root_speed(), ehci_run(), ehci_stop(), ena_reset_wait(), exanic_check_link(), exanic_i2c_read_bit(), exanic_i2c_write_bit(), exanic_probe(), exanic_probe_port(), forcedeth_link_status(), forcedeth_open(), forcedeth_poll(), fw_rev_maj(), fw_rev_min(), fw_rev_sub(), golan_cmd_init(), gve_admin_wait(), gve_reset(), gve_watchdog(), hermon_cmd(), hermon_cmd_wait(), hvm_map_shared_info(), ice_dump_rx(), ice_dump_tx(), ice_probe(), icplus_init_phy(), icplus_poll(), icplus_reset(), intel_check_link(), intel_create_ring(), intel_disable_ring(), intel_fetch_mac(), intel_init_eeprom(), intel_open(), intel_poll(), intel_read_eeprom(), intel_reset(), intelvf_mbox_msg(), intelvf_mbox_poll(), intelvf_mbox_read(), intelx_check_link(), intelx_close(), intelx_open(), intelx_poll(), intelx_reset(), intelx_try_fetch_mac(), intelxl_context_dump(), intelxl_context_line(), intelxl_disable_ring(), intelxl_enable_ring(), intelxl_probe(), intelxlvf_reset_wait_active(), intelxlvf_reset_wait_teardown(), intelxvf_check_link(), intelxvf_open(), intelxvf_poll(), intelxvf_stats(), jread32(), jwrite32f(), mii_rw(), mlx_pci_mem_read_priv(), myson_poll(), myson_probe(), myson_reload_config(), myson_soft_reset(), myson_wait_idle(), natsemi_check_link(), natsemi_pmatch(), natsemi_poll(), natsemi_reload_config(), natsemi_reset(), natsemi_soft_reset(), natsemi_spi_read_bit(), natsemi_spi_write_bit(), nv_mac_reset(), nv_mgmt_acquire_sema(), nv_mgmt_get_version(), nv_mgmt_release_sema(), nv_setup_mac_addr(), nv_setup_phy(), nv_start_rx(), nv_start_tx(), nv_stop_rx(), nv_stop_tx(), nv_txrx_gate(), nv_update_linkspeed(), nv_update_pause(), pci_msix_control(), pci_msix_dump(), pci_push(), phantom_crb_access_128m(), phantom_crb_access_2m(), phantom_crb_access_32m(), phantom_readl(), phy_init(), realtek_init_eeprom(), realtek_mii_read(), realtek_mii_write(), realtek_open(), realtek_poll_tx(), reg_delay(), skge_read32(), sky2_read32(), tg3_get_invariants(), tg3_read32_mbox_5906(), vmxnet3_check_version(), vmxnet3_command(), vpm_ioread32(), xenstore_recv(), xenstore_send(), xhci_abort(), xhci_command_free(), xhci_dump(), xhci_dump_port(), xhci_extended_capability(), xhci_init(), xhci_legacy_claim(), xhci_port_protocol(), xhci_port_psiv(), xhci_port_slot_type(), xhci_port_speed(), xhci_port_status(), xhci_reset(), xhci_root_disable(), xhci_root_enable(), xhci_root_open(), xhci_root_speed(), xhci_run(), xhci_stop(), and xhci_supported_protocol().
Read 64-bit qword from memory-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by __vxge_hw_device_host_info_get(), __vxge_hw_device_reg_addr_get(), __vxge_hw_device_register_poll(), __vxge_hw_device_toc_get(), __vxge_hw_kdfc_swapper_set(), __vxge_hw_legacy_swapper_set(), __vxge_hw_vpath_addr_get(), __vxge_hw_vpath_alarm_process(), __vxge_hw_vpath_card_info_get(), __vxge_hw_vpath_func_id_get(), __vxge_hw_vpath_fw_ver_get(), __vxge_hw_vpath_initialize(), __vxge_hw_vpath_kdfc_configure(), __vxge_hw_vpath_mac_configure(), __vxge_hw_vpath_mgmt_read(), __vxge_hw_vpath_pci_read(), __vxge_hw_vpath_prc_configure(), __vxge_hw_vpath_swapper_set(), __vxge_hw_vpath_tim_configure(), linda_readq(), qib7322_readq(), txnic_bgx_detect(), txnic_bgx_init(), txnic_bgx_lmac_init(), txnic_diag(), txnic_disable_cq(), txnic_disable_rq(), txnic_disable_sq(), txnic_lmac_diag(), txnic_lmac_poll_link(), txnic_lmac_remove(), txnic_lmac_update_link(), txnic_poll_cq(), vxge_hw_device_begin_irq(), vxge_hw_device_hw_info_get(), vxge_hw_device_intr_enable(), vxge_hw_get_func_mode(), vxge_hw_set_fw_api(), vxge_hw_vpath_intr_enable(), vxge_hw_vpath_mtu_set(), vxge_hw_vpath_rx_doorbell_init(), vxge_hw_vpath_set_zero_rx_frm_len(), and vxge_hw_vpath_strip_fcs_check().
Write byte to memory-mapped device.
data | Value to write |
io_addr | I/O address |
Referenced by amd8111e_start(), ecam_write(), exanic_open(), exanic_transmit(), icplus_mii_write_bit(), realtek_close(), realtek_open(), realtek_reset(), realtek_spi_close_bit(), realtek_spi_open_bit(), realtek_spi_write_bit(), realtek_transmit(), rhine_close(), rhine_irq(), rhine_mii_autopoll(), rhine_mii_read(), rhine_mii_write(), rhine_open(), rhine_poll(), rhine_transmit(), skge_write8(), sky2_write8(), sundance_reset(), velocity_autopoll_start(), velocity_autopoll_stop(), velocity_close(), velocity_irq(), velocity_mii_read(), velocity_mii_write(), velocity_open(), velocity_reset(), vpm_iowrite8(), xenstore_send(), xhci_legacy_claim(), and xhci_legacy_release().
Write 16-bit word to memory-mapped device.
data | Value to write |
io_addr | I/O address |
Write 32-bit dword to memory-mapped device.
data | Value to write |
io_addr | I/O address |
Referenced by __ew32(), __vxge_hw_pio_mem_write32_lower(), __vxge_hw_pio_mem_write32_upper(), _efx_writel(), amd8111e_disable_interrupt(), amd8111e_enable_interrupt(), amd8111e_force_interrupt(), amd8111e_init_hw_default(), amd8111e_poll(), amd8111e_read_phy(), amd8111e_start(), amd8111e_transmit(), arbel_cmd(), arbel_poll_eq(), arbel_reset(), arbel_ring_doorbell(), ath5k_hw_reg_write(), ath9k_iowrite32(), ath9k_reg_rmw(), bios_mp_ipi(), bw32(), ecam_write(), ehci_async_del(), ehci_bus_open(), ehci_bus_poll(), ehci_reset(), ehci_root_close(), ehci_root_disable(), ehci_root_enable(), ehci_root_open(), ehci_root_poll(), ehci_root_speed(), ehci_run(), ehci_stop(), ena_admin(), ena_clear_caps(), ena_refill_rx(), ena_reset(), ena_set_base(), ena_set_caps(), ena_transmit(), exanic_clear_base(), exanic_close(), exanic_expired(), exanic_i2c_write_bit(), exanic_open(), exanic_probe(), exanic_reset(), exanic_transmit(), exanic_write_base(), forcedeth_link_status(), forcedeth_open(), forcedeth_poll(), forcedeth_probe(), forcedeth_transmit(), golan_cmd_init(), golan_eq_update_ci(), gve_admin(), gve_admin_enable(), gve_configure(), gve_refill_rx(), gve_reset(), gve_transmit(), gve_watchdog(), hermon_cmd(), hermon_poll_eq(), hermon_post_send(), hermon_reset(), ice_context_rx(), ice_dump_tx(), ice_probe(), icplus_open(), icplus_reset(), icplus_set_base(), if(), intel_close(), intel_create_ring(), intel_disable_ring(), intel_init_eeprom(), intel_irq(), intel_open(), intel_read_eeprom(), intel_refill_rx(), intel_reset(), intel_reset_ring(), intel_transmit(), intelvf_mbox_msg(), intelvf_mbox_poll(), intelvf_mbox_write(), intelx_close(), intelx_irq(), intelx_open(), intelx_reset(), intelxl_admin_command(), intelxl_alloc_ring(), intelxl_close(), intelxl_context_dump(), intelxl_context_line(), intelxl_disable_admin(), intelxl_disable_ring(), intelxl_enable_admin(), intelxl_enable_ring(), intelxl_open(), intelxl_poll(), intelxl_probe(), intelxl_refill_admin(), intelxl_refill_rx(), intelxl_transmit(), intelxvf_irq(), intelxvf_open(), intelxvf_reset(), jwrite32(), jwrite32f(), linda_writel(), mii_rw(), mlx_pci_mem_write_priv(), myson_close(), myson_create_ring(), myson_destroy_ring(), myson_irq(), myson_open(), myson_poll(), myson_refill_rx(), myson_reload_config(), myson_reset(), myson_soft_reset(), myson_transmit(), natsemi_check_link(), natsemi_close(), natsemi_create_ring(), natsemi_destroy_ring(), natsemi_irq(), natsemi_open(), natsemi_pmatch(), natsemi_refill_rx(), natsemi_reload_config(), natsemi_reset(), natsemi_soft_reset(), natsemi_spi_write_bit(), natsemi_transmit(), nv_disable_hw_interrupts(), nv_enable_hw_interrupts(), nv_init_rings(), nv_mac_reset(), nv_mgmt_acquire_sema(), nv_mgmt_get_version(), nv_mgmt_release_sema(), nv_setup_phy(), nv_start_rx(), nv_start_tx(), nv_stop_rx(), nv_stop_tx(), nv_txrx_gate(), nv_txrx_reset(), nv_update_linkspeed(), nv_update_pause(), pci_msix_control(), pci_msix_map(), phantom_crb_access_128m(), phantom_crb_access_2m(), phantom_crb_access_32m(), phantom_writel(), phy_init(), qib7322_writel(), realtek_create_buffer(), realtek_create_ring(), realtek_destroy_buffer(), realtek_destroy_ring(), realtek_mii_read(), realtek_mii_write(), realtek_open(), realtek_transmit(), rhine_create_ring(), rhine_destroy_ring(), send_command(), skge_write32(), sky2_write32(), tg3_get_invariants(), tg3_write32_mbox_5906(), velocity_alloc_rings(), velocity_close(), vmxnet3_check_version(), vmxnet3_command(), vmxnet3_open(), vmxnet3_poll_events(), vmxnet3_refill_rx(), vmxnet3_set_ll_addr(), vmxnet3_transmit(), vpm_iowrite32(), xengrant_zero(), xenstore_recv(), xenstore_send(), xhci_doorbell(), xhci_event_alloc(), xhci_event_free(), xhci_legacy_claim(), xhci_port_status(), xhci_reset(), xhci_root_disable(), xhci_root_enable(), xhci_root_open(), xhci_root_speed(), xhci_run(), xhci_stop(), and xhci_writeq().
Write 64-bit qword to memory-mapped device.
data | Value to write |
io_addr | I/O address |
Referenced by __vxge_hw_kdfc_swapper_set(), __vxge_hw_legacy_swapper_set(), __vxge_hw_non_offload_db_post(), __vxge_hw_read_rts_ds(), __vxge_hw_vpath_alarm_process(), __vxge_hw_vpath_initialize(), __vxge_hw_vpath_kdfc_configure(), __vxge_hw_vpath_mac_configure(), __vxge_hw_vpath_pci_read(), __vxge_hw_vpath_prc_configure(), __vxge_hw_vpath_swapper_set(), __vxge_hw_vpath_tim_configure(), flexboot_nodnic_arm_cq(), golan_post_send(), if(), linda_writeq(), qib7322_writeq(), shomron_tx_uar_send_db(), txnic_bgx_init(), txnic_bgx_lmac_init(), txnic_bgx_spu_init(), txnic_create_cq(), txnic_create_rq(), txnic_create_sq(), txnic_destroy_cq(), txnic_destroy_rq(), txnic_destroy_sq(), txnic_disable_cq(), txnic_disable_rq(), txnic_disable_sq(), txnic_lmac_close(), txnic_lmac_diag(), txnic_lmac_open(), txnic_lmac_poll_link(), txnic_lmac_remove(), txnic_lmac_reset(), txnic_lmac_update_link(), txnic_pf_probe(), txnic_poll_cq(), txnic_refill_rq(), txnic_send(), vxge_hw_device_clear_tx_rx(), vxge_hw_device_hw_info_get(), vxge_hw_device_intr_disable(), vxge_hw_device_intr_enable(), vxge_hw_set_fw_api(), vxge_hw_vpath_doorbell_rx(), vxge_hw_vpath_intr_disable(), vxge_hw_vpath_intr_enable(), vxge_hw_vpath_mtu_set(), vxge_hw_vpath_rx_doorbell_init(), vxge_hw_vpath_set_zero_rx_frm_len(), and xhci_writeq().
Read byte from I/O-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by debugcon_init(), eepro_poll(), eepro_probe1(), eepro_reset(), eisabus_probe(), enable_multicast(), eth_pio_read(), eth_pio_write(), eth_probe(), get_scancode(), ifec_scb_cmd_wait(), isapnp_read_data(), ne_poll(), ne_probe(), ne_probe1(), ns8390_poll(), ns8390_transmit(), pcnet32_setup_mac_addr(), pit8254_speaker_delay(), read_eeprom(), rhine_enable_mmio(), rhine_reload_eeprom(), rhine_reset(), rtc_disable_int(), rtc_enable_int(), rtc_readb(), rtl818x_ioread8(), sis190_get_mac_addr_from_apc(), sis630e_get_mac_addr(), smc9000_transmit(), t509_enable(), t509_find_id_port(), t509_poll(), t509_transmit(), t515_poll(), t515_reset(), t515_transmit(), t595_poll(), t595_reset(), t595_transmit(), TLan_DioRead8(), vp_get(), vp_get_isr(), vp_get_status(), vp_reset(), and vpm_ioread8().
Read 16-bit word from I/O-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by a3c90x_hw_start(), a3c90x_internal_IssueCommand(), a3c90x_internal_ReadEeprom(), a3c90x_internal_WaitForEeprom(), a3c90x_poll(), check_duplex(), corkscrew_probe1(), cs89x0_poll(), cs89x0_probe_addr(), eepro_poll(), eepro_transmit(), eeprom_read(), eisabus_probe(), epic100_probe(), eth_pio_read(), get_e(), hfa384x_getreg(), ifec_check_ru_status(), ifec_net_close(), ifec_net_poll(), ifec_net_transmit(), ifec_refill_rx_ring(), ifec_reset(), ifec_spi_read_bit(), ifec_spi_write_bit(), ifec_tx_wake(), init_media(), mii_read(), pcnet32_wio_check(), pcnet32_wio_read_bcr(), pcnet32_wio_read_csr(), pcnet32_wio_read_rap(), pcnet32_wio_reset(), phy_read(), pnic_command_quiet(), readreg(), rtl818x_ioread16(), sis635_get_mac_addr(), smc9000_poll(), smc9000_probe(), smc9000_probe_addr(), smc9000_transmit(), smc_read_phy_register(), smc_write_phy_register(), sundance_irq(), sundance_poll(), sundance_probe(), sundance_reset(), t509_id_read_eeprom(), t509_poll(), t509_transmit(), t515_poll(), t515_probe(), t515_reset(), t515_transmit(), t595_poll(), t595_transmit(), t5x9_disable(), t5x9_probe(), TLan_DioRead16(), tlan_poll(), tlan_transmit(), uhci_reset(), uhci_root_disable(), uhci_root_enable(), uhci_root_poll(), uhci_root_speed(), uhci_run(), uhci_stop(), vp_find_vq(), vpm_ioread16(), and vxgetlink().
Read 32-bit dword from I/O-mapped device.
io_addr | I/O address |
data | Value read |
Referenced by a3c90x_hw_start(), a3c90x_process_tx_packets(), a3c90x_transmit(), acpi_currticks(), acpi_udelay(), corkscrew_probe1(), davicom_disable(), davicom_probe(), davicom_reset(), ifec_mdio_read(), ifec_mdio_write(), init_media(), mdio_read(), mdio_write(), mii_read(), pcnet32_dwio_check(), pcnet32_dwio_read_bcr(), pcnet32_dwio_read_csr(), pcnet32_dwio_read_rap(), pcnet32_dwio_reset(), phy_read_1bit(), pnic_do_nway(), read_eeprom(), read_srom_word(), rtl818x_ioread32(), select_media(), set_rx_mode(), sis635_get_mac_addr(), sis900_check_mode(), sis900_disable(), sis900_init(), sis900_init_rxd(), sis900_init_rxfilter(), sis900_init_txd(), sis900_mdio_read(), sis900_poll(), sis900_probe(), sis900_read_eeprom(), sis900_reset(), sis900_transmit(), sis96x_get_mac_addr(), start_link(), sundance_probe(), sundance_reset(), t515_probe(), t515_reset(), TLan_DioRead32(), tlan_probe(), TLan_ResetAdapter(), tulip_disable(), tulip_probe(), tulip_reset(), tulip_transmit(), vp_find_vq(), vp_get_features(), vpm_ioread32(), vxgetlink(), and vxsetlink().
Write byte to I/O-mapped device.
data | Value to write |
io_addr | I/O address |
Write 16-bit word to I/O-mapped device.
data | Value to write |
io_addr | I/O address |
Write 32-bit dword to I/O-mapped device.
data | Value to write |
io_addr | I/O address |
Read bytes from I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of bytes to read |
Referenced by pnic_command_quiet().
Read 16-bit words from I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of words to read |
Referenced by cs89x0_poll(), eepro_poll(), smc9000_poll(), t509_poll(), t515_poll(), and t595_poll().
Read 32-bit words from I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of words to read |
Write bytes to I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of bytes to write |
Referenced by pnic_command_quiet().
Write 16-bit words to I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of words to write |
Referenced by cs89x0_transmit(), eepro_transmit(), send_test_pkt(), smc9000_transmit(), t509_transmit(), t515_transmit(), and t595_transmit().
Write 32-bit words to I/O-mapped device.
io_addr | I/O address |
data | Data buffer |
count | Number of words to write |
void iodelay | ( | void | ) |
Slow down I/O.
Referenced by myson_poll().
void mb | ( | void | ) |
Memory barrier.
Referenced by __cyg_profile_func_enter(), __cyg_profile_func_exit(), ath5k_init(), ath5k_txbuf_setup(), bnxt_poll(), bnxt_tx(), ecam_write(), falcon_clear_interrupts(), linda_destroy_recv_wq(), linda_fini_send(), linda_i2c_write_bit(), myri10ge_interrupt_handler(), phantom_clp_cmd(), qib7322_destroy_recv_wq(), qib7322_fini_send(), qib7322_i2c_write_bit(), skge_tx_avail(), skge_tx_done(), sky2_tx_complete(), tg3_chip_reset(), tg3_poll(), tg3_transmit(), vmbus_send(), and vring_kick().
void get_memmap | ( | struct memory_map * | memmap | ) |
Get memory map.
memmap | Memory map to fill in |
Referenced by com32_exec_loop(), hide_etherboot(), int13_boot(), largest_memblock(), memmap_settings_fetch(), multiboot_build_memmap(), prep_segment(), relocate(), umalloc_test(), and unhide_etherboot().