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; |