Message ID | 878ubl56qq.fsf@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> > >-----Original Message----- >From: Jani Nikula [mailto:jani.nikula@linux.intel.com] >Sent: Monday, June 15, 2015 4:31 PM >To: Morton, Derek J; intel-gfx@lists.freedesktop.org >Cc: Wood, Thomas >Subject: Re: [Intel-gfx] [PATCH i-g-t v2] Android.mk: Disable tools that do not build for android > >On Mon, 15 Jun 2015, Derek Morton <derek.j.morton@intel.com> wrote: >> Disable the tools / demo code that do not currently build for android >> until they can be fixed. >> >> Affected tools / demos >> intel_reg >> intel_display_crc >> intel_sprite_on > >The simplest you can do to fix intel_reg is to have configure set up HAVE_SYS_IO or similar and do this in the code: > >diff --git a/tools/intel_reg.c b/tools/intel_reg.c index 090cc25613b9..c1e1d5ed3f1c 100644 >--- a/tools/intel_reg.c >+++ b/tools/intel_reg.c >@@ -28,7 +28,6 @@ > #include <stdio.h> > #include <stdlib.h> > #include <string.h> >-#include <sys/io.h> > #include <sys/stat.h> > #include <sys/types.h> > #include <unistd.h> >@@ -38,6 +37,19 @@ > > #include "intel_reg_spec.h" > >+#ifdef HAVE_SYS_IO >+#include <sys/io.h> >+#else >+static inline int _not_supported(void) >+{ >+ fprintf(stderr, "portio-vga not supported\n"); >+ return 0; >+} >+#define inb(port) _not_supported() >+#define outb(value, port) _not_supported() >+#define iopl(level) >+#endif >+ > struct config { > struct pci_device *pci_dev; > char *mmiofile; > >I'm sure it could be made prettier, but this gets the job done. > >BR, >Jani. > > I tried this but just hit another problem. The android make files assume 1:1 between source files and compiled binaries. Intel_reg has several source files so the extra files do not get built and it fails to link. In the interests of keeping patches small and simple I would like to just keep this one as is so the android build no longer fails and try to fix intel_reg later as a separate patch. //Derek >> >> v2: intel_display_crc compiled conditionally on ANDROID_HAS_CAIRO >> flag. >> >> Signed-off-by: Derek Morton <derek.j.morton@intel.com> >> --- >> Android.mk | 2 +- >> tools/Android.mk | 5 +++++ >> 2 files changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/Android.mk b/Android.mk >> index 1ab3e64..681d114 100644 >> --- a/Android.mk >> +++ b/Android.mk >> @@ -1,2 +1,2 @@ >> -include $(call all-named-subdir-makefiles, lib tests tools benchmarks >> demos) >> +include $(call all-named-subdir-makefiles, lib tests tools >> +benchmarks) >> >> diff --git a/tools/Android.mk b/tools/Android.mk index >> 39f4512..4be0032 100644 >> --- a/tools/Android.mk >> +++ b/tools/Android.mk >> @@ -37,10 +37,15 @@ endef >> >> skip_tools_list := \ >> intel_framebuffer_dump \ >> + intel_reg \ >> intel_reg_dumper \ >> intel_vga_read \ >> intel_vga_write >> >> +ifneq ("${ANDROID_HAS_CAIRO}", "1") >> + skip_tools_list += intel_display_crc endif >> + >> tools_list := $(filter-out $(skip_tools_list),$(bin_PROGRAMS)) >> >> $(foreach item,$(tools_list),$(eval $(call add_tool,$(item)))) >> -- >> 1.9.1 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > >-- >Jani Nikula, Intel Open Source Technology Center >
Bump Can this patch be merged? It only affects android and it only disables tools that fail to build anyway. Fixing the broken tools for android require non trivial fixes so need to be addressed as separate patches. This patch is required to allow the other tools to build for android in the meantime. //Derek > > >-----Original Message----- >From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of Morton, Derek J >Sent: Tuesday, June 16, 2015 11:04 AM >To: Jani Nikula; intel-gfx@lists.freedesktop.org >Cc: Wood, Thomas >Subject: Re: [Intel-gfx] [PATCH i-g-t v2] Android.mk: Disable tools that do not build for android > >> >> >>-----Original Message----- >>From: Jani Nikula [mailto:jani.nikula@linux.intel.com] >>Sent: Monday, June 15, 2015 4:31 PM >>To: Morton, Derek J; intel-gfx@lists.freedesktop.org >>Cc: Wood, Thomas >>Subject: Re: [Intel-gfx] [PATCH i-g-t v2] Android.mk: Disable tools >>that do not build for android >> >>On Mon, 15 Jun 2015, Derek Morton <derek.j.morton@intel.com> wrote: >>> Disable the tools / demo code that do not currently build for android >>> until they can be fixed. >>> >>> Affected tools / demos >>> intel_reg >>> intel_display_crc >>> intel_sprite_on >> >>The simplest you can do to fix intel_reg is to have configure set up HAVE_SYS_IO or similar and do this in the code: >> >>diff --git a/tools/intel_reg.c b/tools/intel_reg.c index >>090cc25613b9..c1e1d5ed3f1c 100644 >>--- a/tools/intel_reg.c >>+++ b/tools/intel_reg.c >>@@ -28,7 +28,6 @@ >> #include <stdio.h> >> #include <stdlib.h> >> #include <string.h> >>-#include <sys/io.h> >> #include <sys/stat.h> >> #include <sys/types.h> >> #include <unistd.h> >>@@ -38,6 +37,19 @@ >> >> #include "intel_reg_spec.h" >> >>+#ifdef HAVE_SYS_IO >>+#include <sys/io.h> >>+#else >>+static inline int _not_supported(void) { >>+ fprintf(stderr, "portio-vga not supported\n"); >>+ return 0; >>+} >>+#define inb(port) _not_supported() >>+#define outb(value, port) _not_supported() >>+#define iopl(level) >>+#endif >>+ >> struct config { >> struct pci_device *pci_dev; >> char *mmiofile; >> >>I'm sure it could be made prettier, but this gets the job done. >> >>BR, >>Jani. >> >> > >I tried this but just hit another problem. The android make files assume 1:1 between source files and compiled binaries. Intel_reg has several source files so the extra files do not get built and it fails to link. > >In the interests of keeping patches small and simple I would like to just keep this one as is so the android build no longer fails and try to fix intel_reg later as a separate patch. > >//Derek > >>> >>> v2: intel_display_crc compiled conditionally on ANDROID_HAS_CAIRO >>> flag. >>> >>> Signed-off-by: Derek Morton <derek.j.morton@intel.com> >>> --- >>> Android.mk | 2 +- >>> tools/Android.mk | 5 +++++ >>> 2 files changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/Android.mk b/Android.mk >>> index 1ab3e64..681d114 100644 >>> --- a/Android.mk >>> +++ b/Android.mk >>> @@ -1,2 +1,2 @@ >>> -include $(call all-named-subdir-makefiles, lib tests tools >>> benchmarks >>> demos) >>> +include $(call all-named-subdir-makefiles, lib tests tools >>> +benchmarks) >>> >>> diff --git a/tools/Android.mk b/tools/Android.mk index >>> 39f4512..4be0032 100644 >>> --- a/tools/Android.mk >>> +++ b/tools/Android.mk >>> @@ -37,10 +37,15 @@ endef >>> >>> skip_tools_list := \ >>> intel_framebuffer_dump \ >>> + intel_reg \ >>> intel_reg_dumper \ >>> intel_vga_read \ >>> intel_vga_write >>> >>> +ifneq ("${ANDROID_HAS_CAIRO}", "1") >>> + skip_tools_list += intel_display_crc endif >>> + >>> tools_list := $(filter-out $(skip_tools_list),$(bin_PROGRAMS)) >>> >>> $(foreach item,$(tools_list),$(eval $(call add_tool,$(item)))) >>> -- >>> 1.9.1 >>> >>> _______________________________________________ >>> Intel-gfx mailing list >>> Intel-gfx@lists.freedesktop.org >>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx >> >>-- >>Jani Nikula, Intel Open Source Technology Center >> >_______________________________________________ >Intel-gfx mailing list >Intel-gfx@lists.freedesktop.org >http://lists.freedesktop.org/mailman/listinfo/intel-gfx >
intel_reg replaces various other register tools, so these patches attempt to enable building it on Android platforms. Thomas Wood (2): intel_reg: support platforms without sys/io.h tools/Android.mk: add any extra program sources configure.ac | 2 +- tools/Android.mk | 4 ++-- tools/intel_reg.c | 17 ++++++++++++++++- 3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/tools/intel_reg.c b/tools/intel_reg.c index 090cc25613b9..c1e1d5ed3f1c 100644 --- a/tools/intel_reg.c +++ b/tools/intel_reg.c @@ -28,7 +28,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sys/io.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> @@ -38,6 +37,19 @@ #include "intel_reg_spec.h" +#ifdef HAVE_SYS_IO +#include <sys/io.h> +#else +static inline int _not_supported(void) +{ + fprintf(stderr, "portio-vga not supported\n"); + return 0; +} +#define inb(port) _not_supported() +#define outb(value, port) _not_supported() +#define iopl(level) +#endif + struct config { struct pci_device *pci_dev; char *mmiofile;