Re: Tickets: Milestone vs. Version

2018-08-10 Thread Gedare Bloom
On Fri, Aug 10, 2018 at 2:10 AM, Chris Johns  wrote:
>
> Release Terminology
>
> - A release is the creation of any generated files and their packaging 
> together
> with the source in a repository that makes the package available as a file.
> - A release branch is a git branch pushed to the repositories used to create
> release. There is a release branch for each version of RTEMS.
> - A release is a git tag on a release branch with the tags pushed to the
> repositories.
>
> ?

This may be a separate discussion. Here you defined 'release' twice,
so I'm a bit unclear about your proposed terminology.

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


Re: Tickets: Milestone vs. Version

2018-08-10 Thread Gedare Bloom
On Fri, Aug 10, 2018 at 2:10 AM, Chris Johns  wrote:
> On 10/08/2018 15:41, Sebastian Huber wrote:
>> On 10/08/18 07:38, Chris Johns wrote:
>>> On 10/08/2018 15:03, Sebastian Huber wrote:
 we want a ticket for each milestone in which it is resolved. What is now 
 the
 meaning of the version field?

>>> A ticket may be assigned to a branch but not a milestone. Milestones lets us
>>> select which tickets we fix on branch. Once all tickets on a milestone are
>>> closed the release can be made.
>>>
>>> We do not work that way at the moment. I use the milestones when making 
>>> releases
>>> to move tickets scheduled for a release that are not closed to the next 
>>> release.
>>
>> This doesn't explain the version field. Is version the same as branch from 
>> your
>> point of view?
>>
>
> The branch is the version of RTEMS released from that branch. In trac it is
> called version, ie 4.11, 4.10, 5 etc. The term version is more accurate, the 
> use
> of branch is actually a VC implementation detail.
>

I had understood we should use 'version' field in Trac to indicate
when the bug first appeared. If this is not the case, then definitely
(a) we need more guidance, and (b) we probably need a way to indicate
(our best guess about) when a bug appeared.

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


Re: [PATCH] Rework to minimize and eventually eliminate RTEMS use of bsp_specs

2018-08-10 Thread Amaan Cheval
Haha, don't worry about it. It's really a non-blocker we can
absolutely handle after GSoC just as well. I just wanted to confirm in
case I'd missed something!

On Fri, Aug 10, 2018 at 6:55 PM, Joel Sherrill  wrote:
> I am sorry. I will have to dig this up and commit it.
>
> I will try to do this before I leave about lunch.
>
> Looks like we both have work to do before the end of GSoC. :)
>
> --joel
>
> On Fri, Aug 10, 2018 at 6:11 AM, Amaan Cheval 
> wrote:
>>
>> Hey Joel!
>>
>> I'm not sure if this ever made it upstream - if it did, could you dig
>> the commit up?
>>
>> I'll leave the x86_64's bsp_specs empty and make the RSB backporting
>> patches accordingly. If not, no rush, we should just add a ticket or
>> something so as to not lose track of it entirely after GSoC ends.
>>
>> On Mon, Jul 9, 2018 at 10:30 AM, Amaan Cheval 
>> wrote:
>> > To make my previous email clearer, here's what I meant with the
>> > "minimal" GCC patch required (attached).
>> >
>> > To manually test, you can place gcc-STARTFILE_SPEC.patch in
>> > $RSB/rtems/patches/ and then "git apply rsb-startfile.diff" to the RSB
>> > repo. Then build GCC and confirm that "x86_64-rtems5-gcc -dumpspecs"
>> > includes crti and crtbegin in the startfile susbtitution.
>> >
>> > Let me know if we aim to have this GCC work done before merging the
>> > x86_64 BSP (see
>> > https://lists.rtems.org/pipermail/devel/2018-July/022388.html) so I
>> > can leave bsp_specs in or clear it out accordingly?
>> >
>> > For now, I'm going to leave it in.
>> >
>> > On Fri, Jul 6, 2018 at 10:46 AM, Amaan Cheval 
>> > wrote:
>> >> Hey, Joel!
>> >>
>> >> The x86_64 BSP currently uses an empty bsp_specs file contingent on
>> >> (at least the x86-64 parts of) this email thread's patch making it
>> >> upstream to GCC, and making their way into the RSB.
>> >>
>> >> 2 options:
>> >> - 1. Make the upstream GCC commit (at least the parts adding
>> >> rtemself64.h, editing config.gcc, and "#if 0"ing out
>> >> gcc/config/rtems.h)
>> >> - 2. Use a bsp_specs in the new BSP for the merge now, and empty it out
>> >> later
>> >>
>> >> I can test and send you an x86_64 specific patch for GCC if you'd
>> >> like. Or if you prefer to have all the work together, we can go with
>> >> #2.
>> >>
>> >> Let me know!
>> >>
>> >> On Sat, May 19, 2018 at 3:17 AM, Joel Sherrill  wrote:
>> >>> Thanks. I will try to deal with this Monday.
>> >>>
>> >>> My specs patches are not ready to push to gcc so I need to focus on
>> >>> just the parts to make x86_64 right.
>> >>>
>> >>> On Fri, May 18, 2018 at 3:41 PM, Amaan Cheval 
>> >>> wrote:
>> 
>>  To be clear, I applied this patch (with my fixes) on the 7.3 release
>>  through the RSB to test, not on GCC's master branch.
>> 
>>  > to add i386/rtemself64.h
>> 
>>  What you sent in this email thread adds rtemself64.h already. Do you
>>  mean you'd like to split the commits up or something?
>> 
>>  The only changes I made on top of yours were:
>> 
>>  - Readd "rtems.h" to config.gcc
>>  - Fix comments
>> 
>>  I've attached the patch file I used within the RSB here (sorry if you
>>  meant a patch of _just_ the fixes I made on top of yours, this is
>>  just
>>  the cumulative diff I used to patch GCC 7.3 to test).
>> 
>>  Regards,
>> 
>>  On Fri, May 18, 2018 at 7:00 PM, Joel Sherrill 
>>  wrote:
>>  >
>>  >
>>  >
>>  > On Fri, May 18, 2018 at 1:38 AM, Amaan Cheval
>>  > 
>>  > wrote:
>>  >>
>>  >> I just compiled my local fixed copy (adding rtems.h back in) and
>>  >> there's good news! With the patch, the x86_64 compile stub works
>>  >> with
>>  >> a blank bsp_specs file!
>>  >
>>  >
>>  > Awesome!
>>  >
>>  > Can you send me your changes as a patch? I am thinking I need to
>>  > make
>>  > sure we agree on what the gcc master for x86_64-rtems looks like.
>>  >
>>  > Apparently I owe committing a patch to add i386/rtemself64.h since
>>  > it is
>>  > missing on the master. And the comment is wrong.  What else?
>>  >
>>  >> On Fri, May 18, 2018 at 12:59 AM, Amaan Cheval
>>  >> 
>>  >> wrote:
>>  >> > Hey!
>>  >> >
>>  >> > Thanks so much for sharing this, it's quite useful to put your
>>  >> > earlier
>>  >> > email[1] about minimzing the bsp_specs in context.
>>  >> >
>>  >> > From looking ahead a bit without testing (still compiling), the
>>  >> > patch
>>  >> > may need an ENDFILE_SPEC definition as well for "crtend.o" (it
>>  >> > defines
>>  >> > __TMC_END__ which crtbegin.o has left undefined for eg.) and
>>  >> > possibly
>>  >> > "crtn.o", at least to eliminate the x86_64 port's bsp_specs
>>  >> > entirely
>>  >> > (see here[2]).
>>  >>
>>  >> Just noticed that ENDFILE_SPEC already includes crtend in
>>  >> i386elf.h,
>>  >> so there's no need for this change.
>>  >>
>> 

