xref: /haiku/docs/develop/kernel/vm/vm_store_device (revision 18a8edbf0eefdb04e81331c074d4a7b78abee552)
1*18a8edbfSAugustin Cavalierstatic void device_destroy(struct vm_store *store)
2*18a8edbfSAugustin Cavalier	Frees the space associated with this store
3*18a8edbfSAugustin Cavalier
4*18a8edbfSAugustin Cavalierstatic off_t device_commit(struct vm_store *store, off_t size)
5*18a8edbfSAugustin Cavalier	Sets this store's commited size to size.
6*18a8edbfSAugustin Cavalier
7*18a8edbfSAugustin Cavalierstatic int device_has_page(struct vm_store *store, off_t offset)
8*18a8edbfSAugustin Cavalier	Returns 0
9*18a8edbfSAugustin Cavalier
10*18a8edbfSAugustin Cavalierstatic ssize_t device_read(struct vm_store *store, off_t offset, iovecs *vecs)
11*18a8edbfSAugustin Cavalier	Returns unimplemented.
12*18a8edbfSAugustin Cavalier
13*18a8edbfSAugustin Cavalierstatic ssize_t device_write(struct vm_store *store, off_t offset, iovecs *vecs)
14*18a8edbfSAugustin Cavalier	Returns 0
15*18a8edbfSAugustin Cavalier
16*18a8edbfSAugustin Cavalierstatic int device_fault(struct vm_store *store, struct vm_address_space *aspace, off_t offset)
17*18a8edbfSAugustin Cavalier	Should be called when a page is not mapped in. Locks the translation map, Finds the region in the cache that contains this page and maps it in. Unlocks the cache.
18*18a8edbfSAugustin Cavalier
19*18a8edbfSAugustin Cavaliervm_store *vm_store_create_device(addr base_addr)
20*18a8edbfSAugustin Cavalier	Allocates memory for the vm_store structure, plus the data_store_device structure. Sets cache to null, and data to the device_store_data. Sets the device_store_data's base address to the base address passed in.