summaryrefslogtreecommitdiff
path: root/src/core/memory.h
diff options
context:
space:
mode:
authorGravatar Narr the Reg2022-11-20 09:31:20 -0600
committerGravatar GitHub2022-11-20 09:31:20 -0600
commitdb7bcd51ae09c4ef25e08096de563903f61e2380 (patch)
tree5ae9977b48e1aff118fae3ebffb215b0b4afa887 /src/core/memory.h
parentservice: nfc: Implement nfc user (diff)
parentMerge pull request #9238 from german77/cabinet_applet (diff)
downloadyuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.tar.gz
yuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.tar.xz
yuzu-db7bcd51ae09c4ef25e08096de563903f61e2380.zip
Merge branch 'master' into nfc_impl
Diffstat (limited to 'src/core/memory.h')
-rw-r--r--src/core/memory.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/core/memory.h b/src/core/memory.h
index 81eac448b..31fe699d8 100644
--- a/src/core/memory.h
+++ b/src/core/memory.h
@@ -7,6 +7,7 @@
7#include <memory> 7#include <memory>
8#include <string> 8#include <string>
9#include "common/common_types.h" 9#include "common/common_types.h"
10#include "core/hle/result.h"
10 11
11namespace Common { 12namespace Common {
12struct PageTable; 13struct PageTable;
@@ -450,6 +451,39 @@ public:
450 void ZeroBlock(const Kernel::KProcess& process, VAddr dest_addr, std::size_t size); 451 void ZeroBlock(const Kernel::KProcess& process, VAddr dest_addr, std::size_t size);
451 452
452 /** 453 /**
454 * Invalidates a range of bytes within the current process' address space at the specified
455 * virtual address.
456 *
457 * @param process The process that will have data invalidated within its address space.
458 * @param dest_addr The destination virtual address to invalidate the data from.
459 * @param size The size of the range to invalidate, in bytes.
460 *
461 */
462 Result InvalidateDataCache(const Kernel::KProcess& process, VAddr dest_addr, std::size_t size);
463
464 /**
465 * Stores a range of bytes within the current process' address space at the specified
466 * virtual address.
467 *
468 * @param process The process that will have data stored within its address space.
469 * @param dest_addr The destination virtual address to store the data from.
470 * @param size The size of the range to store, in bytes.
471 *
472 */
473 Result StoreDataCache(const Kernel::KProcess& process, VAddr dest_addr, std::size_t size);
474
475 /**
476 * Flushes a range of bytes within the current process' address space at the specified
477 * virtual address.
478 *
479 * @param process The process that will have data flushed within its address space.
480 * @param dest_addr The destination virtual address to flush the data from.
481 * @param size The size of the range to flush, in bytes.
482 *
483 */
484 Result FlushDataCache(const Kernel::KProcess& process, VAddr dest_addr, std::size_t size);
485
486 /**
453 * Marks each page within the specified address range as cached or uncached. 487 * Marks each page within the specified address range as cached or uncached.
454 * 488 *
455 * @param vaddr The virtual address indicating the start of the address range. 489 * @param vaddr The virtual address indicating the start of the address range.