[PATCH 08/10] qoriq/include/tm27.h: Fix prototype warning

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/qoriq/include/tm27.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/bsps/powerpc/qoriq/include/tm27.h 
b/bsps/powerpc/qoriq/include/tm27.h
index 46264b7..79ef3b4 100644
--- a/bsps/powerpc/qoriq/include/tm27.h
+++ b/bsps/powerpc/qoriq/include/tm27.h
@@ -78,12 +78,12 @@ static void qoriq_tm27_cause(uint32_t ipi_index)
   qoriq.pic.per_cpu[self].ipidr[ipi_index].reg = UINT32_C(1) << self;
 }
 
-static void Cause_tm27_intr()
+static void Cause_tm27_intr(void)
 {
   qoriq_tm27_cause(IPI_INDEX_LOW);
 }
 
-static void Clear_tm27_intr()
+static void Clear_tm27_intr(void)
 {
   /* Nothing to do */
 }
-- 
1.8.3.1

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


[PATCH 09/10] bsps/sparc/include/bsp/gradcdac.h: Fix nested comment warning

2018-08-10 Thread Joel Sherrill
---
 bsps/sparc/include/bsp/gradcdac.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bsps/sparc/include/bsp/gradcdac.h 
b/bsps/sparc/include/bsp/gradcdac.h
index b520778..31facc2 100644
--- a/bsps/sparc/include/bsp/gradcdac.h
+++ b/bsps/sparc/include/bsp/gradcdac.h
@@ -1,5 +1,5 @@
 /*  ADC / DAC (GRADCDAC) interface
-/*
+ *
  *  COPYRIGHT (c) 2009.
  *  Cobham Gaisler AB.
  *
-- 
1.8.3.1

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


[PATCH 10/10] libtests/POSIX: Fix warnings and style.

2018-08-10 Thread Joel Sherrill
---
 testsuites/libtests/POSIX/close.c  |  4 +---
 testsuites/libtests/POSIX/dup2.c   |  4 +---
 testsuites/libtests/POSIX/fcntl.c  | 13 -
 testsuites/libtests/POSIX/flockfile.c  |  1 +
 testsuites/libtests/POSIX/fork.c   |  6 --
 testsuites/libtests/POSIX/free.c   |  5 ++---
 testsuites/libtests/POSIX/fstat.c  |  9 +
 testsuites/libtests/POSIX/ftrylockfile.c   |  4 +++-
 testsuites/libtests/POSIX/funlockfile.c|  1 +
 testsuites/libtests/POSIX/getdents.c   |  6 +++---
 testsuites/libtests/POSIX/getlogin.c   |  5 +++--
 testsuites/libtests/POSIX/getpwnam.c   |  8 
 testsuites/libtests/POSIX/getpwuid.c   |  3 +--
 testsuites/libtests/POSIX/gettimeofday.c   |  3 +--
 testsuites/libtests/POSIX/getuid.c |  7 +++
 testsuites/libtests/POSIX/htonl.c  |  7 +--
 testsuites/libtests/POSIX/iconv.c  |  5 ++---
 testsuites/libtests/POSIX/iconv_close.c|  5 ++---
 testsuites/libtests/POSIX/iconv_open.c |  5 ++---
 testsuites/libtests/POSIX/issetugid.c  |  7 +++
 testsuites/libtests/POSIX/kill.c   | 16 ++--
 testsuites/libtests/POSIX/longjmp.c|  5 ++---
 testsuites/libtests/POSIX/lseek.c  | 14 +-
 testsuites/libtests/POSIX/lstat.c  |  7 +++
 testsuites/libtests/POSIX/malloc.c |  5 ++---
 testsuites/libtests/POSIX/nanosleep.c  |  7 +++
 testsuites/libtests/POSIX/open.c   |  9 -
 testsuites/libtests/POSIX/pipe.c   |  7 +++
 testsuites/libtests/POSIX/posix_memalign.c |  5 ++---
 testsuites/libtests/POSIX/read.c   |  7 +++
 testsuites/libtests/POSIX/readv.c  |  5 ++---
 testsuites/libtests/POSIX/realloc.c|  7 +++
 testsuites/libtests/POSIX/setjmp.c |  5 ++---
 testsuites/libtests/POSIX/sigaddset.c  |  5 ++---
 testsuites/libtests/POSIX/sigdelset.c  |  5 ++---
 testsuites/libtests/POSIX/sigemptyset.c|  5 ++---
 testsuites/libtests/POSIX/sigfillset.c |  5 ++---
 testsuites/libtests/POSIX/sigismember.c|  3 +--
 testsuites/libtests/POSIX/sigprocmask.c| 17 ++---
 testsuites/libtests/POSIX/stat.c   |  7 +++
 testsuites/libtests/POSIX/unlink.c |  4 ++--
 testsuites/libtests/POSIX/vfork.c  |  7 +++
 testsuites/libtests/POSIX/wait.c   |  5 ++---
 testsuites/libtests/POSIX/waitpid.c|  6 +++---
 testsuites/libtests/POSIX/write.c  |  7 +++
 testsuites/libtests/POSIX/writev.c |  5 ++---
 46 files changed, 140 insertions(+), 148 deletions(-)

diff --git a/testsuites/libtests/POSIX/close.c 
b/testsuites/libtests/POSIX/close.c
index 5468adc..b770a76 100644
--- a/testsuites/libtests/POSIX/close.c
+++ b/testsuites/libtests/POSIX/close.c
@@ -15,7 +15,5 @@
 int
 main (void)
 {
-  close (42);
-
-  return 0;
+  return close(42);
 }
diff --git a/testsuites/libtests/POSIX/dup2.c b/testsuites/libtests/POSIX/dup2.c
index b090d63..2e5238e 100644
--- a/testsuites/libtests/POSIX/dup2.c
+++ b/testsuites/libtests/POSIX/dup2.c
@@ -18,7 +18,5 @@ main (void)
   int oldfd = 42;
   int newfd = 43;
 
-  dup2 (oldfd, newfd);
-
-  return 0;
+  return dup2 (oldfd, newfd);
 }
diff --git a/testsuites/libtests/POSIX/fcntl.c 
b/testsuites/libtests/POSIX/fcntl.c
index dc59d5d..9578df4 100644
--- a/testsuites/libtests/POSIX/fcntl.c
+++ b/testsuites/libtests/POSIX/fcntl.c
@@ -13,11 +13,14 @@
 #include 
 #include 
 
-int
-main (void)
+int main (void)
 {
-  fcntl (42, 43);
-  fcntl (42, 43, 44);
+  int rc;
 
-  return 0;
+  rc = fcntl (42, 43);
+  (void) rc;
+ 
+  rc = fcntl (42, 43, 44);
+
+  return rc;
 }
diff --git a/testsuites/libtests/POSIX/flockfile.c 
b/testsuites/libtests/POSIX/flockfile.c
index 4d1f23e..01e322c 100644
--- a/testsuites/libtests/POSIX/flockfile.c
+++ b/testsuites/libtests/POSIX/flockfile.c
@@ -15,6 +15,7 @@
 int main(void)
 {
   FILE *file = NULL;
+
   flockfile(file);
   return 0;
 }
diff --git a/testsuites/libtests/POSIX/fork.c b/testsuites/libtests/POSIX/fork.c
index d4392be..e6e233f 100644
--- a/testsuites/libtests/POSIX/fork.c
+++ b/testsuites/libtests/POSIX/fork.c
@@ -15,7 +15,9 @@
 int
 main (void)
 {
-  fork ();
+  int rc;
 
-  return 0;
+  rc = fork();
+
+  return rc;
 }
diff --git a/testsuites/libtests/POSIX/free.c b/testsuites/libtests/POSIX/free.c
index 8473084..8550eaa 100644
--- a/testsuites/libtests/POSIX/free.c
+++ b/testsuites/libtests/POSIX/free.c
@@ -12,10 +12,9 @@
 
 #include 
 
-int
-main (void)
+int main (void)
 {
-  free ((void *) 42);
+  free((void *) 42);
 
   return 0;
 }
diff --git a/testsuites/libtests/POSIX/fstat.c 
b/testsuites/libtests/POSIX/fstat.c
index 29c38d6..2798365 100644
--- a/testsuites/libtests/POSIX/fstat.c
+++ b/testsuites/libtests/POSIX/fstat.c
@@ -14,12 +14,13 @@
 #include 
 #include 
 
-int
-main (void)
+int main (void)
 {
   struct stat buf;
   int fd = 42;
-  fstat (fd, );
+  int rc;
 
-  return 0;
+  rc = 

[PATCH 03/10] gen5200/include/tm27.h: Fix prototype warning

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/gen5200/include/tm27.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/bsps/powerpc/gen5200/include/tm27.h 
b/bsps/powerpc/gen5200/include/tm27.h
index ff43cc9..583aaa4 100644
--- a/bsps/powerpc/gen5200/include/tm27.h
+++ b/bsps/powerpc/gen5200/include/tm27.h
@@ -26,14 +26,14 @@
 
 #define MUST_WAIT_FOR_INTERRUPT 1
 
-void nullFunc() {}
+void nullFunc(void) {}
 
 static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
   0,
-  (rtems_irq_enable)nullFunc,
-  (rtems_irq_disable)nullFunc,
+  (rtems_irq_enable) nullFunc,
+  (rtems_irq_disable) nullFunc,
   (rtems_irq_is_enabled) nullFunc};
-void Install_tm27_vector(void (*_handler)())
+static void Install_tm27_vector(void (*_handler)(void))
 {
   clockIrqData.hdl = _handler;
   if (!BSP_install_rtems_irq_handler ()) {
-- 
1.8.3.1

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


[PATCH 04/10] gen83xx/include/tm27.h: Fix prototype warning

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/gen83xx/include/tm27.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bsps/powerpc/gen83xx/include/tm27.h 
b/bsps/powerpc/gen83xx/include/tm27.h
index 2278747..3728e7d 100644
--- a/bsps/powerpc/gen83xx/include/tm27.h
+++ b/bsps/powerpc/gen83xx/include/tm27.h
@@ -38,7 +38,7 @@ static int tm27_exception_handler( BSP_Exception_frame 
*frame, unsigned number)
return 0;
 }
 
-void Install_tm27_vector( void (*handler)(rtems_vector_number))
+static void Install_tm27_vector( void (*handler)(rtems_vector_number))
 {
   int rv = 0;
 
-- 
1.8.3.1

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


[PATCH 07/10] motorola_powerpc/include/tm27.h: Fix prototype warning

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/motorola_powerpc/include/tm27.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/bsps/powerpc/motorola_powerpc/include/tm27.h 
b/bsps/powerpc/motorola_powerpc/include/tm27.h
index 81eb55a..4d616cb 100644
--- a/bsps/powerpc/motorola_powerpc/include/tm27.h
+++ b/bsps/powerpc/motorola_powerpc/include/tm27.h
@@ -25,13 +25,13 @@
 
 #define MUST_WAIT_FOR_INTERRUPT 1
 
-void nullFunc() {}
+void nullFunc(void) {}
 static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
  0,
- (rtems_irq_enable)nullFunc,
- (rtems_irq_disable)nullFunc,
+ (rtems_irq_enable) nullFunc,
+ (rtems_irq_disable) nullFunc,
  (rtems_irq_is_enabled) nullFunc};
-void Install_tm27_vector(void (*_handler)())
+static void Install_tm27_vector(void (*_handler)(void))
 {
   clockIrqData.hdl = _handler;
   if (!BSP_install_rtems_irq_handler ()) {
-- 
1.8.3.1

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


[PATCH 01/10] csb337/include/at91rm9200_dbgu.h: Fix nested comment warning

2018-08-10 Thread Joel Sherrill
---
 bsps/arm/csb337/include/at91rm9200_dbgu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bsps/arm/csb337/include/at91rm9200_dbgu.h 
b/bsps/arm/csb337/include/at91rm9200_dbgu.h
index 9a65483..250e013 100644
--- a/bsps/arm/csb337/include/at91rm9200_dbgu.h
+++ b/bsps/arm/csb337/include/at91rm9200_dbgu.h
@@ -56,7 +56,7 @@
 #define DBGU_INT_RXRDY  BIT0/* RXRDY Interrupt */
 #define DBGU_INT_TXRDY  BIT1/* TXRDY Interrupt */
 #define DBGU_INT_ENDRX  BIT3/* End of Receive Transfer Interrupt */
