rendered paste bodydiff --git a/src/ark_driver.c b/src/ark_driver.c
index cf0242c..1f4589c 100644
--- a/src/ark_driver.c
+++ b/src/ark_driver.c
@@ -1028,22 +1028,23 @@ static Bool ARKMapMem(ScrnInfoPtr pScrn)
#ifndef XSERVER_LIBPCIACCESS
pARK->MMIOBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO,
pARK->PciTag, 0xb8000, 0x8000);
pARK->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
pARK->PciTag, pARK->PciInfo->memBase[0],
pScrn->videoRam * 1024);
#else
- pARK->MMIOBase = xf86MapDomainMemory(pScrn->scrnIndex, VIDMEM_MMIO,
- pARK->PciInfo, 0xb8000, 0x8000);
+ (void) pci_device_map_legacy(pARK->PciInfo, 0xb8000, 0x8000,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ (void **)&pARK->MMIOBase);
{
void** result = (void**)&pARK->FBBase;
int err = pci_device_map_range(pARK->PciInfo,
pARK->PciInfo->regions[0].base_addr,
pScrn->videoRam * 1024,
PCI_DEV_MAP_FLAG_WRITABLE |
PCI_DEV_MAP_FLAG_WRITE_COMBINE,
result);