mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-10-31 12:17:51 +00:00
Merge pull request #572 from lioncash/prototypes
core: Apply static to local functions
This commit is contained in:
commit
29a9e4ac25
11 changed files with 252 additions and 245 deletions
File diff suppressed because it is too large
Load diff
|
@ -4,4 +4,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/arm/skyeye_common/armdefs.h"
|
||||||
|
|
||||||
unsigned InterpreterMainLoop(ARMul_State* state);
|
unsigned InterpreterMainLoop(ARMul_State* state);
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/arm/dyncom/arm_dyncom_run.h"
|
||||||
#include "core/arm/skyeye_common/armdefs.h"
|
#include "core/arm/skyeye_common/armdefs.h"
|
||||||
|
|
||||||
void switch_mode(ARMul_State* core, uint32_t mode) {
|
void switch_mode(ARMul_State* core, uint32_t mode) {
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/arm/skyeye_common/armdefs.h"
|
||||||
|
|
||||||
void switch_mode(ARMul_State* core, uint32_t mode);
|
void switch_mode(ARMul_State* core, uint32_t mode);
|
||||||
|
|
||||||
/* FIXME, we temporarily think thumb instruction is always 16 bit */
|
/* FIXME, we temporarily think thumb instruction is always 16 bit */
|
||||||
|
|
|
@ -19,7 +19,7 @@ typedef struct _vmla_inst {
|
||||||
} vmla_inst;
|
} vmla_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmla)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmla)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmla_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmla_inst));
|
||||||
vmla_inst *inst_cream = (vmla_inst *)inst_base->component;
|
vmla_inst *inst_cream = (vmla_inst *)inst_base->component;
|
||||||
|
@ -69,7 +69,7 @@ typedef struct _vmls_inst {
|
||||||
} vmls_inst;
|
} vmls_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmls)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmls)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmls_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmls_inst));
|
||||||
vmls_inst *inst_cream = (vmls_inst *)inst_base->component;
|
vmls_inst *inst_cream = (vmls_inst *)inst_base->component;
|
||||||
|
@ -119,7 +119,7 @@ typedef struct _vnmla_inst {
|
||||||
} vnmla_inst;
|
} vnmla_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vnmla)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmla)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmla_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmla_inst));
|
||||||
vnmla_inst *inst_cream = (vnmla_inst *)inst_base->component;
|
vnmla_inst *inst_cream = (vnmla_inst *)inst_base->component;
|
||||||
|
@ -170,7 +170,7 @@ typedef struct _vnmls_inst {
|
||||||
} vnmls_inst;
|
} vnmls_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vnmls)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmls)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmls_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmls_inst));
|
||||||
vnmls_inst *inst_cream = (vnmls_inst *)inst_base->component;
|
vnmls_inst *inst_cream = (vnmls_inst *)inst_base->component;
|
||||||
|
@ -220,7 +220,7 @@ typedef struct _vnmul_inst {
|
||||||
} vnmul_inst;
|
} vnmul_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vnmul)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vnmul)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmul_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vnmul_inst));
|
||||||
vnmul_inst *inst_cream = (vnmul_inst *)inst_base->component;
|
vnmul_inst *inst_cream = (vnmul_inst *)inst_base->component;
|
||||||
|
@ -270,7 +270,7 @@ typedef struct _vmul_inst {
|
||||||
} vmul_inst;
|
} vmul_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmul)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmul)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmul_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmul_inst));
|
||||||
vmul_inst *inst_cream = (vmul_inst *)inst_base->component;
|
vmul_inst *inst_cream = (vmul_inst *)inst_base->component;
|
||||||
|
@ -320,7 +320,7 @@ typedef struct _vadd_inst {
|
||||||
} vadd_inst;
|
} vadd_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vadd)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vadd)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vadd_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vadd_inst));
|
||||||
vadd_inst *inst_cream = (vadd_inst *)inst_base->component;
|
vadd_inst *inst_cream = (vadd_inst *)inst_base->component;
|
||||||
|
@ -370,7 +370,7 @@ typedef struct _vsub_inst {
|
||||||
} vsub_inst;
|
} vsub_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vsub)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vsub)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vsub_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vsub_inst));
|
||||||
vsub_inst *inst_cream = (vsub_inst *)inst_base->component;
|
vsub_inst *inst_cream = (vsub_inst *)inst_base->component;
|
||||||
|
@ -420,7 +420,7 @@ typedef struct _vdiv_inst {
|
||||||
} vdiv_inst;
|
} vdiv_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vdiv)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vdiv)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vdiv_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vdiv_inst));
|
||||||
vdiv_inst *inst_cream = (vdiv_inst *)inst_base->component;
|
vdiv_inst *inst_cream = (vdiv_inst *)inst_base->component;
|
||||||
|
@ -472,7 +472,7 @@ typedef struct _vmovi_inst {
|
||||||
} vmovi_inst;
|
} vmovi_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovi)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovi)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovi_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovi_inst));
|
||||||
vmovi_inst *inst_cream = (vmovi_inst *)inst_base->component;
|
vmovi_inst *inst_cream = (vmovi_inst *)inst_base->component;
|
||||||
|
@ -521,7 +521,7 @@ typedef struct _vmovr_inst {
|
||||||
} vmovr_inst;
|
} vmovr_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovr)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovr)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovr_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovr_inst));
|
||||||
vmovr_inst *inst_cream = (vmovr_inst *)inst_base->component;
|
vmovr_inst *inst_cream = (vmovr_inst *)inst_base->component;
|
||||||
|
@ -564,7 +564,7 @@ typedef struct _vabs_inst {
|
||||||
} vabs_inst;
|
} vabs_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vabs)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vabs)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vabs_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vabs_inst));
|
||||||
vabs_inst *inst_cream = (vabs_inst *)inst_base->component;
|
vabs_inst *inst_cream = (vabs_inst *)inst_base->component;
|
||||||
|
@ -615,7 +615,7 @@ typedef struct _vneg_inst {
|
||||||
} vneg_inst;
|
} vneg_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vneg)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vneg)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vneg_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vneg_inst));
|
||||||
vneg_inst *inst_cream = (vneg_inst *)inst_base->component;
|
vneg_inst *inst_cream = (vneg_inst *)inst_base->component;
|
||||||
|
@ -665,7 +665,7 @@ typedef struct _vsqrt_inst {
|
||||||
} vsqrt_inst;
|
} vsqrt_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vsqrt)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vsqrt)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vsqrt_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vsqrt_inst));
|
||||||
vsqrt_inst *inst_cream = (vsqrt_inst *)inst_base->component;
|
vsqrt_inst *inst_cream = (vsqrt_inst *)inst_base->component;
|
||||||
|
@ -715,7 +715,7 @@ typedef struct _vcmp_inst {
|
||||||
} vcmp_inst;
|
} vcmp_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcmp_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcmp_inst));
|
||||||
vcmp_inst *inst_cream = (vcmp_inst *)inst_base->component;
|
vcmp_inst *inst_cream = (vcmp_inst *)inst_base->component;
|
||||||
|
@ -765,7 +765,7 @@ typedef struct _vcmp2_inst {
|
||||||
} vcmp2_inst;
|
} vcmp2_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp2)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vcmp2)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcmp2_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcmp2_inst));
|
||||||
vcmp2_inst *inst_cream = (vcmp2_inst *)inst_base->component;
|
vcmp2_inst *inst_cream = (vcmp2_inst *)inst_base->component;
|
||||||
|
@ -815,7 +815,7 @@ typedef struct _vcvtbds_inst {
|
||||||
} vcvtbds_inst;
|
} vcvtbds_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbds)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbds)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcvtbds_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcvtbds_inst));
|
||||||
vcvtbds_inst *inst_cream = (vcvtbds_inst *)inst_base->component;
|
vcvtbds_inst *inst_cream = (vcvtbds_inst *)inst_base->component;
|
||||||
|
@ -865,7 +865,7 @@ typedef struct _vcvtbff_inst {
|
||||||
} vcvtbff_inst;
|
} vcvtbff_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbff)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbff)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
VFP_DEBUG_UNTESTED(VCVTBFF);
|
VFP_DEBUG_UNTESTED(VCVTBFF);
|
||||||
|
|
||||||
|
@ -917,7 +917,7 @@ typedef struct _vcvtbfi_inst {
|
||||||
} vcvtbfi_inst;
|
} vcvtbfi_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbfi)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vcvtbfi)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcvtbfi_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vcvtbfi_inst));
|
||||||
vcvtbfi_inst *inst_cream = (vcvtbfi_inst *)inst_base->component;
|
vcvtbfi_inst *inst_cream = (vcvtbfi_inst *)inst_base->component;
|
||||||
|
@ -974,7 +974,7 @@ typedef struct _vmovbrs_inst {
|
||||||
} vmovbrs_inst;
|
} vmovbrs_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrs)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrs)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrs_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrs_inst));
|
||||||
vmovbrs_inst *inst_cream = (vmovbrs_inst *)inst_base->component;
|
vmovbrs_inst *inst_cream = (vmovbrs_inst *)inst_base->component;
|
||||||
|
@ -1019,7 +1019,7 @@ typedef struct _vmsr_inst {
|
||||||
} vmsr_inst;
|
} vmsr_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmsr)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmsr)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmsr_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmsr_inst));
|
||||||
vmsr_inst *inst_cream = (vmsr_inst *)inst_base->component;
|
vmsr_inst *inst_cream = (vmsr_inst *)inst_base->component;
|
||||||
|
@ -1068,7 +1068,7 @@ typedef struct _vmovbrc_inst {
|
||||||
} vmovbrc_inst;
|
} vmovbrc_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrc)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrc)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrc_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrc_inst));
|
||||||
vmovbrc_inst *inst_cream = (vmovbrc_inst *)inst_base->component;
|
vmovbrc_inst *inst_cream = (vmovbrc_inst *)inst_base->component;
|
||||||
|
@ -1115,7 +1115,7 @@ typedef struct _vmrs_inst {
|
||||||
} vmrs_inst;
|
} vmrs_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmrs)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmrs)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmrs_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmrs_inst));
|
||||||
vmrs_inst *inst_cream = (vmrs_inst *)inst_base->component;
|
vmrs_inst *inst_cream = (vmrs_inst *)inst_base->component;
|
||||||
|
@ -1199,7 +1199,7 @@ typedef struct _vmovbcr_inst {
|
||||||
} vmovbcr_inst;
|
} vmovbcr_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbcr)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbcr)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbcr_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbcr_inst));
|
||||||
vmovbcr_inst *inst_cream = (vmovbcr_inst *)inst_base->component;
|
vmovbcr_inst *inst_cream = (vmovbcr_inst *)inst_base->component;
|
||||||
|
@ -1253,7 +1253,7 @@ typedef struct _vmovbrrss_inst {
|
||||||
} vmovbrrss_inst;
|
} vmovbrrss_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrss)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrss)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrrss_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrrss_inst));
|
||||||
vmovbrrss_inst *inst_cream = (vmovbrrss_inst *)inst_base->component;
|
vmovbrrss_inst *inst_cream = (vmovbrrss_inst *)inst_base->component;
|
||||||
|
@ -1302,7 +1302,7 @@ typedef struct _vmovbrrd_inst {
|
||||||
} vmovbrrd_inst;
|
} vmovbrrd_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrd)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vmovbrrd)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrrd_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vmovbrrd_inst));
|
||||||
vmovbrrd_inst *inst_cream = (vmovbrrd_inst *)inst_base->component;
|
vmovbrrd_inst *inst_cream = (vmovbrrd_inst *)inst_base->component;
|
||||||
|
@ -1356,7 +1356,7 @@ typedef struct _vstr_inst {
|
||||||
} vstr_inst;
|
} vstr_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vstr)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vstr)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vstr_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vstr_inst));
|
||||||
vstr_inst *inst_cream = (vstr_inst *)inst_base->component;
|
vstr_inst *inst_cream = (vstr_inst *)inst_base->component;
|
||||||
|
@ -1415,7 +1415,7 @@ typedef struct _vpush_inst {
|
||||||
} vpush_inst;
|
} vpush_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vpush)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vpush)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vpush_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vpush_inst));
|
||||||
vpush_inst *inst_cream = (vpush_inst *)inst_base->component;
|
vpush_inst *inst_cream = (vpush_inst *)inst_base->component;
|
||||||
|
@ -1481,7 +1481,7 @@ typedef struct _vstm_inst {
|
||||||
} vstm_inst;
|
} vstm_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vstm)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vstm)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vstm_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vstm_inst));
|
||||||
vstm_inst *inst_cream = (vstm_inst *)inst_base->component;
|
vstm_inst *inst_cream = (vstm_inst *)inst_base->component;
|
||||||
|
@ -1551,7 +1551,7 @@ typedef struct _vpop_inst {
|
||||||
} vpop_inst;
|
} vpop_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vpop)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vpop)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vpop_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vpop_inst));
|
||||||
vpop_inst *inst_cream = (vpop_inst *)inst_base->component;
|
vpop_inst *inst_cream = (vpop_inst *)inst_base->component;
|
||||||
|
@ -1621,7 +1621,7 @@ typedef struct _vldr_inst {
|
||||||
} vldr_inst;
|
} vldr_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vldr)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vldr)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vldr_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vldr_inst));
|
||||||
vldr_inst *inst_cream = (vldr_inst *)inst_base->component;
|
vldr_inst *inst_cream = (vldr_inst *)inst_base->component;
|
||||||
|
@ -1687,7 +1687,7 @@ typedef struct _vldm_inst {
|
||||||
} vldm_inst;
|
} vldm_inst;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VFP_INTERPRETER_TRANS
|
#ifdef VFP_INTERPRETER_TRANS
|
||||||
ARM_INST_PTR INTERPRETER_TRANSLATE(vldm)(unsigned int inst, int index)
|
static ARM_INST_PTR INTERPRETER_TRANSLATE(vldm)(unsigned int inst, int index)
|
||||||
{
|
{
|
||||||
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vldm_inst));
|
arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(vldm_inst));
|
||||||
vldm_inst *inst_cream = (vldm_inst *)inst_base->component;
|
vldm_inst *inst_cream = (vldm_inst *)inst_base->component;
|
||||||
|
|
|
@ -69,7 +69,7 @@ using AdvanceCallback = void(int cycles_executed);
|
||||||
static AdvanceCallback* advance_callback = nullptr;
|
static AdvanceCallback* advance_callback = nullptr;
|
||||||
static std::vector<MHzChangeCallback> mhz_change_callbacks;
|
static std::vector<MHzChangeCallback> mhz_change_callbacks;
|
||||||
|
|
||||||
void FireMhzChange() {
|
static void FireMhzChange() {
|
||||||
for (auto callback : mhz_change_callbacks)
|
for (auto callback : mhz_change_callbacks)
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ u64 GetGlobalTimeUs() {
|
||||||
return last_global_time_us + us_since_last;
|
return last_global_time_us + us_since_last;
|
||||||
}
|
}
|
||||||
|
|
||||||
Event* GetNewEvent() {
|
static Event* GetNewEvent() {
|
||||||
if (!event_pool)
|
if (!event_pool)
|
||||||
return new Event;
|
return new Event;
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ Event* GetNewEvent() {
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
Event* GetNewTsEvent() {
|
static Event* GetNewTsEvent() {
|
||||||
allocated_ts_events++;
|
allocated_ts_events++;
|
||||||
|
|
||||||
if (!event_ts_pool)
|
if (!event_ts_pool)
|
||||||
|
@ -117,12 +117,12 @@ Event* GetNewTsEvent() {
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreeEvent(Event* event) {
|
static void FreeEvent(Event* event) {
|
||||||
event->next = event_pool;
|
event->next = event_pool;
|
||||||
event_pool = event;
|
event_pool = event;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FreeTsEvent(Event* event) {
|
static void FreeTsEvent(Event* event) {
|
||||||
event->next = event_ts_pool;
|
event->next = event_ts_pool;
|
||||||
event_ts_pool = event;
|
event_ts_pool = event;
|
||||||
allocated_ts_events--;
|
allocated_ts_events--;
|
||||||
|
@ -133,7 +133,7 @@ int RegisterEvent(const char* name, TimedCallback callback) {
|
||||||
return (int)event_types.size() - 1;
|
return (int)event_types.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AntiCrashCallback(u64 userdata, int cycles_late) {
|
static void AntiCrashCallback(u64 userdata, int cycles_late) {
|
||||||
LOG_CRITICAL(Core_Timing, "Savestate broken: an unregistered event was called.");
|
LOG_CRITICAL(Core_Timing, "Savestate broken: an unregistered event was called.");
|
||||||
Core::Halt("invalid timing events");
|
Core::Halt("invalid timing events");
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ void ClearPendingEvents() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddEventToQueue(Event* new_event) {
|
static void AddEventToQueue(Event* new_event) {
|
||||||
Event* prev_event = nullptr;
|
Event* prev_event = nullptr;
|
||||||
Event** next_event = &first;
|
Event** next_event = &first;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ static std::vector<ModuleDef> g_module_db;
|
||||||
|
|
||||||
bool g_reschedule = false; ///< If true, immediately reschedules the CPU to a new thread
|
bool g_reschedule = false; ///< If true, immediately reschedules the CPU to a new thread
|
||||||
|
|
||||||
const FunctionDef* GetSVCInfo(u32 opcode) {
|
static const FunctionDef* GetSVCInfo(u32 opcode) {
|
||||||
u32 func_num = opcode & 0xFFFFFF; // 8 bits
|
u32 func_num = opcode & 0xFFFFFF; // 8 bits
|
||||||
if (func_num > 0xFF) {
|
if (func_num > 0xFF) {
|
||||||
LOG_ERROR(Kernel_SVC,"unknown svc=0x%02X", func_num);
|
LOG_ERROR(Kernel_SVC,"unknown svc=0x%02X", func_num);
|
||||||
|
@ -63,7 +63,7 @@ void RegisterModule(std::string name, int num_functions, const FunctionDef* func
|
||||||
g_module_db.push_back(module);
|
g_module_db.push_back(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterAllModules() {
|
static void RegisterAllModules() {
|
||||||
SVC::Register();
|
SVC::Register();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace AC_U {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : Output connection type, 0 = none, 1 = Old3DS Internet, 2 = New3DS Internet.
|
* 2 : Output connection type, 0 = none, 1 = Old3DS Internet, 2 = New3DS Internet.
|
||||||
*/
|
*/
|
||||||
void GetWifiStatus(Service::Interface* self) {
|
static void GetWifiStatus(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
// TODO(purpasmart96): This function is only a stub,
|
// TODO(purpasmart96): This function is only a stub,
|
||||||
|
|
|
@ -160,7 +160,7 @@ void GetAppletManInfo(Service::Interface* self) {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : Output, 0 = not registered, 1 = registered.
|
* 2 : Output, 0 = not registered, 1 = registered.
|
||||||
*/
|
*/
|
||||||
void IsRegistered(Service::Interface* self) {
|
static void IsRegistered(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 app_id = cmd_buff[1];
|
u32 app_id = cmd_buff[1];
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
||||||
|
@ -191,7 +191,7 @@ void InquireNotification(Service::Interface* self) {
|
||||||
* 0 : Return Header
|
* 0 : Return Header
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void SendParameter(Service::Interface* self) {
|
static void SendParameter(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 src_app_id = cmd_buff[1];
|
u32 src_app_id = cmd_buff[1];
|
||||||
u32 dst_app_id = cmd_buff[2];
|
u32 dst_app_id = cmd_buff[2];
|
||||||
|
@ -291,7 +291,7 @@ void GlanceParameter(Service::Interface* self) {
|
||||||
* 2 : Status flag, 0 = failure due to no parameter data being available, or the above enabled
|
* 2 : Status flag, 0 = failure due to no parameter data being available, or the above enabled
|
||||||
* fields don't match the fields in NS state. 1 = success.
|
* fields don't match the fields in NS state. 1 = success.
|
||||||
*/
|
*/
|
||||||
void CancelParameter(Service::Interface* self) {
|
static void CancelParameter(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 flag1 = cmd_buff[1];
|
u32 flag1 = cmd_buff[1];
|
||||||
u32 unk = cmd_buff[2];
|
u32 unk = cmd_buff[2];
|
||||||
|
@ -367,7 +367,7 @@ void GetSharedFont(Service::Interface* self) {
|
||||||
* Outputs:
|
* Outputs:
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void SetAppCpuTimeLimit(Service::Interface* self) {
|
static void SetAppCpuTimeLimit(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 value = cmd_buff[1];
|
u32 value = cmd_buff[1];
|
||||||
u32 percent = cmd_buff[2];
|
u32 percent = cmd_buff[2];
|
||||||
|
@ -390,7 +390,7 @@ void SetAppCpuTimeLimit(Service::Interface* self) {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : System core CPU time percentage
|
* 2 : System core CPU time percentage
|
||||||
*/
|
*/
|
||||||
void GetAppCpuTimeLimit(Service::Interface* self) {
|
static void GetAppCpuTimeLimit(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
u32 value = cmd_buff[1];
|
u32 value = cmd_buff[1];
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ void SignalInterrupt() {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : (inaddr << 1) + 0x1FF40000 (where 0x1FF00000 is the DSP RAM address)
|
* 2 : (inaddr << 1) + 0x1FF40000 (where 0x1FF00000 is the DSP RAM address)
|
||||||
*/
|
*/
|
||||||
void ConvertProcessAddressFromDspDram(Service::Interface* self) {
|
static void ConvertProcessAddressFromDspDram(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
u32 addr = cmd_buff[1];
|
u32 addr = cmd_buff[1];
|
||||||
|
@ -57,7 +57,7 @@ void ConvertProcessAddressFromDspDram(Service::Interface* self) {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : Component loaded, 0 on not loaded, 1 on loaded
|
* 2 : Component loaded, 0 on not loaded, 1 on loaded
|
||||||
*/
|
*/
|
||||||
void LoadComponent(Service::Interface* self) {
|
static void LoadComponent(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
cmd_buff[1] = 0; // No error
|
cmd_buff[1] = 0; // No error
|
||||||
|
@ -74,7 +74,7 @@ void LoadComponent(Service::Interface* self) {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 3 : Semaphore event handle
|
* 3 : Semaphore event handle
|
||||||
*/
|
*/
|
||||||
void GetSemaphoreEventHandle(Service::Interface* self) {
|
static void GetSemaphoreEventHandle(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
||||||
|
@ -92,7 +92,7 @@ void GetSemaphoreEventHandle(Service::Interface* self) {
|
||||||
* Outputs:
|
* Outputs:
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void RegisterInterruptEvents(Service::Interface* self) {
|
static void RegisterInterruptEvents(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
auto evt = Kernel::g_handle_table.Get<Kernel::Event>(cmd_buff[4]);
|
auto evt = Kernel::g_handle_table.Get<Kernel::Event>(cmd_buff[4]);
|
||||||
|
@ -116,7 +116,7 @@ void RegisterInterruptEvents(Service::Interface* self) {
|
||||||
* Outputs:
|
* Outputs:
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void WriteReg0x10(Service::Interface* self) {
|
static void WriteReg0x10(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
SignalInterrupt();
|
SignalInterrupt();
|
||||||
|
@ -137,7 +137,7 @@ void WriteReg0x10(Service::Interface* self) {
|
||||||
* 0 : Return header
|
* 0 : Return header
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void WriteProcessPipe(Service::Interface* self) {
|
static void WriteProcessPipe(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
u32 number = cmd_buff[1];
|
u32 number = cmd_buff[1];
|
||||||
|
@ -162,7 +162,7 @@ void WriteProcessPipe(Service::Interface* self) {
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
* 2 : Number of bytes read from pipe
|
* 2 : Number of bytes read from pipe
|
||||||
*/
|
*/
|
||||||
void ReadPipeIfPossible(Service::Interface* self) {
|
static void ReadPipeIfPossible(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
u32 size = cmd_buff[3] & 0xFFFF;// Lower 16 bits are size
|
u32 size = cmd_buff[3] & 0xFFFF;// Lower 16 bits are size
|
||||||
|
@ -200,7 +200,7 @@ void ReadPipeIfPossible(Service::Interface* self) {
|
||||||
* Outputs:
|
* Outputs:
|
||||||
* 1 : Result of function, 0 on success, otherwise error code
|
* 1 : Result of function, 0 on success, otherwise error code
|
||||||
*/
|
*/
|
||||||
void SetSemaphoreMask(Service::Interface* self) {
|
static void SetSemaphoreMask(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
u32 mask = cmd_buff[1];
|
u32 mask = cmd_buff[1];
|
||||||
|
@ -219,7 +219,7 @@ void SetSemaphoreMask(Service::Interface* self) {
|
||||||
* 2 : The headphone status response, 0 = Not using headphones?,
|
* 2 : The headphone status response, 0 = Not using headphones?,
|
||||||
* 1 = using headphones?
|
* 1 = using headphones?
|
||||||
*/
|
*/
|
||||||
void GetHeadphoneStatus(Service::Interface* self) {
|
static void GetHeadphoneStatus(Service::Interface* self) {
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/mem_map.h"
|
#include "core/mem_map.h"
|
||||||
#include "core/hle/config_mem.h"
|
#include "core/hle/config_mem.h"
|
||||||
|
#include "core/hle/shared_page.h"
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue