Changeset bf9cb2f in mainline for uspace/drv


Ignore:
Timestamp:
2014-05-19T01:01:27Z (12 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
10ef47ba
Parents:
527f1ca
Message:

complete the desired API semantics of physmem_map() and dmamem_map_anonymous() to be compatible with as_area_create()
(the user is allowed to request a specific virtual memory base address, the kernel uses an available base address if AS_AREA_ANY is used)

Location:
uspace/drv
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/audio/sb16/dsp.c

    r527f1ca rbf9cb2f  
    178178       
    179179        uintptr_t pa = 0;
    180         void *buffer = NULL;
     180        void *buffer = AS_AREA_ANY;
    181181       
    182182        int ret = dmamem_map_anonymous(size, DMAMEM_16MiB | 0x0000ffff,
  • uspace/drv/block/ahci/ahci.c

    r527f1ca rbf9cb2f  
    234234       
    235235        uintptr_t phys;
    236         void *ibuf;
     236        void *ibuf = AS_AREA_ANY;
    237237        int rc = dmamem_map_anonymous(sata->block_size, DMAMEM_4GiB,
    238238            AS_AREA_READ | AS_AREA_WRITE, 0, &phys, &ibuf);
     
    277277       
    278278        uintptr_t phys;
    279         void *ibuf;
     279        void *ibuf = AS_AREA_ANY;
    280280        int rc = dmamem_map_anonymous(sata->block_size, DMAMEM_4GiB,
    281281            AS_AREA_READ | AS_AREA_WRITE, 0, &phys, &ibuf);
     
    436436       
    437437        uintptr_t phys;
    438         sata_identify_data_t *idata;
     438        sata_identify_data_t *idata = AS_AREA_ANY;
    439439        int rc = dmamem_map_anonymous(SATA_IDENTIFY_DEVICE_BUFFER_LENGTH,
    440440            DMAMEM_4GiB, AS_AREA_READ | AS_AREA_WRITE, 0, &phys,
    441             (void **) &idata);
     441            (void *) &idata);
    442442        if (rc != EOK) {
    443443                ddf_msg(LVL_ERROR, "Cannot allocate buffer to identify device.");
     
    630630       
    631631        uintptr_t phys;
    632         sata_identify_data_t *idata;
     632        sata_identify_data_t *idata = AS_AREA_ANY;
    633633        int rc = dmamem_map_anonymous(SATA_SET_FEATURE_BUFFER_LENGTH,
    634634            DMAMEM_4GiB, AS_AREA_READ | AS_AREA_WRITE, 0, &phys,
    635             (void **) &idata);
     635            (void *) &idata);
    636636        if (rc != EOK) {
    637637                ddf_msg(LVL_ERROR, "Cannot allocate buffer for device set mode.");
     
    938938        size_t size = 4096;
    939939        uintptr_t phys = 0;
    940         void *virt_fb = NULL;
    941         void *virt_cmd = NULL;
    942         void *virt_table = NULL;
     940        void *virt_fb = AS_AREA_ANY;
     941        void *virt_cmd = AS_AREA_ANY;
     942        void *virt_table = AS_AREA_ANY;
    943943        ddf_fun_t *fun;
    944944       
     
    11551155       
    11561156        /* Map AHCI registers. */
    1157         ahci->memregs = NULL;
     1157        ahci->memregs = AS_AREA_ANY;
    11581158       
    11591159        physmem_map(RNGABS(hw_res_parsed.mem_ranges.ranges[0]),
    11601160            AHCI_MEMREGS_PAGES_COUNT, AS_AREA_READ | AS_AREA_WRITE,
    1161             (void **) &ahci->memregs);
     1161            (void *) &ahci->memregs);
    11621162        if (ahci->memregs == NULL)
    11631163                goto error_map_registers;
  • uspace/drv/bus/usb/uhci/utils/malloc32.h

    r527f1ca rbf9cb2f  
    103103{
    104104        uintptr_t phys;
    105         void *address;
     105        void *address = AS_AREA_ANY;
    106106       
    107107        const int ret = dmamem_map_anonymous(UHCI_REQUIRED_PAGE_SIZE,
  • uspace/drv/fb/amdm37x_dispc/amdm37x_dispc.c

    r527f1ca rbf9cb2f  
    3838#include <ddf/log.h>
    3939#include <ddi.h>
    40 #include <abi/mm/as.h>
     40#include <as.h>
    4141
    4242#include "amdm37x_dispc.h"
     
    274274        const size_t size = ALIGN_UP(x * y * bpp, PAGE_SIZE);
    275275        uintptr_t pa;
    276         void *buffer;
     276        void *buffer = AS_AREA_ANY;
    277277        int ret = dmamem_map_anonymous(size, DMAMEM_4GiB,
    278278            AS_AREA_READ | AS_AREA_WRITE, 0, &pa, &buffer);
  • uspace/drv/fb/kfb/port.c

    r527f1ca rbf9cb2f  
    333333       
    334334        kfb.size = scanline * height;
     335        kfb.addr = AS_AREA_ANY;
     336       
    335337        rc = physmem_map(paddr + offset,
    336338            ALIGN_UP(kfb.size, PAGE_SIZE) >> PAGE_WIDTH,
  • uspace/drv/nic/e1k/e1k.c

    r527f1ca rbf9cb2f  
    13751375        fibril_mutex_lock(&e1000->rx_lock);
    13761376       
     1377        e1000->rx_ring_virt = AS_AREA_ANY;
    13771378        int rc = dmamem_map_anonymous(
    13781379            E1000_RX_FRAME_COUNT * sizeof(e1000_rx_descriptor_t),
     
    13961397        }
    13971398       
    1398         size_t i;
    1399         uintptr_t frame_phys;
    1400         void *frame_virt;
    1401        
    1402         for (i = 0; i < E1000_RX_FRAME_COUNT; i++) {
     1399        for (size_t i = 0; i < E1000_RX_FRAME_COUNT; i++) {
     1400                uintptr_t frame_phys;
     1401                void *frame_virt = AS_AREA_ANY;
     1402               
    14031403                rc = dmamem_map_anonymous(E1000_MAX_SEND_FRAME_SIZE,
    14041404                    DMAMEM_4GiB, AS_AREA_READ | AS_AREA_WRITE, 0,
     
    14121412       
    14131413        /* Write descriptor */
    1414         for (i = 0; i < E1000_RX_FRAME_COUNT; i++)
     1414        for (size_t i = 0; i < E1000_RX_FRAME_COUNT; i++)
    14151415                e1000_fill_new_rx_descriptor(nic, i);
    14161416       
     
    14211421       
    14221422error:
    1423         for (i = 0; i < E1000_RX_FRAME_COUNT; i++) {
     1423        for (size_t i = 0; i < E1000_RX_FRAME_COUNT; i++) {
    14241424                if (e1000->rx_frame_virt[i] != NULL) {
    14251425                        dmamem_unmap_anonymous(e1000->rx_frame_virt[i]);
     
    15711571       
    15721572        e1000->tx_ring_phys = 0;
    1573         e1000->tx_ring_virt = NULL;
     1573        e1000->tx_ring_virt = AS_AREA_ANY;
    15741574       
    15751575        e1000->tx_frame_phys = NULL;
     
    15971597       
    15981598        for (i = 0; i < E1000_TX_FRAME_COUNT; i++) {
     1599                e1000->tx_frame_virt[i] = AS_AREA_ANY;
    15991600                rc = dmamem_map_anonymous(E1000_MAX_SEND_FRAME_SIZE,
    16001601                    DMAMEM_4GiB, AS_AREA_READ | AS_AREA_WRITE,
  • uspace/drv/nic/rtl8139/driver.c

    r527f1ca rbf9cb2f  
    11411141
    11421142        ddf_msg(LVL_DEBUG, "Creating buffers");
    1143 
     1143       
     1144        rtl8139->tx_buff_virt = AS_AREA_ANY;
    11441145        rc = dmamem_map_anonymous(TX_PAGES * PAGE_SIZE, DMAMEM_4GiB,
    11451146            AS_AREA_WRITE, 0, &rtl8139->tx_buff_phys, &rtl8139->tx_buff_virt);
     
    11611162        ddf_msg(LVL_DEBUG, "Allocating receiver buffer of the size %d bytes",
    11621163            RxBUF_TOT_LENGTH);
    1163 
     1164       
     1165        rtl8139->rx_buff_virt = AS_AREA_ANY;
    11641166        rc = dmamem_map_anonymous(RxBUF_TOT_LENGTH, DMAMEM_4GiB,
    11651167            AS_AREA_READ, 0, &rtl8139->rx_buff_phys, &rtl8139->rx_buff_virt);
Note: See TracChangeset for help on using the changeset viewer.