cache_management.h 621 B

123456789101112131415161718192021222324252627
  1. // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "stdlib.h"
  5. namespace Common {
  6. // Data cache instructions enabled at EL0 by SCTLR_EL1.UCI.
  7. // VA = virtual address
  8. // PoC = point of coherency
  9. // PoU = point of unification
  10. // dc cvau
  11. void DataCacheLineCleanByVAToPoU(void* start, size_t size);
  12. // dc civac
  13. void DataCacheLineCleanAndInvalidateByVAToPoC(void* start, size_t size);
  14. // dc cvac
  15. void DataCacheLineCleanByVAToPoC(void* start, size_t size);
  16. // dc zva
  17. void DataCacheZeroByVA(void* start, size_t size);
  18. } // namespace Common