[Kernelloader-cvs] linux/minimalistic ps2devtest.c,1.1,1.2
Run Linux on the Playstation 2
Brought to you by:
kloader
From: Mega M. <kl...@us...> - 2013-07-03 20:48:21
|
Update of /cvsroot/kernelloader/linux/minimalistic In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8687 Modified Files: ps2devtest.c Log Message: Added test for SPR with graphic Fixed /dev/ps2mem when used for graphic. This only works when MAP_SHARED is used. MAP_PRIVATE will not work. Index: ps2devtest.c =================================================================== RCS file: /cvsroot/kernelloader/linux/minimalistic/ps2devtest.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ps2devtest.c 1 Jul 2013 14:08:04 -0000 1.1 --- ps2devtest.c 3 Jul 2013 20:48:19 -0000 1.2 *************** *** 7,11 **** #define PAGE_SIZE 4096 ! //#define USE_PS2MEM 1 static struct ps2_screeninfo screeninfo; --- 7,12 ---- #define PAGE_SIZE 4096 ! #define USE_PS2MEM 1 ! //#define USE_PS2SPR 1 static struct ps2_screeninfo screeninfo; *************** *** 130,136 **** static void test_ps2mem(int fd_gs) { ! #ifdef USE_PS2MEM int fd; int n; unsigned char *buffer; #else --- 131,139 ---- static void test_ps2mem(int fd_gs) { ! #if defined(USE_PS2MEM) || defined(USE_PS2SPR) int fd; + #ifdef USE_PS2MEM int n; + #endif unsigned char *buffer; #else *************** *** 158,161 **** --- 161,165 ---- #ifdef USE_PS2MEM + printf("Using " PS2_DEV_MEM " for mapping\n"); fd = open(PS2_DEV_MEM, O_RDWR, 0); if (fd < 0) { *************** *** 164,168 **** } ! buffer = mmap(0, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); if (buffer == ((void *) -1)) { printf("test_ps2mem: Failed to map " PS2_DEV_MEM ", errno = %d.\n", errno); --- 168,172 ---- } ! buffer = mmap(0, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); if (buffer == ((void *) -1)) { printf("test_ps2mem: Failed to map " PS2_DEV_MEM ", errno = %d.\n", errno); *************** *** 171,174 **** --- 175,193 ---- } #endif + #ifdef USE_PS2SPR + printf("Using " PS2_DEV_SPR " for mapping\n"); + fd = open(PS2_DEV_SPR, O_RDWR, 0); + if (fd < 0) { + printf("test_ps2mem: Failed to open " PS2_DEV_SPR ", errno = %d.\n", errno); + return; + } + + buffer = mmap(0x51000000, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); + if (buffer == ((void *) -1)) { + printf("test_ps2mem: Failed to map " PS2_DEV_SPR ", errno = %d.\n", errno); + close(fd); + return; + } + #endif printf("test_ps2mem: memory mapped to 0x%08lx\n", (unsigned long) buffer); if (psm == PS2_GS_PSMCT24) { *************** *** 205,209 **** ps2_gs_load_image(fd_gs, &img); ! #ifdef USE_PS2MEM close(fd); #endif --- 224,229 ---- ps2_gs_load_image(fd_gs, &img); ! #if defined(USE_PS2MEM) || defined(USE_PS2SPR) ! munmap(buffer, PAGE_SIZE); close(fd); #endif |