Subversion Repositories Kolibri OS

Rev

Rev 6938 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6938 Rev 7144
Line 622... Line 622...
622
    if (option)
622
    if (option)
623
        *option = options;
623
        *option = options;
Line 624... Line 624...
624
 
624
 
625
    return retval;
625
    return retval;
-
 
626
}
-
 
627
 
-
 
628
void *vmap(struct page **pages, unsigned int count,
-
 
629
           unsigned long flags, pgprot_t prot)
-
 
630
{
-
 
631
    void *vaddr;
-
 
632
    char *tmp;
-
 
633
    int i;
-
 
634
 
-
 
635
    vaddr = AllocKernelSpace(count << 12);
-
 
636
    if(vaddr == NULL)
-
 
637
        return NULL;
-
 
638
 
-
 
639
    for(i = 0, tmp = vaddr; i < count; i++)
-
 
640
    {
-
 
641
        MapPage(tmp, page_to_phys(pages[i]), PG_SW);
-
 
642
        tmp+= 4096;
-
 
643
    };
-
 
644
 
-
 
645
    return vaddr;
-
 
646
};
-
 
647
 
-
 
648
void vunmap(const void *addr)
-
 
649
{
-
 
650
    FreeKernelSpace((void*)addr);
-
 
651
}
-
 
652
 
-
 
653
void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size)
-
 
654
{
-
 
655
    return (void __iomem*) MapIoMem(offset, size, PG_SW|PG_NOCACHE|0x100);
-
 
656
}
-
 
657
 
-
 
658
void __iomem *ioremap_wc(resource_size_t offset, unsigned long size)
-
 
659
{
-
 
660
//    return (void __iomem*) MapIoMem(offset, size, PG_SW|PG_WRITEC|0x100);
-
 
661
    return (void __iomem*) MapIoMem(offset, size, PG_SW|0x100);
-
 
662
}
-
 
663
 
-
 
664
void iounmap(volatile void __iomem *addr)
-
 
665
{
-
 
666
    FreeKernelSpace((void*)addr);
-
 
667
}
-
 
668
 
-
 
669
unsigned long _copy_from_user(void *to, const void __user *from, unsigned n)
-
 
670
{
-
 
671
//    if (access_ok(VERIFY_READ, from, n))
-
 
672
        n = __copy_from_user(to, from, n);
-
 
673
//    else
-
 
674
//        memset(to, 0, n);
-
 
675
    return n;