Changeset d5bd8d7 in mainline


Ignore:
Timestamp:
2007-03-25T13:02:06Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4638401
Parents:
0f6a3376
Message:

Fix coding style in the address space area backends.

Location:
kernel/generic/src/mm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/backend_anon.c

    r0f6a3376 rd5bd8d7  
    7373 * @param access Access mode that caused the fault (i.e. read/write/exec).
    7474 *
    75  * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced).
     75 * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e.
     76 *     serviced).
    7677 */
    7778int anon_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access)
     
    8788                /*
    8889                 * The area is shared, chances are that the mapping can be found
    89                  * in the pagemap of the address space area share info structure.
     90                 * in the pagemap of the address space area share info
     91                 * structure.
    9092                 * In the case that the pagemap does not contain the respective
    9193                 * mapping, a new frame is allocated and the mapping is created.
     
    103105                         */
    104106                        for (i = 0; i < leaf->keys; i++) {
    105                                 if (leaf->key[i] == ALIGN_DOWN(addr, PAGE_SIZE)) {
     107                                if (leaf->key[i] ==
     108                                    ALIGN_DOWN(addr, PAGE_SIZE)) {
    106109                                        allocate = false;
    107110                                        break;
     
    113116                               
    114117                                /*
    115                                  * Insert the address of the newly allocated frame to the pagemap.
     118                                 * Insert the address of the newly allocated
     119                                 * frame to the pagemap.
    116120                                 */
    117                                 btree_insert(&area->sh_info->pagemap, ALIGN_DOWN(addr, PAGE_SIZE) - area->base, (void *) frame, leaf);
     121                                btree_insert(&area->sh_info->pagemap,
     122                                    ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
     123                                    (void *) frame, leaf);
    118124                        }
    119125                }
     
    142148        /*
    143149         * Map 'page' to 'frame'.
    144          * Note that TLB shootdown is not attempted as only new information is being
    145          * inserted into page tables.
     150         * Note that TLB shootdown is not attempted as only new information is
     151         * being inserted into page tables.
    146152         */
    147153        page_mapping_insert(AS, addr, frame, as_area_get_flags(area));
     
    185191         */
    186192        mutex_lock(&area->sh_info->lock);
    187         for (cur = area->used_space.leaf_head.next; cur != &area->used_space.leaf_head; cur = cur->next) {
     193        for (cur = area->used_space.leaf_head.next;
     194            cur != &area->used_space.leaf_head; cur = cur->next) {
    188195                btree_node_t *node;
    189196                int i;
     
    199206                       
    200207                                page_table_lock(area->as, false);
    201                                 pte = page_mapping_find(area->as, base + j*PAGE_SIZE);
    202                                 ASSERT(pte && PTE_VALID(pte) && PTE_PRESENT(pte));
    203                                 btree_insert(&area->sh_info->pagemap, (base + j*PAGE_SIZE) - area->base,
    204                                         (void *) PTE_GET_FRAME(pte), NULL);
     208                                pte = page_mapping_find(area->as,
     209                                    base + j * PAGE_SIZE);
     210                                ASSERT(pte && PTE_VALID(pte) &&
     211                                    PTE_PRESENT(pte));
     212                                btree_insert(&area->sh_info->pagemap,
     213                                    (base + j * PAGE_SIZE) - area->base,
     214                                    (void *) PTE_GET_FRAME(pte), NULL);
    205215                                page_table_unlock(area->as, false);
    206                                 frame_reference_add(ADDR2PFN(PTE_GET_FRAME(pte)));
     216
     217                                pfn_t pfn = ADDR2PFN(PTE_GET_FRAME(pte));
     218                                frame_reference_add(pfn);
    207219                        }
    208220                               
     
    214226/** @}
    215227 */
     228
  • kernel/generic/src/mm/backend_elf.c

    r0f6a3376 rd5bd8d7  
    7272 * @param access Access mode that caused the fault (i.e. read/write/exec).
    7373 *
    74  * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced).
     74 * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e.
     75 *     serviced).
    7576 */
    7677int elf_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access)
     
    8586                return AS_PF_FAULT;
    8687
    87         ASSERT((addr >= entry->p_vaddr) && (addr < entry->p_vaddr + entry->p_memsz));
     88        ASSERT((addr >= entry->p_vaddr) &&
     89            (addr < entry->p_vaddr + entry->p_memsz));
    8890        i = (addr - entry->p_vaddr) >> PAGE_WIDTH;
    8991        base = (uintptr_t) (((void *) elf) + entry->p_offset);
     
    108110
    109111                        for (i = 0; i < leaf->keys; i++) {
    110                                 if (leaf->key[i] == ALIGN_DOWN(addr, PAGE_SIZE)) {
     112                                if (leaf->key[i] ==
     113                                    ALIGN_DOWN(addr, PAGE_SIZE)) {
    111114                                        found = true;
    112115                                        break;
     
    116119                if (frame || found) {
    117120                        frame_reference_add(ADDR2PFN(frame));
    118                         page_mapping_insert(AS, addr, frame, as_area_get_flags(area));
    119                         if (!used_space_insert(area, ALIGN_DOWN(addr, PAGE_SIZE), 1))
     121                        page_mapping_insert(AS, addr, frame,
     122                            as_area_get_flags(area));
     123                        if (!used_space_insert(area,
     124                            ALIGN_DOWN(addr, PAGE_SIZE), 1))
    120125                                panic("Could not insert used space.\n");
    121126                        mutex_unlock(&area->sh_info->lock);
     
    125130       
    126131        /*
    127          * The area is either not shared or the pagemap does not contain the mapping.
     132         * The area is either not shared or the pagemap does not contain the
     133         * mapping.
    128134         */
    129135       
    130         if (ALIGN_DOWN(addr, PAGE_SIZE) + PAGE_SIZE < entry->p_vaddr + entry->p_filesz) {
     136        if (ALIGN_DOWN(addr, PAGE_SIZE) + PAGE_SIZE <
     137            entry->p_vaddr + entry->p_filesz) {
    131138                /*
    132139                 * Initialized portion of the segment. The memory is backed
     
    139146                if (entry->p_flags & PF_W) {
    140147                        frame = (uintptr_t)frame_alloc(ONE_FRAME, 0);
    141                         memcpy((void *) PA2KA(frame), (void *) (base + i*FRAME_SIZE), FRAME_SIZE);
     148                        memcpy((void *) PA2KA(frame),
     149                            (void *) (base + i * FRAME_SIZE), FRAME_SIZE);
    142150                       
    143151                        if (area->sh_info) {
    144152                                frame_reference_add(ADDR2PFN(frame));
    145                                 btree_insert(&area->sh_info->pagemap, ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
    146                                         (void *) frame, leaf);
     153                                btree_insert(&area->sh_info->pagemap,
     154                                    ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
     155                                    (void *) frame, leaf);
    147156                        }
    148157
     
    150159                        frame = KA2PA(base + i*FRAME_SIZE);
    151160                }       
    152         } else if (ALIGN_DOWN(addr, PAGE_SIZE) >= ALIGN_UP(entry->p_vaddr + entry->p_filesz, PAGE_SIZE)) {
     161        } else if (ALIGN_DOWN(addr, PAGE_SIZE) >=
     162            ALIGN_UP(entry->p_vaddr + entry->p_filesz, PAGE_SIZE)) {
    153163                /*
    154164                 * This is the uninitialized portion of the segment.
     
    162172                if (area->sh_info) {
    163173                        frame_reference_add(ADDR2PFN(frame));
    164                         btree_insert(&area->sh_info->pagemap, ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
    165                                 (void *) frame, leaf);
     174                        btree_insert(&area->sh_info->pagemap,
     175                            ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
     176                            (void *) frame, leaf);
    166177                }
    167178
     
    176187                frame = (uintptr_t)frame_alloc(ONE_FRAME, 0);
    177188                memsetb(PA2KA(frame) + size, FRAME_SIZE - size, 0);
    178                 memcpy((void *) PA2KA(frame), (void *) (base + i*FRAME_SIZE), size);
     189                memcpy((void *) PA2KA(frame), (void *) (base + i * FRAME_SIZE),
     190                    size);
    179191
    180192                if (area->sh_info) {
    181193                        frame_reference_add(ADDR2PFN(frame));
    182                         btree_insert(&area->sh_info->pagemap, ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
    183                                 (void *) frame, leaf);
     194                        btree_insert(&area->sh_info->pagemap,
     195                            ALIGN_DOWN(addr, PAGE_SIZE) - area->base,
     196                            (void *) frame, leaf);
    184197                }
    185198
     
    212225        index_t i;
    213226       
    214         ASSERT((page >= entry->p_vaddr) && (page < entry->p_vaddr + entry->p_memsz));
     227        ASSERT((page >= entry->p_vaddr) &&
     228            (page < entry->p_vaddr + entry->p_memsz));
    215229        i = (page - entry->p_vaddr) >> PAGE_WIDTH;
    216230        base = (uintptr_t) (((void *) elf) + entry->p_offset);
    217231        ASSERT(ALIGN_UP(base, FRAME_SIZE) == base);
    218232       
    219         if (page + PAGE_SIZE < ALIGN_UP(entry->p_vaddr + entry->p_filesz, PAGE_SIZE)) {
     233        if (page + PAGE_SIZE <
     234            ALIGN_UP(entry->p_vaddr + entry->p_filesz, PAGE_SIZE)) {
    220235                if (entry->p_flags & PF_W) {
    221236                        /*
    222                          * Free the frame with the copy of writable segment data.
     237                         * Free the frame with the copy of writable segment
     238                         * data.
    223239                         */
    224240                        frame_free(frame);
     
    229245        } else {
    230246                /*
    231                  * The frame is either anonymous memory or the mixed case (i.e. lower
    232                  * part is backed by the ELF image and the upper is anonymous).
    233                  * In any case, a frame needs to be freed.
     247                 * The frame is either anonymous memory or the mixed case (i.e.
     248                 * lower part is backed by the ELF image and the upper is
     249                 * anonymous). In any case, a frame needs to be freed.
    234250                 */
    235251                frame_free(frame);
     
    261277         */
    262278        if (area->flags & AS_AREA_WRITE) {
    263                 node = list_get_instance(area->used_space.leaf_head.next, btree_node_t, leaf_link);
     279                node = list_get_instance(area->used_space.leaf_head.next,
     280                    btree_node_t, leaf_link);
    264281        } else {
    265282                (void) btree_search(&area->sh_info->pagemap, start_anon, &leaf);
    266                 node = btree_leaf_node_left_neighbour(&area->sh_info->pagemap, leaf);
     283                node = btree_leaf_node_left_neighbour(&area->sh_info->pagemap,
     284                    leaf);
    267285                if (!node)
    268286                        node = leaf;
     
    273291         */
    274292        mutex_lock(&area->sh_info->lock);
    275         for (cur = &node->leaf_link; cur != &area->used_space.leaf_head; cur = cur->next) {
     293        for (cur = &node->leaf_link; cur != &area->used_space.leaf_head;
     294            cur = cur->next) {
    276295                int i;
    277296               
     
    295314                       
    296315                                /*
    297                                  * Skip read-only pages that are backed by the ELF image.
     316                                 * Skip read-only pages that are backed by the
     317                                 * ELF image.
    298318                                 */
    299319                                if (!(area->flags & AS_AREA_WRITE))
    300                                         if (base + (j + 1)*PAGE_SIZE <= start_anon)
     320                                        if (base + (j + 1) * PAGE_SIZE <=
     321                                            start_anon)
    301322                                                continue;
    302323                               
    303324                                page_table_lock(area->as, false);
    304                                 pte = page_mapping_find(area->as, base + j*PAGE_SIZE);
    305                                 ASSERT(pte && PTE_VALID(pte) && PTE_PRESENT(pte));
    306                                 btree_insert(&area->sh_info->pagemap, (base + j*PAGE_SIZE) - area->base,
     325                                pte = page_mapping_find(area->as,
     326                                    base + j * PAGE_SIZE);
     327                                ASSERT(pte && PTE_VALID(pte) &&
     328                                    PTE_PRESENT(pte));
     329                                btree_insert(&area->sh_info->pagemap,
     330                                    (base + j * PAGE_SIZE) - area->base,
    307331                                        (void *) PTE_GET_FRAME(pte), NULL);
    308332                                page_table_unlock(area->as, false);
    309                                 frame_reference_add(ADDR2PFN(PTE_GET_FRAME(pte)));
     333
     334                                pfn_t pfn = ADDR2PFN(PTE_GET_FRAME(pte));
     335                                frame_reference_add(pfn);
    310336                        }
    311337                               
     
    317343/** @}
    318344 */
     345
  • kernel/generic/src/mm/backend_phys.c

    r0f6a3376 rd5bd8d7  
    3333/**
    3434 * @file
    35  * @brief       Backend for address space areas backed by continuous physical memory.
     35 * @brief       Backend for address space areas backed by continuous physical
     36 *              memory.
    3637 */
    3738
     
    6364 * @param access Access mode that caused the fault (i.e. read/write/exec).
    6465 *
    65  * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e. serviced).
     66 * @return AS_PF_FAULT on failure (i.e. page fault) or AS_PF_OK on success (i.e.
     67 * serviced).
    6668 */
    6769int phys_page_fault(as_area_t *area, uintptr_t addr, pf_access_t access)
     
    7375
    7476        ASSERT(addr - area->base < area->backend_data.frames * FRAME_SIZE);
    75         page_mapping_insert(AS, addr, base + (addr - area->base), as_area_get_flags(area));
     77        page_mapping_insert(AS, addr, base + (addr - area->base),
     78            as_area_get_flags(area));
    7679        if (!used_space_insert(area, ALIGN_DOWN(addr, PAGE_SIZE), 1))
    7780                panic("Could not insert used space.\n");
Note: See TracChangeset for help on using the changeset viewer.