3ds: 3ds port sources. First set of two

This commit adds changes to the original rockbox sources.

Note: the port files, functions, folders, etc., will be referred
to as 'ctru' to avoid using the Nintendo name elsewhere.

Change-Id: I0e2d3d4d2a75bd45ea67dc3452eb8d5487cf1f5a
This commit is contained in:
Mauricio Garrido 2025-09-29 16:06:04 -06:00 committed by Solomon Peachy
parent 511a38763b
commit a4de1195cd
25 changed files with 227 additions and 23 deletions

View file

@ -89,7 +89,7 @@ struct thread_entry;
*
* simulator (possibly) doesn't simulate stack usage anyway but well ... */
#if defined(HAVE_SDL_THREADS) || defined(__PCTOOL__)
#if defined(HAVE_SDL_THREADS) || defined(__PCTOOL__) || defined(CTRU)
#define DEFAULT_STACK_SIZE 0x100 /* tiny, ignored anyway */
#else
#include "asm/thread.h"

View file

@ -75,11 +75,15 @@ void mutex_lock(struct mutex *m)
/* Release ownership of a mutex object - only owning thread must call this */
void mutex_unlock(struct mutex *m)
{
#ifndef CTRU
/* FIXME: synchronization primitives does not behave
correctly between different cores */
/* unlocker not being the owner is an unlocking violation */
KERNEL_ASSERT(m->blocker.thread == __running_self_entry(),
"mutex_unlock->wrong thread (%s != %s)\n",
m->blocker.thread->name,
__running_self_entry()->name);
#endif
if(m->recursion > 0)
{

View file

@ -304,7 +304,7 @@ int thread_get_debug_info(unsigned int thread_id,
#ifdef HAVE_SCHEDULER_BOOSTCTRL
cpu_boost = thread->cpu_boost;
#endif
#ifndef HAVE_SDL_THREADS
#if !defined(HAVE_SDL_THREADS) && !defined(CTRU)
infop->stack_usage = stack_usage(thread->stack, thread->stack_size);
size_t stack_used_current =

View file

@ -32,7 +32,7 @@
*
* simulator (possibly) doesn't simulate stack usage anyway but well ... */
#if defined(HAVE_SDL_THREADS) || defined(__PCTOOL__)
#if defined(HAVE_SDL_THREADS) || defined(__PCTOOL__) || defined(CTRU)
struct regs
{
void *t; /* OS thread */