Explorar o código

pandora: workaround some reported problems

notaz %!s(int64=10) %!d(string=hai) anos
pai
achega
d9653efdf7
Modificáronse 3 ficheiros con 17 adicións e 6 borrados
  1. 10 3
      platform/pandora/Makefile
  2. 5 2
      platform/pandora/PicoDrive.sh
  3. 2 1
      platform/pandora/plat.c

+ 10 - 3
platform/pandora/Makefile

@@ -1,7 +1,12 @@
 # release packaging makefile
 
-VER ?= $(shell head -n 1 ../common/version.h | \
+VER := $(shell head -n 1 ../common/version.h | \
 	sed 's/.*"\(.*\)\.\(.*\)".*/\1\2/g')
+BUILD := $(shell git describe HEAD | grep -- - | \
+	sed -e 's/.*\-\(.*\)\-.*/\1/')
+ifneq "$(BUILD)" ""
+VER := $(VER)_$(BUILD)
+endif
 
 PND_MAKE ?= $(HOME)/dev/pnd/src/pandora-libraries/testdata/scripts/pnd_make.sh
 
@@ -13,8 +18,8 @@ all: rel
 /tmp/readme.txt: ../../tools/textfilter ../base_readme.txt
 	../../tools/textfilter ../base_readme.txt $@ PANDORA
 
-/tmp/PicoDrive.pxml: PicoDrive.pxml.template
-	./make_pxml.sh $^ $@
+/tmp/PicoDrive.pxml: PicoDrive.pxml.template FORCE
+	./make_pxml.sh $< $@
 
 rel: ../../PicoDrive PicoDrive.sh picorestore \
 	PicoDrive.png PicoDrive_p.png \
@@ -25,3 +30,5 @@ rel: ../../PicoDrive PicoDrive.sh picorestore \
 	cp -r $^ out/
 	$(PND_MAKE) -p PicoDrive_$(VER).pnd -d out -x out/PicoDrive.pxml -i out/PicoDrive.png -c
 
+FORCE:
+.PHONY: all rel FORCE

+ 5 - 2
platform/pandora/PicoDrive.sh

@@ -1,7 +1,10 @@
 #!/bin/sh
 
-# 2x2M hugepages should be enough
-sudo -n /usr/pandora/scripts/op_hugetlb.sh 4
+# 3.2.30 on pandora has broken hugetlb
+if [ "`uname -r`" != "3.2.30" ]; then
+  # 2x2M hugepages should be enough
+  sudo -n /usr/pandora/scripts/op_hugetlb.sh 4
+fi
 
 ./PicoDrive "$@"
 

+ 2 - 1
platform/pandora/plat.c

@@ -40,7 +40,6 @@ static int g_layer_x, g_layer_y;
 static int g_layer_w = 320, g_layer_h = 240;
 static int g_osd_fps_x, g_osd_y, doing_bg_frame;
 
-static const char pnd_script_base[] = "sudo -n /usr/pandora/scripts";
 static unsigned char __attribute__((aligned(4))) fb_copy[320 * 240 * 2];
 static void *temp_frame;
 const char *renderer_names[] = { NULL };
@@ -375,6 +374,8 @@ void plat_video_loop_prepare(void)
 void pemu_loop_prep(void)
 {
 	// dirty buffers better go now than during gameplay
+	fflush(stdout);
+	fflush(stderr);
 	sync();
 	sleep(0);
 }