-/*efine DBGU_INT_ENDTX  BIT4/* End of Transmit Interrupt */
+#define DBGU_INT_ENDTX  BIT4/* End of Transmit Interrupt */
 #define DBGU_INT_OVRE   BIT5/* Overrun Interrupt */
 #define DBGU_INT_FRAME  BIT6/* Framing Error Interrupt */
 #define DBGU_INT_PARE   BIT7/* Parity Error Interrupt */
-- 
1.8.3.1

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


[PATCH 02/10] gen5200/include/bsp/ata.h: Fix warning

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/gen5200/include/bsp/ata.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bsps/powerpc/gen5200/include/bsp/ata.h 
b/bsps/powerpc/gen5200/include/bsp/ata.h
index 3d8ccfc..4b31ade 100644
--- a/bsps/powerpc/gen5200/include/bsp/ata.h
+++ b/bsps/powerpc/gen5200/include/bsp/ata.h
@@ -254,12 +254,14 @@ static inline void ata_driver_lock(const ata_driver *self)
 {
   rtems_status_code sc = rtems_semaphore_obtain(self->lock, RTEMS_WAIT, 
RTEMS_NO_TIMEOUT);
   assert(sc == RTEMS_SUCCESSFUL);
+  (void) sc;
 }
 
 static inline void ata_driver_unlock(const ata_driver *self)
 {
   rtems_status_code sc = rtems_semaphore_release(self->lock);
   assert(sc == RTEMS_SUCCESSFUL);
+  (void) sc;
 }
 
 static inline bool ata_driver_is_card_present(const ata_driver *self)
