3ds: drop pre-rosalina code
authornotaz <notasas@gmail.com>
Wed, 23 Oct 2024 23:33:38 +0000 (02:33 +0300)
committernotaz <notasas@gmail.com>
Thu, 24 Oct 2024 23:50:18 +0000 (02:50 +0300)
no reason not to run an up-to-date cfw

frontend/3ds/3ds_utils.h
frontend/3ds/sys/mman.h
libpcsxcore/new_dynarec/new_dynarec.c

index 2fc44f2..bde9c49 100644 (file)
@@ -1,13 +1,8 @@
 #ifndef _3DS_UTILS_H
 #define _3DS_UTILS_H
 
-#include <stdio.h>
-#include <stdbool.h>
-#include <3ds/os.h>
-#include <3ds/svc.h>
-
-#ifdef OS_HEAP_AREA_BEGIN // defined in libctru 2.0+
-#define USE_CTRULIB_2 1
+#ifndef USE_CTRULIB_2
+#error CTRULIB_2 is required
 #endif
 
 #define MEMOP_PROT      6
@@ -23,58 +18,4 @@ void ctr_clear_cache_range(void *start, void *end);
 
 extern __attribute__((weak)) int  __ctr_svchax;
 
-static bool has_rosalina;
-
-static inline void check_rosalina() {
-  int64_t version;
-  uint32_t major;
-
-  has_rosalina = false;
-
-  if (!svcGetSystemInfo(&version, 0x10000, 0)) {
-     major = GET_VERSION_MAJOR(version);
-
-     if (major >= 8)
-       has_rosalina = true;
-  }
-}
-
-typedef int32_t (*ctr_callback_type)(void);
-
-static inline void ctr_invalidate_ICache_kernel(void)
-{
-   __asm__ volatile(
-      "cpsid aif\n\t"
-      "mov r0, #0\n\t"
-      "mcr p15, 0, r0, c7, c5, 0\n\t");
-}
-
-static inline void ctr_flush_DCache_kernel(void)
-{
-   __asm__ volatile(
-      "cpsid aif\n\t"
-      "mov r0, #0\n\t"
-      "mcr p15, 0, r0, c7, c10, 0\n\t");
-}
-
-static inline void ctr_invalidate_ICache(void)
-{
-   svcBackdoor((ctr_callback_type)ctr_invalidate_ICache_kernel);
-}
-
-static inline void ctr_flush_DCache(void)
-{
-   svcBackdoor((ctr_callback_type)ctr_flush_DCache_kernel);
-}
-
-static inline void ctr_flush_invalidate_cache(void)
-{
-   if (has_rosalina) {
-      ctr_clear_cache();
-   } else {
-      ctr_flush_DCache();
-      ctr_invalidate_ICache();
-   }
-}
-
 #endif // _3DS_UTILS_H
index 4ba90db..e53968c 100644 (file)
@@ -8,6 +8,7 @@ extern "C" {
 #include <stdlib.h>
 #include <stdint.h>
 
+#include <3ds/svc.h>
 #include "3ds_utils.h"
 
 #define PROT_READ       0b001
index 37caf47..2b2e663 100644 (file)
@@ -498,7 +498,7 @@ static void end_tcache_write(void *start, void *end)
   if ((char *)end - (char *)start <= 2*1024)
     ctr_clear_cache_range(start, end);
   else
-    ctr_flush_invalidate_cache();
+    ctr_clear_cache();
   ndrc_g.thread.cache_dirty = 1;
   #elif defined(HAVE_LIBNX)
   if (g_jit.type == JitType_CodeMemory) {
@@ -6314,9 +6314,6 @@ void new_dynarec_init(void)
   SysPrintf("Init new dynarec, ndrc size %x, pgsize %d\n",
     (int)sizeof(*ndrc), align + 1);
 
-#ifdef _3DS
-  check_rosalina();
-#endif
 #ifdef BASE_ADDR_DYNAMIC
   #ifdef VITA
   sceBlock = getVMBlock(); //sceKernelAllocMemBlockForVM("code", sizeof(*ndrc));