diff --git a/include/loader.h b/include/loader.h index 2fac189..8121b6c 100644 --- a/include/loader.h +++ b/include/loader.h @@ -1,10 +1,10 @@ #include "utils.h" #include -static uint64_t alloc_page(void); -static void install_page(uintptr_t pml4, vm_offset_t va, vm_paddr_t pa, +uint64_t alloc_page(void); +void install_page(uintptr_t pml4, vm_offset_t va, vm_paddr_t pa, int bits); void pte_store(uintptr_t ptep, uint64_t pte); -static int read_file(const char *path, void *buf, size_t bufsize); -static void trim_newline(char *s); +int read_file(const char *path, void *buf, size_t bufsize); +void trim_newline(char *s); int fetch_linux(struct linux_info *info); diff --git a/source/hv_defeat.c b/source/hv_defeat.c index 5f5b2b7..d4dbdc3 100644 --- a/source/hv_defeat.c +++ b/source/hv_defeat.c @@ -220,7 +220,7 @@ int stage5_remove_xotext(void) { uint64_t start = ktext - 0xF0000; // Include first pages where fun stuff is located uint64_t end = kdata; - int n = 0; + int n __attribute__((unused)) = 0; for (uint64_t a = start; a < end; a += 0x1000) { page_chain_set_rw(a); diff --git a/source/loader.c b/source/loader.c index 2f41b44..cff9de2 100644 --- a/source/loader.c +++ b/source/loader.c @@ -19,7 +19,7 @@ #define MINI_SYSCORE_PID 1 -static uint64_t alloc_page(void) { +uint64_t alloc_page(void) { void *page = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); @@ -30,7 +30,7 @@ static uint64_t alloc_page(void) { return va_to_pa_user((uintptr_t)page); } -static void install_page(uintptr_t pml4, vm_offset_t va, vm_paddr_t pa, +void install_page(uintptr_t pml4, vm_offset_t va, vm_paddr_t pa, int bits) { uint64_t entry; @@ -100,7 +100,7 @@ long find_and_get_size_of_file(const char *filename, char *found_path) { return -1; } -static int find_and_read_file(const char *filename, void *buf, size_t bufsize) { +int find_and_read_file(const char *filename, void *buf, size_t bufsize) { char full_path[256]; struct stat st; @@ -119,7 +119,7 @@ static int find_and_read_file(const char *filename, void *buf, size_t bufsize) { return -1; } -static int read_file(const char *path, void *buf, size_t bufsize) { +int read_file(const char *path, void *buf, size_t bufsize) { int fd = open(path, O_RDONLY); if (fd < 0) return fd; @@ -128,7 +128,7 @@ static int read_file(const char *path, void *buf, size_t bufsize) { return r; } -static void trim_newline(char *s) { +void trim_newline(char *s) { while (*s != '\0') { if (*s == '\r' || *s == '\n') { *s = '\0'; diff --git a/source/utils.c b/source/utils.c index 3f3e18c..8646bdc 100644 --- a/source/utils.c +++ b/source/utils.c @@ -225,8 +225,8 @@ void notify(const char *fmt, ...) { vsnprintf(buffer, sizeof(buffer), fmt, args); va_end(args); - notify_internal(buffer); - printf(buffer); + notify_internal((uint8_t *)buffer); + printf("%s", buffer); } void notify_internal(uint8_t *msg) { @@ -236,7 +236,7 @@ void notify_internal(uint8_t *msg) { } req; bzero(&req, sizeof(req)); uint64_t len = - strlen(msg) < (sizeof(req.msg) - 1) ? strlen(msg) : (sizeof(req.msg) - 1); + strlen((const char *)msg) < (sizeof(req.msg) - 1) ? strlen((const char *)msg) : (sizeof(req.msg) - 1); memcpy(req.msg, msg, len); sceKernelSendNotificationRequest(0, &req, sizeof(req), 0); }