21
void *pcilib_map_area(pcilib_t *ctx, uintptr_t addr, size_t size) {
25
err = pcilib_lock_global(ctx);
27
pcilib_error("Error (%i) acquiring mmap lock", err);
31
ret = ioctl( ctx->handle, PCIDRIVER_IOC_MMAP_MODE, PCIDRIVER_MMAP_AREA );
33
pcilib_unlock_global(ctx);
34
pcilib_error("PCIDRIVER_IOC_MMAP_MODE ioctl have failed");
38
res = mmap( 0, size, PROT_WRITE | PROT_READ, MAP_SHARED, ctx->handle, addr );
40
pcilib_unlock_global(ctx);
42
if ((!res)||(res == MAP_FAILED)) {
43
pcilib_error("Failed to mmap area 0x%lx of size %zu bytes", addr, size);
50
void pcilib_unmap_area(pcilib_t *ctx, void *addr, size_t size) {