Implement aligned funcs

This commit is contained in:
Prakxo
2023-02-15 09:41:25 +00:00
parent 79bb2ae6e3
commit 169f213772
15 changed files with 112 additions and 18 deletions
+5 -3
View File
@@ -1,6 +1,7 @@
#pragma once
#ifndef _MEM_H
#define _MEM_H
#include <stddef.h>
#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -15,5 +16,6 @@ void __fill_mem(void * dst, int val, unsigned long n);
#pragma section code_type
#ifdef __cplusplus
}
};
#endif
#endif
+2 -1
View File
@@ -5,7 +5,8 @@
extern "C" {
#endif
asm s32 OSGetTime(void);
typedef s64 OSTime;
OSTime OSGetTime(void);
#ifdef __cplusplus
}
+2
View File
@@ -3,11 +3,13 @@
#include "types.h"
#include "dolphin/OS/OSContext.h"
#include "va_args.h"
#ifdef __cplusplus
extern "C" {
#endif
void OSReport(const char*, ...);
void OSVReport(const char* format, va_list list);
asm BOOL OSDisableInterrupts(void);
asm BOOL OSEnableInterrupts(void);
+3 -4
View File
@@ -3,16 +3,15 @@
#include "types.h"
#include "dolphin/OS/OSTime.h"
#include "dolphin/OS/OSCache.h"
int bcmp (void *v1, void *v2, u32 size);
void bcopy(void *dst, void *src, size_t n);
void bzero(void *ptr, size_t size);
void osSyncPrintf(const char* fmt, ...);
void osWritebackDCache(void* vaddr, u32 nbytes);
u32 osGetCount(void);
OSTime osGetTime(void);
extern s32 osAppNMIBuffer[15];
extern void * memcpy(void * dst, const void * src, size_t n);
extern void * memset(void * dst, int val, size_t n);
extern void __fill_mem(void * dst, int val, unsigned long n);
#endif
+24
View File
@@ -0,0 +1,24 @@
#ifndef __VA_ARG_H
#define __VA_ARG_H
#include "types.h"
typedef struct __va_list_struct {
char gpr;
char fpr;
char reserved[2];
char* input_arg_area;
char* reg_save_area;
} _va_list_struct;
typedef _va_list_struct __va_list[1];
#define __va_start(list, fmt) __builtin_va_info(&list)
#define __va_arg(list, type) (*((type*)__va_arg(ap, _var_arg_typeof(type))))
#define va_start __va_start
#define va_arg __va_arg
#define va_end __va_end
#define va_list __va_list
#define __va_end(list) ((void)0)
#endif
+2 -2
View File
@@ -5,8 +5,8 @@
#include "dolphin/OS/os.h"
#include "libultra/libultra.h"
#include "JSystem/JUT/JUTAssertion.h"
#include "JSystem/JUT/JUTDbPrint.h"
//#include "JSystem/JUT/JUTAssertion.h"
//#include "JSystem/JUT/JUTDbPrint.h"
typedef struct zuru_keycheck {
u8 state;