Merge rapi2 to master

This commit is contained in:
Stefanos Kornilios Mitsis Poiitidis 2015-07-07 16:20:14 +02:00
parent 3f36e98f90
commit 043d9004a0
6 changed files with 119 additions and 7 deletions

View File

@ -17,6 +17,7 @@
#include <sys/mman.h>
#include <sys/time.h>
#include <sys/personality.h>
#include <dlfcn.h>
#include <unistd.h>
#include "hw/sh4/dyna/blockmanager.h"
@ -270,11 +271,32 @@ void enable_runfast()
#endif
}
void linux_fix_personality() {
printf("Personality: %08X\n", personality(0xFFFFFFFF));
personality(~READ_IMPLIES_EXEC & personality(0xFFFFFFFF));
printf("Updated personality: %08X\n", personality(0xFFFFFFFF));
}
void linux_rpi2_init() {
void* handle;
void (*rpi_bcm_init)(void);
handle = dlopen("libbcm_host.so", RTLD_LAZY);
if (handle) {
printf("found libbcm_host\n");
*(void**) (&rpi_bcm_init) = dlsym(handle, "bcm_host_init");
if (rpi_bcm_init) {
printf("rpi2: bcm_init\n");
rpi_bcm_init();
}
}
}
void common_linux_setup()
{
printf("Personality: %08X\n", personality(0xFFFFFFFF));
personality(~READ_IMPLIES_EXEC & personality(0xFFFFFFFF));
printf("Updated personality: %08X\n", personality(0xFFFFFFFF));
linux_fix_personality();
linux_rpi2_init();
enable_runfast();
install_fault_handler();

View File

@ -57,7 +57,7 @@ endif
INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I../linux-deps/include
LIBS := -L../linux-deps/lib
LIBS += -lm -lrt -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lpthread -lX11 -lXdmcp -lXau
ifdef USE_ALSA

View File

@ -64,7 +64,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I
LIBS := -L../linux-deps/lib -L./enta_viv
LIBS += -lglapi
LIBS += -lm -lrt -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lpthread #-lX11 -lXdmcp -lXau
ifdef USE_ALSA

View File

@ -70,7 +70,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I
LIBS := -L../linux-deps/lib/x86 -L./enta_viv
#LIBS += -lglapi
LIBS += -lm -lrt
LIBS += -lm -lrt -ldl
LIBS += -ldl -lGL #for desktop gl
#use this for GLES
#LIBS += -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um

View File

@ -77,7 +77,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos
#-I../linux-deps/include
LIBS := -L../linux-deps/lib
LIBS += -lm -lrt -lEGL -lGLESv2
LIBS += -lm -lrt -ldl -lEGL -lGLESv2
#-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lpthread

90
shell/rapi2/Makefile Normal file
View File

@ -0,0 +1,90 @@
LOCAL_PATH := $(call my-dir)
FOR_LINUX :=1
WEBUI :=1
#NO_REND := 1
#NO_X11 := 1
RZDCY_SRC_DIR = ../../core
include $(RZDCY_SRC_DIR)/core.mk
#CC_PREFIX ?= arm-none-linux-gnueabi-
CXX=${CC_PREFIX}g++
CC=${CC_PREFIX}gcc
AS=${CC_PREFIX}gcc
STRIP=${CC_PREFIX}strip
LD=${CC}
MFLAGS := -marm -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard -funroll-loops
ASFLAGS := -march=armv7-a -mfpu=neon -mfloat-abi=softfp
LDFLAGS := -g -Wl,-Map,$(notdir $@).map,--gc-sections -Wl,-O3 -Wl,--sort-common
CXXFLAGS := -g -O3 -D RELEASE -c -D TARGET_BEAGLE -D TARGET_LINUX_ARMELv7 -DUSE_ALSA
CXXFLAGS += -frename-registers -fno-strict-aliasing -fsingle-precision-constant
CXXFLAGS += -ffast-math -ftree-vectorize -fprefetch-loop-arrays
#-std=c++0x
CXXFLAGS += $(CFLAGS) $(MFLAGS) -fno-exceptions -fno-rtti
CXXFLAGS += -DARM_HARDFP -DGLES
ifdef PGO_MAKE
CXXFLAGS += -fprofile-generate -pg
LDFLAGS += -fprofile-generate
else
CXXFLAGS += -fomit-frame-pointer
endif
ifdef PGO_USE
CXXFLAGS += -fprofile-use
endif
ifdef LTO_TEST
CXXFLAGS += -flto -fwhole-program
LDFLAGS +=-flto -fwhole-program
endif
INCS := -I/opt/vc/include/ -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I../linux-deps/include
LIBS := -L/opt/vc/lib/ -L../linux-deps/lib
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
LIBS += -lpthread -lasound -lX11 -lXdmcp -lXau -lbcm_host
OBJECTS=$(RZDCY_FILES:.cpp=.build_obj)
OBJECTS:=$(OBJECTS:.c=.build_obj)
OBJECTS:=$(OBJECTS:.S=.build_obj)
OBJECTS:=$(patsubst $(RZDCY_SRC_DIR)/%,obj/%,$(OBJECTS))
EXECUTABLE_STRIPPED=nosym-reicast.elf
EXECUTABLE=reicast.elf
all: $(CPPFILES) $(EXECUTABLE) $(EXECUTABLE_STRIPPED)
$(EXECUTABLE): $(OBJECTS)
echo $(RZDCY_FILES)
$(CXX) $(MFLAGS) $(EXTRAFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
$(EXECUTABLE_STRIPPED): $(EXECUTABLE)
cp $< $@ && $(STRIP) $@
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.cpp
mkdir -p $(dir $@)
$(CXX) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.c
mkdir -p $(dir $@)
$(CC) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.S
mkdir -p $(dir $@)
$(AS) $(ASFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
clean:
rm $(OBJECTS) $(EXECUTABLE) -f