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.
Macros | |
#define | IOMAP_INLINE(_subsys, _api_func) SINGLE_API_INLINE ( IOMAP_PREFIX_ ## _subsys, _api_func ) |
Calculate static inline I/O mapping API function name. More... | |
#define | PROVIDE_IOMAP(_subsys, _api_func, _func) PROVIDE_SINGLE_API ( IOMAP_PREFIX_ ## _subsys, _api_func, _func ) |
Provide an I/O mapping API implementation. More... | |
#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. More... | |
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. More... | |
void | iounmap (volatile const void *io_addr) |
Unmap I/O address. More... | |
unsigned long | io_to_bus (volatile const void *io_addr) |
Convert I/O address to bus address (for debug only) More... | |
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 | ) |
void* ioremap | ( | unsigned long | bus_addr, |
size_t | len | ||
) |
Map bus address as an I/O address.
bus_addr | Bus address |
len | Length of region |
io_addr | I/O address |
Referenced by bios_mp_start_all(), ecam_access(), and efipci_ioremap().
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(), atl_probe(), atl_remove(), b44_probe(), b44_remove(), bios_mp_start_all(), bnx2_disable(), bnxt_down_pci(), ecam_access(), 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(), gve_probe(), gve_remove(), hermon_bofm_probe(), hermon_bofm_remove(), hermon_probe(), hermon_remove(), hvm_ioremap(), hvm_iounmap(), hvm_unmap_xenstore(), ice_probe(), ice_remove(), 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(), rdc_probe(), rdc_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 |