ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
smem.c
Go to the documentation of this file.
1 /*
2 # _____ ___ ____ ___ ____
3 # ____| | ____| | | |____|
4 # | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5 #-----------------------------------------------------------------------
6 # Copyright (c) 2003 Marcus R. Brown <mrbrown@0xd6.org>
7 # Licenced under Academic Free License version 2.0
8 # Review ps2sdk README & LICENSE files for further details.
9 */
10 
16 #include <kernel.h>
17 #include <string.h>
18 
19 #include "smem.h"
20 
21 u32 smem_read(void *addr, void *buf, u32 size)
22 {
23  DI();
25 
26  memcpy(buf, addr + SUB_VIRT_MEM, size);
27 
28  ee_kmode_exit();
29  EI();
30 
31  return size;
32 }
33 
34 u32 smem_write(void *addr, void *buf, u32 size)
35 {
36  DI();
38 
39  memcpy(addr + SUB_VIRT_MEM, buf, size);
40 
41  ee_kmode_exit();
42  EI();
43 
44  return size;
45 }
static int ee_kmode_exit()
Definition: kernel.h:198
static int ee_kmode_enter()
Definition: kernel.h:181
#define DI
Definition: kernel.h:24
#define EI
Definition: kernel.h:25
u32 smem_read(void *addr, void *buf, u32 size)
Definition: smem.c:21
u32 smem_write(void *addr, void *buf, u32 size)
Definition: smem.c:34
#define SUB_VIRT_MEM
Definition: smem.h:36
unsigned int u32
Definition: tamtypes.h:30