Commit Graph

642 Commits

Author SHA1 Message Date
Sebastian Huber
27de4e1fb8 bsps: Move libchip to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-04 10:13:28 +02:00
Sebastian Huber
2d0bc839ed build: Remove EXTRA_DIST
A "make dist" is not supported. So, it makes no sense to have pure "make
dist" related stuff in the Makefile.am.
2018-04-04 10:09:04 +02:00
Sebastian Huber
28a6bb89fb mpci: Avoid use of RTEMS_RELLDFLAGS 2018-03-22 08:39:08 +01:00
Sebastian Huber
d8d6a08d46 bsps: Move network define to source files
Define __INSIDE_RTEMS_BSD_TCPIP_STACK__ in the network interface driver
source files to avoid some build system magic.
2018-01-31 11:18:17 +01:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
17fd0ff0cd bsps: Move wd80x3.h to libchip/wd80x3.h
This header is used also by the motorola_powerpc BSP.

Update #3254.
2018-01-22 07:17:41 +01:00
Sebastian Huber
4b1243666b libchip: Use public include path
Update #3254.
2018-01-15 07:22:29 +01:00
Chris Johns
230acc55a6 libchip: Use public include path
Update #3254.
2018-01-04 11:54:36 +01:00
Sebastian Huber
67015b617e dev/serial: Lazy update of NS16550 settings
Updates of the line control and baud divisor while transfers are in
progress may lead to unpredictable behaviour on some chips. Perform the
updates only if necessary.

Close #3198.
2017-10-18 07:21:54 +02:00
Sebastian Huber
910adc3e83 bsps: Fix integer to/from pointer warnings
Update #3082.
2017-09-28 13:18:35 +02:00
Daniel Hellstrom
1ccce05337 libchip,greth: disable driver if SMP kernel
Update #2355
2017-08-29 08:44:05 +02:00
Sebastian Huber
5e1a831e2b libchip/serial: Fix integer types
Update #3082.
2017-08-22 14:18:59 +02:00
Sebastian Huber
b98e407f63 libchip/ata: Fix integer to/from pointer
Update #3082.
2017-08-22 14:18:58 +02:00
Sebastian Huber
734444ce62 libchip: Fix format warning 2017-07-19 14:38:00 +02:00
Sebastian Huber
3f884b455f bsp: Fixes due to header file changes
Update #2833.
2017-06-13 11:38:39 +02:00
Sebastian Huber
6081ef31ae if_fxp: Include missing <inttypes.h>
Fix format warnings.
2017-06-09 07:54:45 +02:00
Sebastian Huber
787f51f5b3 Do not include <sys/ioctl.h> in kernel-space
Update #2833.
2017-06-07 13:02:08 +02:00
Sebastian Huber
93531e9b08 Move RTEMS-specific Termios API content
Remove obsolete support for OFILL, OFDEL, NLDLY, CRDLY, BSDLY, VTDLY,
and FFDLY which is not present on FreeBSD and not implemented in Linux.

Update #2833.
2017-06-07 12:57:39 +02:00
Sebastian Huber
cf54965493 network: Include missing <inttypes.h>
Update #2833.
2017-06-07 07:44:12 +02:00
Phong Pham
f219adc3f8 missing a couple register names + a #ifndef_ASM__ around serial.h inclusion
Closes #3016.
2017-05-13 22:50:39 -05:00
Joel Sherrill
8ed5889f87 elnk.c: Fix printf() format warnings 2017-04-20 20:52:09 -05:00
Joel Sherrill
9f55bfb575 elnk.c: rtems_elnk_driver_attach() prototype added 2017-04-20 20:49:07 -05:00
Joel Sherrill
814bd02584 elnk.c: Make elnk_txDaemon() static to fix warning 2017-04-20 20:47:34 -05:00
Joel Sherrill
84776524e0 if_fxp.c: Add prototype of rtems_fxp_attach() 2017-04-20 20:44:49 -05:00
Joel Sherrill
169d6f6e55 if_fxp.c: Remove unused variable 2017-04-20 20:43:04 -05:00
Joel Sherrill
fc91f517e7 dec21140.c: Add prototype of dec21140_txDaemon() 2017-04-20 20:40:51 -05:00
Joel Sherrill
5ce048968e dec21140.c: Fix printk() warnings 2017-04-20 20:38:42 -05:00
Joel Sherrill
40d0a46874 dec21140.c: Include <libcpu/page.h> to eliminate warnings 2017-04-20 20:36:49 -05:00
Joel Sherrill
bedd927211 dec21140.c: Fix PRIxx formatter 2017-04-20 20:27:56 -05:00
Cillian O'Donnell
52597b96ae libchip/network/dec21140.c: Use inttypes.h to fix 1 warning. 2017-04-14 13:01:13 -05:00
Sebastian Huber
1301468b5a bsps: Fix baud settings
Update #2897.
2017-04-03 14:07:58 +02:00
Kevin Kirspel
1c6926c11f termios: Synchronize with latest FreeBSD headers
Adding modified FreeBSD headers to synchronize RTEMS termios with
FreeBSD.  Modify termios to support dedicated input and output baud for
termios structure.  Updated BSPs to use dedicated input and output baud
in termios structure.  Updated tools to use dedicated input and output
baud in termios structure.  Updated termios testsuites to use dedicated
input and output baud in termios structure.

