Jeff Garzik <jgarzik@xxxxxxxxx> wrote:
+ vma->vm_flags |= (VM_IO | VM_SHM | VM_LOCKED);
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+ addr = __pa(addr);
where did these flags come from? don't you just want VM_RESERVED?
VM_IO is the way to mark mmapped I/O devices.
vma->vm_flags |= VM_IO;
should be sufficient here.
hm, I'm trying to decrypt how the driver accesses the hardware. It's
taking copies of kernel virtual addresses based off hpet_virt_address, but
there are no readl's or writel's in there. Is the actual device access
done over in time_hpet.c?