Re: [PATCH 0/6] rtems-source-builder patche series for graphic libraries

2015-12-01 Thread Pavel Pisa
Hello Chris,

On Monday 30 of November 2015 22:52:28 Chris Johns wrote:
> On 30/11/2015 10:16 AM, Pavel Pisa wrote:
> > I have applied your patches on RSB master the result
> > is identical to the last one with updated libPNG.
> >
> > I have rerun build and all packages has build OK.
>
> Thanks.
>
> > Joel, please, apply patches.
>
> I am looking at them now.

please, push them first to master branches of

  git.rtems.org/rtems-source-builder.git

and t1lib-5.1.2.diff

  git.rtems.org/rtems-tools.git

As the other progress, I have received confirmation from Greg Haerr
for pushing the first round of RTEMS related patches to
Microwindows/Nano-X mainline

  https://github.com/ghaerr/microwindows

so we can switch after more testing the RSB Microwindows source
to the real Microwindows mainline and get rid of local patches
in next development steps. But I consider commiting actual tested
state to RSB as the right step now.

Best wishes,

 Pavel
 
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH] Fix declaration of pthread-structs in s-osinte-rtems.ads (ada/68169)

2015-12-01 Thread Jan Sommer
Am Monday 30 November 2015, 16:19:30 schrieb Jeff Law:
> On 11/30/2015 03:06 PM, Jan Sommer wrote:
> > Could someone with write access please commit the patch?
> > The paperwork with the FSF has gone through. If something else is missing, 
> > please tell me.
> > I won't be available next week.
> I'm not sure what you built your patches again, but I can't apply them 
> to the trunk.  Can you resend a patch as a diff against the trunk.
> 
> Often I can fix things by hand, but this is Ada and I'd be much more 
> likely to botch something.

I updated the patches again. They should now fit with the heads of the 
respective branches again.
Maybe the Changelog will be out of synch again.
The patches are for the following branches:
ada-68169_4.9.diff   -->  gcc-4_9-branch
ada-68169_5.x.diff  -->   gcc-5-branch
ada-68169_trunk.diff --> trunk

Let me know if they apply this time. I used svn diff to create them and used 
patch -p0 to test if they apply locally.

Thank you,

  Jan

> 
> 
> jeff
> 
> 
Index: gcc/ada/ChangeLog
===
--- gcc/ada/ChangeLog	(Revision 231125)
+++ gcc/ada/ChangeLog	(Arbeitskopie)
@@ -1,3 +1,9 @@
+2015-12-01  Jan Sommer 
+
+	* s-oscons-tmplt.c: Generate pthread constants for RTEMS
+	* s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada
+	Fixes PR ada/68169
+
 2015-11-29  Matthias Klose  
 
 	PR ada/68564
Index: gcc/ada/s-oscons-tmplt.c
===
--- gcc/ada/s-oscons-tmplt.c	(Revision 231125)
+++ gcc/ada/s-oscons-tmplt.c	(Arbeitskopie)
@@ -154,7 +154,7 @@ pragma Style_Checks ("M32766");
 # include <_types.h>
 #endif
 
-#ifdef __linux__
+#if defined (__linux__) || defined (__rtems__)
 # include 
 # include 
 #endif
@@ -1441,7 +1441,8 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
 CNS(CLOCK_RT_Ada, "")
 #endif
 