-- 
1.8.3.1

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


[PATCH 05/10] bsps/powerpc/include/bsp/tictac.h: Fix protototype warnings

2018-08-10 Thread Joel Sherrill
---
 bsps/powerpc/include/bsp/tictac.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/bsps/powerpc/include/bsp/tictac.h 
b/bsps/powerpc/include/bsp/tictac.h
index 31c7386..c8acf98 100644
--- a/bsps/powerpc/include/bsp/tictac.h
+++ b/bsps/powerpc/include/bsp/tictac.h
@@ -22,7 +22,7 @@
 /**
  * @brief Reset reference ticks for tac().
  */
-static inline void tic()
+static inline void tic(void)
 {
uint32_t tmp;
asm volatile (
@@ -35,7 +35,7 @@ static inline void tic()
 /**
  * @brief Returns number of ticks since last tic().
  */
-static inline uint32_t tac()
+static inline uint32_t tac(void)
 {
uint32_t ticks;
uint32_t tmp;
@@ -51,7 +51,7 @@ static inline uint32_t tac()
 /**
  * @brief Reset reference ticks for bam().
  */
-static inline void boom()
+static inline void boom(void)
 {
uint32_t tmp;
asm volatile (
@@ -64,7 +64,7 @@ static inline void boom()
 /**
  * @brief Returns number of ticks since last boom().
  */
-static inline uint32_t bam()
+static inline uint32_t bam(void)
 {
uint32_t ticks;
uint32_t tmp;
-- 
1.8.3.1

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


Re: [PATCH] Rework to minimize and eventually eliminate RTEMS use of bsp_specs

2018-08-10 Thread Joel Sherrill
I am sorry. I will have to dig this up and commit it.

I will try to do this before I leave about lunch.

Looks like we both have work to do before the end of GSoC. :)

--joel

On Fri, Aug 10, 2018 at 6:11 AM, Amaan Cheval 
wrote:

> Hey Joel!
>
> I'm not sure if this ever made it upstream - if it did, could you dig
> the commit up?
>
> I'll leave the x86_64's bsp_specs empty and make the RSB backporting
> patches accordingly. If not, no rush, we should just add a ticket or
> something so as to not lose track of it entirely after GSoC ends.
>
> On Mon, Jul 9, 2018 at 10:30 AM, Amaan Cheval 
> wrote:
> > To make my previous email clearer, here's what I meant with the
> > "minimal" GCC patch required (attached).
> >
> > To manually test, you can place gcc-STARTFILE_SPEC.patch in
> > $RSB/rtems/patches/ and then "git apply rsb-startfile.diff" to the RSB
> > repo. Then build GCC and confirm that "x86_64-rtems5-gcc -dumpspecs"
> > includes crti and crtbegin in the startfile susbtitution.
> >
> > Let me know if we aim to have this GCC work done before merging the
> > x86_64 BSP (see
> > https://lists.rtems.org/pipermail/devel/2018-July/022388.html) so I
> > can leave bsp_specs in or clear it out accordingly?
> >
> > For now, I'm going to leave it in.
> >
> > On Fri, Jul 6, 2018 at 10:46 AM, Amaan Cheval 
> wrote:
> >> Hey, Joel!
> >>
> >> The x86_64 BSP currently uses an empty bsp_specs file contingent on
> >> (at least the x86-64 parts of) this email thread's patch making it
> >> upstream to GCC, and making their way into the RSB.
> >>
> >> 2 options:
> >> - 1. Make the upstream GCC commit (at least the parts adding
> >> rtemself64.h, editing config.gcc, and "#if 0"ing out
> >> gcc/config/rtems.h)
> >> - 2. Use a bsp_specs in the new BSP for the merge now, and empty it out
> later
> >>
> >> I can test and send you an x86_64 specific patch for GCC if you'd
> >> like. Or if you prefer to have all the work together, we can go with
> >> #2.
> >>
> >> Let me know!
> >>
> >> On Sat, May 19, 2018 at 3:17 AM, Joel Sherrill  wrote:
> >>> Thanks. I will try to deal with this Monday.
> >>>
> >>> My specs patches are not ready to push to gcc so I need to focus on
> >>> just the parts to make x86_64 right.
> >>>
> >>> On Fri, May 18, 2018 at 3:41 PM, Amaan Cheval 
> >>> wrote:
> 
>  To be clear, I applied this patch (with my fixes) on the 7.3 release
>  through the RSB to test, not on GCC's master branch.
> 
>  > to add i386/rtemself64.h
> 
>  What you sent in this email thread adds rtemself64.h already. Do you
>  mean you'd like to split the commits up or something?
> 
>  The only changes I made on top of yours were:
> 
>  - Readd "rtems.h" to config.gcc
>  - Fix comments
> 
>  I've attached the patch file I used within the RSB here (sorry if you
>  meant a patch of _just_ the fixes I made on top of yours, this is just
>  the cumulative diff I used to patch GCC 7.3 to test).
> 
>  Regards,
> 
>  On Fri, May 18, 2018 at 7:00 PM, Joel Sherrill 
> wrote:
>  >
>  >
>  >
>  > On Fri, May 18, 2018 at 1:38 AM, Amaan Cheval <
> amaan.che...@gmail.com>
>  > wrote:
>  >>
>  >> I just compiled my local fixed copy (adding rtems.h back in) and
>  >> there's good news! With the patch, the x86_64 compile stub works
> with
>  >> a blank bsp_specs file!
>  >
>  >
>  > Awesome!
>  >
>  > Can you send me your changes as a patch? I am thinking I need to
> make
>  > sure we agree on what the gcc master for x86_64-rtems looks like.
>  >
>  > Apparently I owe committing a patch to add i386/rtemself64.h since
> it is
>  > missing on the master. And the comment is wrong.  What else?
>  >
>  >> On Fri, May 18, 2018 at 12:59 AM, Amaan Cheval <
> amaan.che...@gmail.com>
>  >> wrote:
>  >> > Hey!
>  >> >
>  >> > Thanks so much for sharing this, it's quite useful to put your
>  >> > earlier
>  >> > email[1] about minimzing the bsp_specs in context.
>  >> >
>  >> > From looking ahead a bit without testing (still compiling), the
> patch
>  >> > may need an ENDFILE_SPEC definition as well for "crtend.o" (it
>  >> > defines
>  >> > __TMC_END__ which crtbegin.o has left undefined for eg.) and
> possibly
>  >> > "crtn.o", at least to eliminate the x86_64 port's bsp_specs
> entirely
>  >> > (see here[2]).
>  >>
>  >> Just noticed that ENDFILE_SPEC already includes crtend in
> i386elf.h,
>  >> so there's no need for this change.
>  >>
>  >> >
>  >> > I've also left some comments inline below.
>  >> >
>  >> > +1 on upstreaming this into GCC (making sure it also backports
> to 7.3
>  >> > for simplicity, so we don't need to write a 7.3-specific patch
> for
>  >> > the
>  >> > RSB as well) with a few additons (at least for the x86_64
> target, to
>  >> > try to have an empty bsp_specs to begin with).
> 

Re: [PATCH] Rework to minimize and eventually eliminate RTEMS use of bsp_specs

2018-08-10 Thread Amaan Cheval
Hey Joel!

I'm not sure if this ever made it upstream - if it did, could you dig
the commit up?

I'll leave the x86_64's bsp_specs empty and make the RSB backporting
patches accordingly. If not, no rush, we should just add a ticket or
something so as to not lose track of it entirely after GSoC ends.

On Mon, Jul 9, 2018 at 10:30 AM, Amaan Cheval  wrote:
> To make my previous email clearer, here's what I meant with the
> "minimal" GCC patch required (attached).
>
> To manually test, you can place gcc-STARTFILE_SPEC.patch in
> $RSB/rtems/patches/ and then "git apply rsb-startfile.diff" to the RSB
> repo. Then build GCC and confirm that "x86_64-rtems5-gcc -dumpspecs"
> includes crti and crtbegin in the startfile susbtitution.
>
> Let me know if we aim to have this GCC work done before merging the
> x86_64 BSP (see
> https://lists.rtems.org/pipermail/devel/2018-July/022388.html) so I
> can leave bsp_specs in or clear it out accordingly?
>
> For now, I'm going to leave it in.
>
> On Fri, Jul 6, 2018 at 10:46 AM, Amaan Cheval  wrote:
>> Hey, Joel!
>>
>> The x86_64 BSP currently uses an empty bsp_specs file contingent on
>> (at least the x86-64 parts of) this email thread's patch making it
>> upstream to GCC, and making their way into the RSB.
>>
>> 2 options:
>> - 1. Make the upstream GCC commit (at least the parts adding
>> rtemself64.h, editing config.gcc, and "#if 0"ing out
>> gcc/config/rtems.h)
>> - 2. Use a bsp_specs in the new BSP for the merge now, and empty it out later
>>
>> I can test and send you an x86_64 specific patch for GCC if you'd
>> like. Or if you prefer to have all the work together, we can go with
>> #2.
>>
>> Let me know!
>>
>> On Sat, May 19, 2018 at 3:17 AM, Joel Sherrill  wrote:
>>> Thanks. I will try to deal with this Monday.
>>>
>>> My specs patches are not ready to push to gcc so I need to focus on
>>> just the parts to make x86_64 right.
>>>
>>> On Fri, May 18, 2018 at 3:41 PM, Amaan Cheval 
>>> wrote:

 To be clear, I applied this patch (with my fixes) on the 7.3 release
 through the RSB to test, not on GCC's master branch.

 > to add i386/rtemself64.h

 What you sent in this email thread adds rtemself64.h already. Do you
 mean you'd like to split the commits up or something?

 The only changes I made on top of yours were:

 - Readd "rtems.h" to config.gcc
 - Fix comments

 I've attached the patch file I used within the RSB here (sorry if you
 meant a patch of _just_ the fixes I made on top of yours, this is just
 the cumulative diff I used to patch GCC 7.3 to test).

 Regards,

 On Fri, May 18, 2018 at 7:00 PM, Joel Sherrill  wrote:
 >
 >
 >
 > On Fri, May 18, 2018 at 1:38 AM, Amaan Cheval 
 > wrote:
 >>
 >> I just compiled my local fixed copy (adding rtems.h back in) and
 >> there's good news! With the patch, the x86_64 compile stub works with
 >> a blank bsp_specs file!
 >
 >
 > Awesome!
 >
 > Can you send me your changes as a patch? I am thinking I need to make
 > sure we agree on what the gcc master for x86_64-rtems looks like.
 >
 > Apparently I owe committing a patch to add i386/rtemself64.h since it is
 > missing on the master. And the comment is wrong.  What else?
 >
 >> On Fri, May 18, 2018 at 12:59 AM, Amaan Cheval 
 >> wrote:
 >> > Hey!
 >> >
 >> > Thanks so much for sharing this, it's quite useful to put your
 >> > earlier
 >> > email[1] about minimzing the bsp_specs in context.
 >> >
 >> > From looking ahead a bit without testing (still compiling), the patch
 >> > may need an ENDFILE_SPEC definition as well for "crtend.o" (it
 >> > defines
 >> > __TMC_END__ which crtbegin.o has left undefined for eg.) and possibly
 >> > "crtn.o", at least to eliminate the x86_64 port's bsp_specs entirely
 >> > (see here[2]).
 >>
 >> Just noticed that ENDFILE_SPEC already includes crtend in i386elf.h,
 >> so there's no need for this change.
 >>
 >> >
 >> > I've also left some comments inline below.
 >> >
 >> > +1 on upstreaming this into GCC (making sure it also backports to 7.3
 >> > for simplicity, so we don't need to write a 7.3-specific patch for
 >> > the
 >> > RSB as well) with a few additons (at least for the x86_64 target, to
 >> > try to have an empty bsp_specs to begin with).
 >> >
 >> > [1] https://lists.rtems.org/pipermail/devel/2018-May/021430.html
 >> > [2]
 >> >
 >> > https://github.com/AmaanC/rtems-gsoc18/blob/ac/daily-01-compile-stub/bsps/x86_64/amd64/start/bsp_specs
 >> >
 >> > On Wed, May 16, 2018 at 8:46 PM, Joel Sherrill 
 >> > wrote:
 >> >> ---
 >> >>  gcc/config.gcc|  2 +-
 >> >>  gcc/config/arm/rtems.h|  4 
 >> >>  gcc/config/bfin/rtems.h   |  4 
 >> >>  gcc/config/i386/rtemself.h|  6 +-
 >> >>  

[PATCH] cpu-supplement: Remove empty command/vars chapter

2018-08-10 Thread Sebastian Huber
Close #3498.
---
 cpu-supplement/command.rst | 8 
 cpu-supplement/index.rst   | 1 -
 2 files changed, 9 deletions(-)
 delete mode 100644 cpu-supplement/command.rst

diff --git a/cpu-supplement/command.rst b/cpu-supplement/command.rst
deleted file mode 100644
index 45714c9..000
--- a/cpu-supplement/command.rst
+++ /dev/null
@@ -1,8 +0,0 @@
-.. comment SPDX-License-Identifier: CC-BY-SA-4.0
-
-Command and Variable Index
-**
-
-There are currently no Command and Variable Index entries.
-
-.. COMMENT: @printindex fn
diff --git a/cpu-supplement/index.rst b/cpu-supplement/index.rst
index 1d810a2..d13992d 100644
--- a/cpu-supplement/index.rst
+++ b/cpu-supplement/index.rst
@@ -60,7 +60,6 @@ to the Community Project hosted at http://www.rtems.org/.
superh
sparc
sparc64
-   command
zreferences
 
 genindex
-- 
2.13.7

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


[PATCH] score: Do not inline _Thread_Dispatch_enable()

2018-08-10 Thread Sebastian Huber
This function is slighly too complex for inlining with two if
statements.  The caller already needs a stack frame due to the potential
call to _Thread_Do_dispatch().  In _Thread_Dispatch_enable() the call to
_Thread_Do_dispatch() can be optimized to a tail call.

A text size comparision

  (text size after patch - text size before patch)
   / text size before patch

on sparc/erc32 with SMP enabled showed these results:

  Minimum -0.000697892 (fsdosfsname01.exe)
  Median -0.00745021 (psxtimes01.exe)
  Maximum -0.0233032 (spscheduler01.exe)

A text size comparision

  text size after patch - text size before patch

on sparc/erc32 with SMP enabled showed these results:

  Minimum -3312 (ada_sp09.exe)
  Median -1024 (tm15.exe)
  Maximum -592 (spglobalcon01.exe)
---
 cpukit/include/rtems/score/threaddispatch.h | 29 ++---
 cpukit/score/src/threaddispatch.c   | 27 +++
 2 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/cpukit/include/rtems/score/threaddispatch.h 
b/cpukit/include/rtems/score/threaddispatch.h
index 69696f4044..f5d5c48035 100644
--- a/cpukit/include/rtems/score/threaddispatch.h
+++ b/cpukit/include/rtems/score/threaddispatch.h
@@ -205,36 +205,11 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control 
*_Thread_Dispatch_disable( void )
 /**
  * @brief Enables thread dispatching.
  *
- * May perfrom a thread dispatch if necessary as a side-effect.
+ * May perform a thread dispatch if necessary as a side-effect.
  *
  * @param[in] cpu_self The current processor.
  */
-RTEMS_INLINE_ROUTINE void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
-{
-  uint32_t disable_level = cpu_self->thread_dispatch_disable_level;
-
-  if ( disable_level == 1 ) {
-ISR_Level level;
-
-_ISR_Local_disable( level );
-
-if (
-  cpu_self->dispatch_necessary
-#if defined(RTEMS_SCORE_ROBUST_THREAD_DISPATCH)
-|| !_ISR_Is_enabled( level )
-#endif
-) {
-  _Thread_Do_dispatch( cpu_self, level );
-} else {
-  cpu_self->thread_dispatch_disable_level = 0;
-  _Profiling_Thread_dispatch_enable( cpu_self, 0 );
-  _ISR_Local_enable( level );
-}
-  } else {
-_Assert( disable_level > 0 );
-cpu_self->thread_dispatch_disable_level = disable_level - 1;
-  }
-}
+void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self );
 
 /**
  * @brief Unnests thread dispatching.
diff --git a/cpukit/score/src/threaddispatch.c 
b/cpukit/score/src/threaddispatch.c
index 9cd1e294ed..d6207bc898 100644
--- a/cpukit/score/src/threaddispatch.c
+++ b/cpukit/score/src/threaddispatch.c
@@ -267,3 +267,30 @@ void _Thread_Dispatch_direct( Per_CPU_Control *cpu_self )
   _ISR_Local_disable( level );
   _Thread_Do_dispatch( cpu_self, level );
 }
+
+void _Thread_Dispatch_enable( Per_CPU_Control *cpu_self )
+{
+  uint32_t disable_level = cpu_self->thread_dispatch_disable_level;
+
+  if ( disable_level == 1 ) {
+ISR_Level level;
+
+_ISR_Local_disable( level );
+
+if (
+  cpu_self->dispatch_necessary
+#if defined(RTEMS_SCORE_ROBUST_THREAD_DISPATCH)
+|| !_ISR_Is_enabled( level )
+#endif
+) {
+  _Thread_Do_dispatch( cpu_self, level );
+} else {
+  cpu_self->thread_dispatch_disable_level = 0;
+  _Profiling_Thread_dispatch_enable( cpu_self, 0 );
+  _ISR_Local_enable( level );
+}
+  } else {
+_Assert( disable_level > 0 );
+cpu_self->thread_dispatch_disable_level = disable_level - 1;
+  }
+}
-- 
2.13.7

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


Re: Tickets: Milestone vs. Version

2018-08-10 Thread Chris Johns
On 10/08/2018 15:41, Sebastian Huber wrote:
> On 10/08/18 07:38, Chris Johns wrote:
>> On 10/08/2018 15:03, Sebastian Huber wrote:
>>> we want a ticket for each milestone in which it is resolved. What is now the
>>> meaning of the version field?
>>>
>> A ticket may be assigned to a branch but not a milestone. Milestones lets us
>> select which tickets we fix on branch. Once all tickets on a milestone are
>> closed the release can be made.
>>
>> We do not work that way at the moment. I use the milestones when making 
>> releases
>> to move tickets scheduled for a release that are not closed to the next 
>> release.
> 
> This doesn't explain the version field. Is version the same as branch from 
> your
> point of view?
> 

The branch is the version of RTEMS released from that branch. In trac it is
called version, ie 4.11, 4.10, 5 etc. The term version is more accurate, the use
of branch is actually a VC implementation detail.

I think https://devel.rtems.org/wiki/Developer/Release could do with some work.
May be the following from
https://devel.rtems.org/wiki/Developer/Release#ReleaseTerminology should be ...

Release Terminology

- A release is the creation of any generated files and their packaging together
with the source in a repository that makes the package available as a file.
- A release branch is a git branch pushed to the repositories used to create
release. There is a release branch for each version of RTEMS.
- A release is a git tag on a release branch with the tags pushed to the
repositories.

?

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