Re: [RTEMS Project] #4021: PowerPC for libbsd does not build

2020-08-11 Thread RTEMS trac
#4021: PowerPC for libbsd does not build
+-
 Reporter:  Chris Johns |   Owner:  Chris Johns 
 Type:  defect  |  Status:  closed
 Priority:  high|   Milestone:  5.1
Component:  network/libbsd  | Version:  5
 Severity:  blocker |  Resolution:  fixed
 Keywords:  |  Blocked By:
 Blocking:  |
+-
Changes (by Chris Johns ):

 * owner:  (none) => Chris Johns 
 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"5284e812e2c82466b3f3a21e494310d8cb69c7cd/rtems"
 5284e812/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="5284e812e2c82466b3f3a21e494310d8cb69c7cd"
 powerpc/io: The eieio() function clashes with FreeBSD. Change.

 Closes #4021
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #4021: PowerPC for libbsd does not build

2020-07-27 Thread RTEMS trac
#4021: PowerPC for libbsd does not build
+-
 Reporter:  Chris Johns |   Owner:  (none)
 Type:  defect  |  Status:  new
 Priority:  high|   Milestone:  5.1
Component:  network/libbsd  | Version:  5
 Severity:  blocker |  Resolution:
 Keywords:  |  Blocked By:
 Blocking:  |
+-

Comment (by Chris Johns):

 Replying to [comment:3 Sebastian Huber]:
 > The "memory" clobber is important. Without it this instruction makes
 little sense.

 OK. I will add it.

 > I think the real issue is the  includes .
 >
 > We also have an ppc_enforce_in_order_execution_of_io() in .

 There are a number of `eieio` instructions in various pieces of code. I
 have renamed the function in `io.h` and LibBSD builds. Given this is for a
 release I am looking to only make small changes.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #4021: PowerPC for libbsd does not build

2020-07-26 Thread RTEMS trac
#4021: PowerPC for libbsd does not build
+-
 Reporter:  Chris Johns |   Owner:  (none)
 Type:  defect  |  Status:  new
 Priority:  high|   Milestone:  5.1
Component:  network/libbsd  | Version:  5
 Severity:  blocker |  Resolution:
 Keywords:  |  Blocked By:
 Blocking:  |
+-

Comment (by Sebastian Huber):

 The "memory" clobber is important. Without it this instruction makes
 little sense.

 I think the real issue is the  includes .

 We also have an ppc_enforce_in_order_execution_of_io() in .

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #4021: PowerPC for libbsd does not build

2020-07-24 Thread RTEMS trac
#4021: PowerPC for libbsd does not build
+-
 Reporter:  Chris Johns |   Owner:  (none)
 Type:  defect  |  Status:  new
 Priority:  high|   Milestone:  5.1
Component:  network/libbsd  | Version:  5
 Severity:  blocker |  Resolution:
 Keywords:  |  Blocked By:
 Blocking:  |
+-

Comment (by Chris Johns):

 There ae a number of version of `eieio` in RTEMS. The implementation in
 `io.h` is:
 {{{
 __asm__ __volatile__ ("eieio");
 }}}
 and the FreeBSD is:
 {{{
  __asm __volatile ("eieio" : : : "memory");
 }}}
 I am not sure about the specifics of needing the memory constrain but I
 wonder if it is something we should do? I do not know the PowerPC well
 enough to know the effect of having `memory` as a constraint.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #4021: PowerPC for libbsd does not build

2020-06-30 Thread RTEMS trac
#4021: PowerPC for libbsd does not build
+-
 Reporter:  Chris Johns |   Owner:  (none)
 Type:  defect  |  Status:  new
 Priority:  high|   Milestone:  5.1
Component:  network/libbsd  | Version:  5
 Severity:  blocker |  Resolution:
 Keywords:  |  Blocked By:
 Blocking:  |
+-
Description changed by Chris Johns:

Old description:

> Building a kernel and libbsd for the `--with-rtems-bsp=mvme3100` libbsd
> fails with:
> {{{
> In file included from /build/rtems/releases/build/5.1.0-rc1/install
> /powerpc-rtems5/mvme3100/lib/include/bsp.h:27:0,
>  from ../../rtemsbsd/include/rtems/bsd/local/opt_usb.h:2,
>  from ../../freebsd/sys/dev/usb/usb.h:46,
>  from ../../freebsd/sys/dev/usb/usb_busdma.c:53:
> /build/rtems/releases/build/5.1.0-rc1/install/powerpc-
> rtems5/mvme3100/lib/include/libcpu/io.h:53:20: error: redefinition of
> 'eieio'
>  static inline void eieio(void)
> ^
> In file included from ../../freebsd/sys/sys/systm.h:45:0,
>  from ../../freebsd/sys/dev/usb/usb_busdma.c:39:
> ../../freebsd/sys/powerpc/include/machine/cpufunc.h:168:1: note: previous
> definition of 'eieio' was here
>  eieio(void)
>  ^
>
> In file included from ../../freebsd/sys/sys/systm.h:45:0,
>  from ../../rtemsbsd/sys/arm/at91/at91_mci.c:38:
> ../../freebsd/sys/powerpc/include/machine/cpufunc.h:168:1: error:
> redefinition of 'eieio'
>  eieio(void)
>  ^
> In file included from /build/rtems/releases/build/5.1.0-rc1/install
> /powerpc-rtems5/mvme3100/lib/include/bsp.h:27:0,
>  from /build/rtems/releases/build/5.1.0-rc1/install
> /powerpc-rtems5/mvme3100/lib/include/bsp/fdt.h:18,
>  from
> ../../rtemsbsd/include/rtems/bsd/local/opt_platform.h:1,
>  from ../../rtemsbsd/sys/arm/at91/at91_mci.c:32:
> /build/rtems/releases/build/5.1.0-rc1/install/powerpc-
> rtems5/mvme3100/lib/include/libcpu/io.h:53:20: note: previous definition
> of 'eieio' was here
>  static inline void eieio(void)
> ^
> }}}

New description:

 Building a kernel and libbsd for the `--with-rtems-bsp=mvme3100` libbsd
 fails with:
 {{{
 In file included from /build/rtems/releases/build/5.1.0-rc1/install
 /powerpc-rtems5/mvme3100/lib/include/bsp.h:27:0,
  from ../../rtemsbsd/include/rtems/bsd/local/opt_usb.h:2,
  from ../../freebsd/sys/dev/usb/usb.h:46,
  from ../../freebsd/sys/dev/usb/usb_busdma.c:53:
 /build/rtems/releases/build/5.1.0-rc1/install/powerpc-
 rtems5/mvme3100/lib/include/libcpu/io.h:53:20: error: redefinition of
 'eieio'
  static inline void eieio(void)
 ^
 In file included from ../../freebsd/sys/sys/systm.h:45:0,
  from ../../freebsd/sys/dev/usb/usb_busdma.c:39:
 ../../freebsd/sys/powerpc/include/machine/cpufunc.h:168:1: note: previous
 definition of 'eieio' was here
  eieio(void)
  ^

 In file included from ../../freebsd/sys/sys/systm.h:45:0,
  from ../../rtemsbsd/sys/arm/at91/at91_mci.c:38:
 ../../freebsd/sys/powerpc/include/machine/cpufunc.h:168:1: error:
 redefinition of 'eieio'
  eieio(void)
  ^
 In file included from /build/rtems/releases/build/5.1.0-rc1/install
 /powerpc-rtems5/mvme3100/lib/include/bsp.h:27:0,
  from /build/rtems/releases/build/5.1.0-rc1/install
 /powerpc-rtems5/mvme3100/lib/include/bsp/fdt.h:18,
  from
 ../../rtemsbsd/include/rtems/bsd/local/opt_platform.h:1,
  from ../../rtemsbsd/sys/arm/at91/at91_mci.c:32:
 /build/rtems/releases/build/5.1.0-rc1/install/powerpc-
 rtems5/mvme3100/lib/include/libcpu/io.h:53:20: note: previous definition
 of 'eieio' was here
  static inline void eieio(void)
 ^
 }}}
 This is using `5.1.0-rc1`.

--

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs