iPXE
|
iPXE I/O mapping API More...
#include <stdint.h>
#include <ipxe/api.h>
#include <config/ioapi.h>
#include <ipxe/uaccess.h>
#include <ipxe/iomap_virt.h>
#include <bits/iomap.h>
Go to the source code of this file.
Defines | |
#define | IOMAP_INLINE(_subsys, _api_func) SINGLE_API_INLINE ( IOMAP_PREFIX_ ## _subsys, _api_func ) |
Calculate static inline I/O mapping API function name. | |
#define | PROVIDE_IOMAP(_subsys, _api_func, _func) PROVIDE_SINGLE_API ( IOMAP_PREFIX_ ## _subsys, _api_func, _func ) |
Provide an I/O mapping API implementation. | |
#define | PROVIDE_IOMAP_INLINE(_subsys, _api_func) PROVIDE_SINGLE_API_INLINE ( IOMAP_PREFIX_ ## _subsys, _api_func ) |
Provide a static inline I/O mapping API implementation. | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
void * | ioremap (unsigned long bus_addr, size_t len) |
Map bus address as an I/O address. | |
void | iounmap (volatile const void *io_addr) |
Unmap I/O address. | |
unsigned long | io_to_bus (volatile const void *io_addr) |
Convert I/O address to bus address (for debug only) |
iPXE I/O mapping API
The I/O mapping API provides methods for mapping and unmapping I/O devices.
Definition in file iomap.h.
#define IOMAP_INLINE | ( | _subsys, | |
_api_func | |||
) | SINGLE_API_INLINE ( IOMAP_PREFIX_ ## _subsys, _api_func ) |
#define PROVIDE_IOMAP | ( | _subsys, | |
_api_func, | |||
_func | |||
) | PROVIDE_SINGLE_API ( IOMAP_PREFIX_ ## _subsys, _api_func, _func ) |
#define PROVIDE_IOMAP_INLINE | ( | _subsys, | |
_api_func | |||
) | PROVIDE_SINGLE_API_INLINE ( IOMAP_PREFIX_ ## _subsys, _api_func ) |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
Map bus address as an I/O address.
bus_addr | Bus address |
len | Length of region |
io_addr | I/O address |
Referenced by amd8111e_probe(), arbel_probe(), arbel_start_firmware(), ath5k_probe(), ath_pci_probe(), b44_probe(), bnx2_init_board(), efab_probe(), efx_probe(), ehci_probe(), ena_probe(), exanic_probe(), flexboot_nodnic_alloc_uar(), forcedeth_map_regs(), golan_alloc_uar(), golan_pci_init(), hermon_bofm_probe(), hermon_probe(), hvm_ioremap(), hvm_map_xenstore(), icplus_probe(), igbvf_probe(), intel_probe(), intelx_probe(), intelxl_probe(), intelxlvf_probe(), intelxvf_probe(), jme_probe(), linda_probe(), mlx_pci_init_priv(), myson_probe(), natsemi_probe(), pci_msix_ioremap(), phantom_map_crb(), prism2_pci_probe(), qib7322_probe(), realtek_probe(), rhine_probe(), sis190_init_board(), skeleton_probe(), skge_probe(), sky2_probe(), tg3_init_one(), txnic_alloc(), txnic_bgx_probe(), txnic_pf_probe(), velocity_probe(), virtio_pci_map_capability(), vmxnet3_probe(), vxge_probe(), and xhci_probe().
void iounmap | ( | volatile const void * | io_addr | ) |
Unmap I/O address.
io_addr | I/O address |
Referenced by amd8111e_disable(), arbel_probe(), arbel_remove(), ath5k_probe(), ath5k_remove(), ath_pci_probe(), ath_pci_remove(), b44_probe(), b44_remove(), bnx2_disable(), efab_probe(), efab_remove(), efx_remove(), ehci_probe(), ehci_remove(), ena_probe(), ena_remove(), exanic_probe(), exanic_remove(), flexboot_nodnic_dealloc_uar(), forcedeth_probe(), forcedeth_remove(), golan_probe_normal(), golan_remove_normal(), hermon_bofm_probe(), hermon_bofm_remove(), hermon_probe(), hermon_remove(), hvm_ioremap(), hvm_iounmap(), hvm_unmap_xenstore(), icplus_probe(), icplus_remove(), igbvf_probe(), igbvf_remove(), intel_probe(), intel_remove(), intelx_probe(), intelx_remove(), intelxl_probe(), intelxl_remove(), intelxlvf_probe(), intelxlvf_remove(), intelxvf_probe(), intelxvf_remove(), jme_probe(), jme_remove(), linda_probe(), linda_remove(), mlx_pci_teardown_priv(), myson_probe(), myson_remove(), natsemi_probe(), natsemi_remove(), pci_msix_disable(), pci_msix_enable(), qib7322_probe(), qib7322_remove(), realtek_probe(), realtek_remove(), sis190_probe(), sis190_remove(), skeleton_probe(), skeleton_remove(), skge_probe(), skge_remove(), sky2_probe(), sky2_remove(), tg3_init_one(), txnic_alloc(), txnic_bgx_probe(), txnic_bgx_remove(), txnic_free(), txnic_pf_probe(), txnic_pf_remove(), virtio_pci_unmap_capability(), vmxnet3_probe(), vmxnet3_remove(), vxge_probe(), vxge_remove(), xhci_probe(), and xhci_remove().
unsigned long io_to_bus | ( | volatile const void * | io_addr | ) |
Convert I/O address to bus address (for debug only)
io_addr | I/O address |
bus_addr | Bus address |