-#if defined (__APPLE__) || defined (__linux__) || defined (DUMMY)
+#if defined (__APPLE__) || defined (__linux__) || defined (__rtems__) || \
+  defined (DUMMY)
 /*
 
--  Sizes of pthread data types
@@ -1484,7 +1485,7 @@ CND(PTHREAD_RWLOCKATTR_SIZE, "pthread_rwlockattr_t
 CND(PTHREAD_RWLOCK_SIZE, "pthread_rwlock_t")
 CND(PTHREAD_ONCE_SIZE,   "pthread_once_t")
 
-#endif /* __APPLE__ || __linux__ */
+#endif /* __APPLE__ || __linux__ || __rtems__*/
 
 /*
 
Index: gcc/ada/s-osinte-rtems.ads
===
--- gcc/ada/s-osinte-rtems.ads	(Revision 231125)
+++ gcc/ada/s-osinte-rtems.ads	(Arbeitskopie)
@@ -51,6 +51,8 @@
 --  It is designed to be a bottom-level (leaf) package.
 
 with Interfaces.C;
+with System.OS_Constants;
+
 package System.OS_Interface is
pragma Preelaborate;
 
@@ -60,6 +62,7 @@ package System.OS_Interface is
subtype rtems_id   is Interfaces.C.unsigned;
 
subtype intis Interfaces.C.int;
+   subtype char   is Interfaces.C.char;
subtype short  is Interfaces.C.short;
subtype long   is Interfaces.C.long;
subtype unsigned   is Interfaces.C.unsigned;
@@ -68,7 +71,6 @@ package System.OS_Interface is
subtype unsigned_char  is Interfaces.C.unsigned_char;
subtype plain_char is Interfaces.C.plain_char;
subtype size_t is Interfaces.C.size_t;
-
---
-- Errno --
---
@@ -76,11 +78,11 @@ package System.OS_Interface is
function errno return int;
pragma Import (C, errno, "__get_errno");
 
-   EAGAIN: constant := 11;
-   EINTR : constant := 4;
-   EINVAL: constant := 22;
-   ENOMEM: constant := 12;
-   ETIMEDOUT : constant := 116;
+   EAGAIN: constant := System.OS_Constants.EAGAIN;
+   EINTR : constant := System.OS_Constants.EINTR;
+   EINVAL: constant := System.OS_Constants.EINVAL;
+   ENOMEM: constant := System.OS_Constants.ENOMEM;
+   ETIMEDOUT : constant := System.OS_Constants.ETIMEDOUT;
 
-
-- Signals --
@@ -448,6 +450,7 @@ package System.OS_Interface is
   ss_low_priority : int;
   ss_replenish_period : timespec;
   ss_initial_budget   : timespec;
+  sched_ss_max_repl   : int;
end record;
pragma Convention (C, struct_sched_param);
 
@@ -621,43 +624,34 @@ private
end record;
pragma Convention (C, timespec);
 
-   CLOCK_REALTIME :  constant clockid_t := 1;
-   CLOCK_MONOTONIC : constant clockid_t := 4;
+   CLOCK_REALTIME :  constant clockid_t := System.OS_Constants.CLOCK_REALTIME;
+   CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC;
 
+   subtype char_array is Interfaces.C.char_array;
+
type pthread_attr_t is record
-  is_initialized  : int;
-  stackaddr   : System.Address;
-  stacksize   : int;
-  contentionscope : int;
-  inheritsched: int;
-  schedpolicy : int;
-  schedparam  : struct_sched_param;
-  cputime_clocked_allowed : int;
-  detatchstate: int;
+  Data : char_array (1 .. 

Re: [PATCH] bsp/raspberrypi: Store the current taskid before waiting for the transient event in i2c-driver

2015-12-01 Thread Gedare Bloom
can you file a ticket and describe the bug this fixes. then #close the
ticket with the commit message.

On Mon, Nov 30, 2015 at 5:16 PM, Jan Sommer
 wrote:
> Before having the i2c device as an shared resource will create a deadlock 
> because the taskid
> for the transient_event is only stored during device registration.
> ---
>  c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c 
> b/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c
> index 14a2467..9bf90ec 100644
> --- a/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c
> +++ b/c/src/lib/libbsp/arm/raspberrypi/i2c/i2c.c
> @@ -91,6 +91,7 @@ static int rpi_i2c_bus_transfer(rpi_i2c_bus *bus)
>BCM2835_REG(BCM2835_I2C_C) |= (1 << 9);
>
>/* Sleep until the TX FIFO has free space for a new write. */
> +  bus->task_id = rtems_task_self();
>if (
>rtems_event_transient_receive(RTEMS_WAIT, bus->base.timeout) !=
>RTEMS_SUCCESSFUL
> --
> 2.5.0
>
> ___
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel