Changeset 83b6ba9f in mainline for kernel/generic/include/mm/as.h


Ignore:
Timestamp:
2014-02-18T00:18:48Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8aaf9dc
Parents:
89dcf93
Message:

Support for AS area backend shared data.

  • share_info_t is now created for every new address space area.
  • share_info_t was extended to point to AS area backend shared data.
  • AS area backend may decide to define create/destroy_shared_data() methods.
  • Anonymous backend_phys frames are now freed from phys_destroy_shared_data().
  • Fixed one case of forgotten locked mutex.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/mm/as.h

    r89dcf93 r83b6ba9f  
    140140        /** This structure can be deallocated if refcount drops to 0. */
    141141        size_t refcount;
    142        
     142        /** True if the area has been ever shared. */
     143        bool shared;
     144
    143145        /**
    144146         * B+tree containing complete map of anonymous pages of the shared area.
    145147         */
    146148        btree_t pagemap;
     149
     150        /** Address space area backend. */
     151        struct mem_backend *backend;
     152        /** Address space area shared data. */
     153        void *backend_shared_data;
    147154} share_info_t;
    148155
     
    227234        int (* page_fault)(as_area_t *, uintptr_t, pf_access_t);
    228235        void (* frame_free)(as_area_t *, uintptr_t, uintptr_t);
     236
     237        bool (* create_shared_data)(as_area_t *);
     238        void (* destroy_shared_data)(void *);
    229239} mem_backend_t;
    230240
Note: See TracChangeset for help on using the changeset viewer.