1 /* 2 * Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Copyright 2005-2007, Axel Dörfler, axeld@pinc-software.de. 4 * Distributed under the terms of the MIT License. 5 * 6 * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 7 * Distributed under the terms of the NewOS License. 8 */ 9 #ifndef _KERNEL_VM_STORE_DEVICE_H 10 #define _KERNEL_VM_STORE_DEVICE_H 11 12 13 #include <vm/VMCache.h> 14 15 16 class VMDeviceCache final : public VMCache { 17 public: 18 status_t Init(addr_t baseAddress, 19 uint32 allocationFlags); 20 21 virtual status_t Read(off_t offset, const generic_io_vec *vecs, 22 size_t count, uint32 flags, 23 generic_size_t *_numBytes); 24 virtual status_t Write(off_t offset, const generic_io_vec *vecs, 25 size_t count, uint32 flags, 26 generic_size_t *_numBytes); 27 28 protected: 29 virtual void DeleteObject(); 30 31 private: 32 addr_t fBaseAddress; 33 }; 34 35 36 #endif /* _KERNEL_VM_STORE_DEVICE_H */ 37