Close #2897.
2017-03-22 11:55:04 +01:00
Joel Sherrill
17d1aa7cc0 libchip/serial/mc68681.c: Add error check
This was spotted by Coverity Scan.
2017-03-14 12:02:08 -05:00
Sebastian Huber
2711914f82 Use <sys/endian.h>
Update #2803.
2017-01-24 08:39:22 +01:00
Sebastian Huber
7fbd72cb00 libchip: Really fix high capacity detection
Update #2239.
2017-01-20 15:29:00 +01:00
Sebastian Huber
6a9282d9bb Rename is_internal to always_set_to_false
Update #2825.
2016-12-12 08:03:14 +01:00
Pavel Pisa
dfcec5595f libchip/network/if_fxp.c: do not use rtems_interrupt_disable.
The single write to memory or ioport output are mostly
atomic operations already. The proper memory synchronization barrier
should be used around them to guarantee ordering (sync or eieio
on PowerPC for example) but because I have not found settable
portable primitive only compiler barrier is used.
It should be enough on x86 because the externally visible order
should be/is guaranteed to be preserved on x86 architecture.
2016-10-17 09:41:58 +02:00
Pavel Pisa
4d3c866aec classic networking: adapt FXP driver to work with actual PCI and IRQ code.
Tested to work with QEMU provided Intel i82557b network controller emulation.

qemu-system-x86_64 -enable-kvm -kernel $APP_BINARY \
      -vga cirrus \
      -append "--console=/dev/com1" \
      -serial stdio \
      -net nic,vlan=1,macaddr=be:be:be:10:00:01,model=i82557b \
      -net tap,ifname=tap1,vlan=1,script=no,downscript=no
2016-09-21 10:24:59 +02:00
Pavel Pisa
8c83cbcc96 classic networking: do not reference BSP_irq_enabled_at_i8259s which is no more available on i386.
This change is required to build RTEMS with classic "--enable-networking"
and link applications/tests which reference RTEMS_BSP_NETWORK_DRIVER_ATTACH.
2016-09-20 22:45:16 +02:00
Sebastian Huber
ede1a4182d Make rtems/print.h independent of rtems/bspIo.h 2016-06-22 07:29:26 +02:00
Sebastian Huber
16706b723f bsps: Fix printk() format warning 2016-06-17 08:07:14 +02:00
Sebastian Huber
305231bd3c bsps: Fix MPCI_Fatal() prototype
Close #2742.
2016-06-17 08:04:25 +02:00
Joel Sherrill
381b120acc libchip/shmdr/send.c: Fix warning and clean up 2016-06-16 09:03:22 -05:00
Joel Sherrill
82cb100aba libchip/shmdr/poll.c: Fix warning and clean up 2016-06-16 09:03:22 -05:00
Sebastian Huber
dd2c57d40b libchip: Remove dwmac network interface driver
The network interface driver for this module is located in the new
network stack (libbsd), see file "if_dwc.c".
2016-05-31 10:25:25 +02:00
Sebastian Huber
2471316321 score: Rename _ISR_Disable() and _ISR_Enable()
Rename _ISR_Disable() into _ISR_Local_disable().  Rename _ISR_Enable()
into _ISR_Local_enable().  Remove _Debug_Is_owner_of_giant().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:37 +02:00
Chris Johns
8ce75671eb ibchip/ns16550: Minor optimisation. 2016-05-11 11:45:01 +10:00
Martin Galvan
b4d7d5d52e sonic.c: Fix warning on gcc 6
GCC 6.0 previews give the following warning on sonic.c:

../../../../../rtems/c/src/libchip/network/sonic.c:837:11: warning:
statement is indented as if it were guarded by... [-Wmisleading-indentation]

This was discussed here:

https://lists.rtems.org/pipermail/devel/2016-March/014004.html

and we concluded it would be better to rewrite the entire snippet.
2016-05-06 17:08:47 -03:00
Joel Sherrill
12c9dc8ff5 pc386: Eliminate pcibios.h and begin removal obsolete PCI BIOS API uses
This first step eliminates the following as public APIs for the pc386
BSP:

  + pcib_conf_read8
  + pcib_conf_read16
  + pcib_conf_read32
  + pcib_conf_write8
  + pcib_conf_write16
  + pcib_conf_write32

The if_fxp.c driver uses these enough where I provided local macros
to allow the code to be mostly unmodified. On other architectures
these names have been used privately. It will take multiple patches
to completely eliminate these symbols from the RTEMS source tree.

The focus of the first effort is just to eliminate these as a public
pc386 API so support can be added for systems without legacy PCI BIOS.
2016-03-10 10:26:48 -06:00
Joel Sherrill
be277dd8e0 libchip/network/if_fxp.c: Do not use rtems_clock_get() 2015-03-17 10:05:06 -05:00