Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ddi/ddi.c

    r5a5269d r8df5f20  
    4646#include <mm/frame.h>
    4747#include <mm/as.h>
    48 #include <mm/km.h>
    4948#include <mm/page.h>
    5049#include <synch/mutex.h>
     
    5756#include <trace.h>
    5857#include <bitops.h>
    59 #include <arch/asm.h>
    6058
    6159/** This lock protects the @c pareas ordered dictionary. */
     
    248246 */
    249247sys_errno_t sys_physmem_map(uintptr_t phys, size_t pages, unsigned int flags,
    250     uspace_ptr_uintptr_t virt_ptr, uintptr_t bound)
     248    void *virt_ptr, uintptr_t bound)
    251249{
    252250        uintptr_t virt;
     
    262260        rc = copy_to_uspace(virt_ptr, &virt, sizeof(virt));
    263261        if (rc != EOK) {
    264                 physmem_unmap(virt);
     262                physmem_unmap((uintptr_t) virt);
    265263                return rc;
    266264        }
     
    393391 *
    394392 */
    395 sys_errno_t sys_iospace_enable(uspace_ptr_ddi_ioarg_t uspace_io_arg)
     393sys_errno_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg)
    396394{
    397395        ddi_ioarg_t arg;
     
    404402}
    405403
    406 sys_errno_t sys_iospace_disable(uspace_ptr_ddi_ioarg_t uspace_io_arg)
     404sys_errno_t sys_iospace_disable(ddi_ioarg_t *uspace_io_arg)
    407405{
    408406        ddi_ioarg_t arg;
     
    465463
    466464sys_errno_t sys_dmamem_map(size_t size, unsigned int map_flags, unsigned int flags,
    467     uspace_ptr_uintptr_t phys_ptr, uspace_ptr_uintptr_t virt_ptr, uintptr_t bound)
     465    void *phys_ptr, void *virt_ptr, uintptr_t bound)
    468466{
    469467        if ((flags & DMAMEM_FLAGS_ANONYMOUS) == 0) {
     
    473471
    474472                uintptr_t phys;
    475                 errno_t rc = dmamem_map(virt_ptr, size, map_flags,
     473                errno_t rc = dmamem_map((uintptr_t) virt_ptr, size, map_flags,
    476474                    flags, &phys);
    477475
     
    481479                rc = copy_to_uspace(phys_ptr, &phys, sizeof(phys));
    482480                if (rc != EOK) {
    483                         dmamem_unmap(virt_ptr, size);
     481                        dmamem_unmap((uintptr_t) virt_ptr, size);
    484482                        return rc;
    485483                }
     
    508506                rc = copy_to_uspace(phys_ptr, &phys, sizeof(phys));
    509507                if (rc != EOK) {
    510                         dmamem_unmap_anonymous(virt);
     508                        dmamem_unmap_anonymous((uintptr_t) virt);
    511509                        return rc;
    512510                }
     
    514512                rc = copy_to_uspace(virt_ptr, &virt, sizeof(virt));
    515513                if (rc != EOK) {
    516                         dmamem_unmap_anonymous(virt);
     514                        dmamem_unmap_anonymous((uintptr_t) virt);
    517515                        return rc;
    518516                }
     
    529527                return dmamem_unmap_anonymous(virt);
    530528}
    531 void *pio_map(void *phys, size_t size)
    532 {
    533 #ifdef IO_SPACE_BOUNDARY
    534         if (phys < IO_SPACE_BOUNDARY)
    535                 return phys;
    536 #endif
    537         return (void *) km_map((uintptr_t) phys, size, KM_NATURAL_ALIGNMENT,
    538             PAGE_READ | PAGE_WRITE | PAGE_NOT_CACHEABLE);
    539 }
    540 
    541 void pio_unmap(void *phys, void *virt, size_t size)
    542 {
    543 #ifdef IO_SPACE_BOUNDARY
    544         if (phys < IO_SPACE_BOUNDARY)
    545                 return;
    546 #endif
    547         km_unmap((uintptr_t) virt, size);
    548 }
    549529
    550530/** @}
Note: See TracChangeset for help on using the changeset viewer.