Rev 4153 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4153 | Rev 4581 | ||
---|---|---|---|
Line 125... | Line 125... | ||
125 | *use_addr = pio_addr; |
125 | *use_addr = pio_addr; |
126 | return iospace_enable(task_get_id(), pio_addr, size); |
126 | return iospace_enable(task_get_id(), pio_addr, size); |
127 | } |
127 | } |
128 | #endif |
128 | #endif |
129 | 129 | ||
130 | phys = ALIGN_DOWN((uintptr_t) pio_addr, PAGE_SIZE); |
130 | phys = (void *) ALIGN_DOWN((uintptr_t) pio_addr, PAGE_SIZE); |
131 | offset = pio_addr - phys; |
131 | offset = pio_addr - phys; |
132 | pages = ALIGN_UP(offset + size, PAGE_SIZE) >> PAGE_WIDTH; |
132 | pages = ALIGN_UP(offset + size, PAGE_SIZE) >> PAGE_WIDTH; |
133 | virt = as_get_mappable_page(pages); |
133 | virt = as_get_mappable_page(pages << PAGE_WIDTH); |
134 | *use_addr = virt + offset; |
134 | *use_addr = virt + offset; |
135 | return physmem_map(phys, virt, pages, AS_AREA_READ | AS_AREA_WRITE); |
135 | return physmem_map(phys, virt, pages, AS_AREA_READ | AS_AREA_WRITE); |
136 | } |
136 | } |
137 | 137 | ||
138 | /** @} |
138 | /** @} |