Commit Graph

29283 Commits

Author SHA1 Message Date
Joel Sherrill
8467c315e2 atsamv-testsuite.tcfg: new file] 2016-03-10 18:07:29 -06:00
Joel Sherrill
4e059db8cc arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support.
updates #2577.

For the lpc17xx_ea_ram BSP variant:

The size of the sample executables without this option were:

   text	   data	    bss	    	  dec	    	  hex	filename
   63646   1724	33554592	33619962	200fffa	ticker.exe
   21634   1088	33597216	33619938	200ffe2	minimum.exe
  549386   2004	33068544	33619934	200ffde	cxx_iostream.exe
  392562   5800	33221600	33619962	200fffa	fileio.exe
  299662  12616	33307680	33619958	200fff6	pppd.exe
  133838   2360	33483744	33619942	200ffe6	capture.exe
   75020   1812	33543104	33619936	200ffe0	nsecs.exe
  125706   2100	33492160	33619966	200fffe	paranoia.exe
  127758   1748	33490432	33619938	200ffe2	cdtest.exe
   61686   1724	33556544	33619954	200fff2	base_sp.exe
   63370   1748	33554848	33619966	200fffe	unlimited.exe
   71414   1692	33546848	33619954	200fff2	hello.exe
  180698   6500	33432768	33619966	200fffe	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  58982	   1712	33559264	33619958	200fff6	ticker.exe
  13818	    280	33605856	33619954	200fff2	minimum.exe
 336134	   1960	33281856	33619950	200ffee	cxx_iostream.exe
 380810	   5788	33233344	33619942	200ffe6	fileio.exe
 277010	  12464	33330464	33619938	200ffe2	pppd.exe
 127358	   2340	33490240	33619938	200ffe2	capture.exe
  70672	   1800	33547488	33619960	200fff8	nsecs.exe
 120746	   2088	33497120	33619954	200fff2	paranoia.exe
 121282	   1736	33496928	33619946	200ffea	cdtest.exe
  56902	   1712	33561344	33619958	200fff6	base_sp.exe
  57346	   1712	33560896	33619954	200fff2	unlimited.exe
  65078	   1640	33553216	33619934	200ffde	hello.exe
 166730	   6400	33446816	33619946	200ffea	loopback.exe

For the lpc17xx_ea_rom_int BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  63814	   1724	33557096	33622634	2010a6a	ticker.exe
  21802	   1088	33557704	33580594	2006632	minimum.exe
 392734	   5800	33553064	33951598	2060f6e	fileio.exe
 299830	  12616	33546504	33858950	204a586	pppd.exe
 134006	   2360	33556488	33692854	2021cb6	capture.exe
  75188	   1812	33557000	33634000	20136d0	nsecs.exe
 125874	   2100	33556712	33684686	201fcce	paranoia.exe
 127926	   1748	33557096	33686770	20204f2	cdtest.exe
  61854	   1724	33557096	33620674	20102c2	base_sp.exe
  63538	   1748	33557064	33622350	201094e	unlimited.exe
  71582	   1692	33557128	33630402	20128c2	hello.exe
 180866	   6500	33552616	33739982	202d4ce	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59150	   1712	33557096	33617958	200f826	ticker.exe
  13986	    280	33558504	33572770	20047a2	minimum.exe
 336302	   1960	33556904	33895166	20532fe	cxx_iostream.exe
 380982	   5788	33553064	33939834	205e17a	fileio.exe
 277178	  12464	33546632	33836274	2044cf2	pppd.exe
 127526	   2340	33556488	33686354	2020352	capture.exe
  70840	   1800	33557000	33629640	20125c8	nsecs.exe
 120914	   2088	33556712	33679714	201e962	paranoia.exe
 121450	   1736	33557096	33680282	201eb9a	cdtest.exe
  57070	   1712	33557096	33615878	200f006	base_sp.exe
  57514	   1712	33557096	33616322	200f1c2	unlimited.exe
  65246	   1640	33557160	33624046	2010fee	hello.exe
 166898	   6400	33552712	33726010	2029e3a	loopback.exe

For the lpc17xx_plx800_ram BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    dec	    hex	filename
  63802	   1820	33554336	33619958	200fff6	ticker.exe
  21630	   1088	33597216	33619934	200ffde	minimum.exe
 549534	   2100	33068320	33619954	200fff2	cxx_iostream.exe
 392722	   5896	33221344	33619962	200fffa	fileio.exe
 299802	  12712	33307424	33619938	200ffe2	pppd.exe
 134002	   2456	33483488	33619946	200ffea	capture.exe
  75176	   1908	33542848	33619932	200ffdc	nsecs.exe
 125862	   2196	33491904	33619962	200fffa	paranoia.exe
 127922	   1844	33490176	33619942	200ffe6	cdtest.exe
  61850	   1820	33556288	33619958	200fff6	base_sp.exe
  63518	   1844	33554592	33619954	200fff2	unlimited.exe
  71562	   1788	33546592	33619942	200ffe6	hello.exe
 180854	   6596	33432512	33619962	200fffa	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59274	   1808	33558848	33619930	200ffda	ticker.exe
  13814	    280	33605856	33619950	200ffee	minimum.exe
 336418	   2056	33281472	33619946	200ffea	cxx_iostream.exe
 381106	   5884	33232960	33619950	200ffee	fileio.exe
 277294	  12560	33330080	33619934	200ffde	pppd.exe
 127642	   2436	33489856	33619934	200ffde	capture.exe
  70964	   1896	33547072	33619932	200ffdc	nsecs.exe
 121038	   2184	33496736	33619958	200fff6	paranoia.exe
 121566	   1832	33496544	33619942	200ffe6	cdtest.exe
  57194	   1808	33560928	33619930	200ffda	base_sp.exe
  57622	   1808	33560512	33619942	200ffe6	unlimited.exe
  65362	   1736	33552832	33619930	200ffda	hello.exe
 167022	   6496	33446432	33619950	200ffee	loopback.exe

For the lpc17xx_plx800_rom_int BSP variant:

The size of the sample executables without this option enabled were:

   text	   data	    bss	    dec	    hex	filename
  64010	   1820	33618208	33684038	201fa46	ticker.exe
  21838	   1088	33618912	33641838	201556e	minimum.exe
 392934	   5896	33614176	34013006	206ff4e	fileio.exe
 300010	  12712	33607616	33920338	2059552	pppd.exe
 134210	   2456	33617600	33754266	2030c9a	capture.exe
  75384	   1908	33618112	33695404	20226ac	nsecs.exe
 126070	   2196	33617824	33746090	202ecaa	paranoia.exe
 128130	   1844	33618208	33748182	202f4d6	cdtest.exe
  62058	   1820	33618208	33682086	201f2a6	base_sp.exe
  63726	   1844	33618176	33683746	201f922	unlimited.exe
  71770	   1788	33618240	33691798	2021896	hello.exe
 181062	   6596	33613728	33801386	203c4aa	loopback.exe

The size of the sample executables with this option enabled were:

   text	   data	    bss	    	  dec	    	  hex	filename
  59482	   1808	33618208	33679498	201e88a	ticker.exe
  14022	    280	33619712	33634014	20136de	minimum.exe
 336626	   2056	33618016	33956698	206235a	cxx_iostream.exe
 381318	   5884	33614176	34001378	206d1e2	fileio.exe
 277502	  12560	33607744	33897806	2053d4e	pppd.exe
 127850	   2436	33617600	33747886	202f3ae	capture.exe
  71172	   1896	33618112	33691180	202162c	nsecs.exe
 121246	   2184	33617824	33741254	202d9c6	paranoia.exe
 121774	   1832	33618208	33741814	202dbf6	cdtest.exe
  57402	   1808	33618208	33677418	201e06a	base_sp.exe
  57830	   1808	33618208	33677846	201e216	unlimited.exe
  65570	   1736	33618272	33685578	202004a	hello.exe
 167230	   6496	33613824	33787550	2038e9e	loopback.exe
2016-03-10 18:06:54 -06:00
Joel Sherrill
94300521d9 powerpc/mvme5500: Use shared pci_find_device() 2016-03-10 10:38:52 -06:00
Joel Sherrill
81df701ab4 mips/malta: Use shared pci_find_device() and removed unused pci_list_devices()
Also includes .h file cleanup.
2016-03-10 10:38:49 -06:00
Joel Sherrill
22bbb9f165 pc386: Add --disable-com1-com4 boot argument 2016-03-10 10:38:46 -06:00
Joel Sherrill
efbf6c910a libbsp/shared/console.c: Clean up memory allocation for per device data 2016-03-10 10:34:27 -06:00
Joel Sherrill
6db5ea03c3 pc386/startup/bsp_fatal_halt.c: Fix noreturn does return warning 2016-03-10 10:34:25 -06:00
Joel Sherrill
2e516dd46f pc386/startup/bspstart.c: Reformat and cleanup file header 2016-03-10 10:34:24 -06:00
Joel Sherrill
356b2c23f5 pc386: Add PCI UART support 2016-03-10 10:34:15 -06:00
Joel Sherrill
0ac1538db8 console_private.h: Improve comment for vt_ioctl() 2016-03-10 10:34:13 -06:00
Joel Sherrill
3662738787 console_private.h: Remove prototypes for non-existent methods bsp_com_inch() and bsp_com_outch() 2016-03-10 10:34:10 -06:00
Joel Sherrill
c3c57b1ba3 pc386: Improve boot command arguments for console/printk device selection
This patch adds the "--printk=" boot command line argument to specify
the printk() device. It also enhances the "--console=" boot command
line argument to match any device configured in the console device
table. The arguments are parsed as early as possible so they take
effect early. Currently, this is immediately after PCI initialization.
2016-03-10 10:33:27 -06:00
Joel Sherrill
f770fcb368 Add shared PCI support and enhance pc386 to support non-legacy PCI configuration space
This patch fundamentally results from enhancements to the pc386 BSP
to support systems which do **NOT** have the legacy PCI BIOS. The
patch adds support for detecting when legacy PCI BIOS is not
present and then using IO space to access to PCI Configuration Space.
This resulted in dynamically selected between two implementations
of PCI and refactoring out the shared methods.

This patch adds shared implementations of pci_bus_count() and
pci_find_device(). Subsequent patches will remove implementations
of these methods in other BSPs where possible.
2016-03-10 10:30:25 -06:00
Joel Sherrill
367176450c pc386/configure.ac: Delete incorrect and unused AM_CONDITIONAL 2016-03-10 10:26:53 -06:00
Joel Sherrill
3b6972327e i386/shared/pci/pcibios.c: Remove unused pcib_find_by_class() 2016-03-10 10:26:52 -06:00
Joel Sherrill
8ce16a4766 i386/shared/pci/pcibios.c: Remove unused pcib_special_cycle() 2016-03-10 10:26:49 -06: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
Sebastian Huber
354064b92a libtests/syscall01: Explicitly request close
This makes the test more reliable in case an interrupt driven console
driver is used.
2016-03-07 15:24:19 +01:00
Sebastian Huber
9f5754b5c2 bsps: Avoid Giant lock in simulator clock driver
Update #2555.
2016-03-04 15:15:57 +01:00
Sebastian Huber
0a5aa2da60 i386: Define _CPU_SMP_Prepare_start_multitasking()
Define _CPU_SMP_Prepare_start_multitasking() as empty macro to prevent a
link-time error on SMP configurations.
2016-03-04 14:49:48 +01:00
Sebastian Huber
03b900d3ed score: Replace watchdog handler implementation
Use a red-black tree instead of delta chains.

Close #2344.
Update #2554.
Update #2555.
Close #2606.
2016-03-04 13:36:10 +01:00
Sebastian Huber
90d8567d34 score: Distribute clock tick to all online CPUs
Update #2554.
2016-03-04 13:36:10 +01:00
Sebastian Huber
5b0d2c1965 score: Add _SMP_Before_multitasking_action()
The use case for this is the Cortex-A9 MPCore which has per-processor
registers (only accessible by a particular processor) for the global
timer used by the clock driver.  This might be useful for other drivers
as well.

Update #2554.
2016-03-04 13:36:09 +01:00
Sebastian Huber
3c103ba306 score: Add _Per_CPU_Is_boot_processor() 2016-03-04 13:36:09 +01:00
Sebastian Huber
b3a4c48ebd score: Add _SMP_Online_processors 2016-03-04 13:36:09 +01:00
Sebastian Huber
c284a16000 score: Rename Per_CPU_Control::started
Rename Per_CPU_Control::started into Per_CPU_Control::online to match
standard nomenclature.
2016-03-04 13:36:09 +01:00
Sebastian Huber
a38d1fe412 score: Add Processor_mask, etc. 2016-03-04 13:36:09 +01:00
Sebastian Huber
decff899ec score: Add CPU_MAXIMUM_PROCESSORS
Maximum number of processors of all systems supported by this CPU port.
2016-03-04 13:36:08 +01:00
Gedare Bloom
daa303da3e pc386: adjust assembly in bsp_fatal_halt 2016-03-03 16:40:17 -05:00
Joel Sherrill
328bd350aa i386: refactor libcpu/cpu.h into rtems/score/i386.h
Fixes #2515.
2016-03-03 16:36:30 -05:00
Joel Sherrill
dda25b19df i386 ..score/cpu.h: Fix spacing 2016-03-03 16:36:30 -05:00
Gedare Bloom
3267f9580f i386: prepare for paravirtualized interrupts 2016-03-03 16:36:30 -05:00
Gedare Bloom
505dc617c8 i386: relocate fatal halt to bsp layer 2016-03-03 16:36:30 -05:00
Gedare Bloom
6a4efc55dc i386: remove redundant CPP defines 2016-03-03 16:36:30 -05:00
Gedare Bloom
fd05a055e6 i386: move idle thread into BSP layer 2016-03-03 16:36:29 -05:00
Joel Sherrill
e56266cb3e version.c: Add space so printing is neater 2016-03-03 16:36:29 -05:00
Joel Sherrill
3f5e0961b4 smdk2410: Resurrect missing gp32 files
When the gp32 BSP was obsoleted and removed, files were deleted that
were actually used by the gp32.

This was actually a violation of the expected directory structure
and why it wasn't caught. Another example of why continuous integration
testing -- even just building is important.
2016-03-03 08:12:53 -06:00
Sebastian Huber
cc1add7b44 bsps: Delete empty Clock_driver_support_at_tick() 2016-03-03 09:49:15 +01:00
Sebastian Huber
eead8f7cf9 smptests/smpmrsp01: Fix test context 2016-03-03 09:10:14 +01:00
Sebastian Huber
73de9393e3 bsp/qoriq: Do not touch MMU config for SMP start
Assume that the boot page is visible in the currently unused heap area.
2016-03-03 09:10:13 +01:00
Sebastian Huber
e468ba5532 U-Boot: Flush data cache after bdinfo copy 2016-03-03 09:10:13 +01:00
Sebastian Huber
f831eff738 tmtests/tmtimer01: New test
Test run performed on T4240 running at 1667MHz in uni-processor
configuration.

Update #2554.
2016-03-02 08:51:55 +01:00
Sebastian Huber
1db95677de sptests/spsysinit01: Fix for RTEMS_DEBUG
Update #2408.
2016-03-01 15:01:24 +01:00
Sebastian Huber
d297c81dd9 score: Delete Thread_CPU_usage_t
This type is superfluous since all operations with it are done via the
_Timestamp_*() functions.
2016-03-01 07:40:33 +01:00
Sebastian Huber
75518fb782 malloc: Fix function definition
Close #2617.
2016-03-01 07:34:56 +01:00
Martin Galvan
8c5c53f478 am335x irq handling improvement
This patch makes the following changes to the Beaglebone IRQ handling code:

- Disable support for nested interrupts.
- Detect spurious IRQs using the SPURIOUSIRQ field of the INTC_SIR_IRQ register.
- Acknowledge spurious IRQs by setting the NewIRQAgr bit of the INTC_CONTROL
  register. This cleans the SPURIOUSIRQ field and allows new interrupts
  to be generated.
- Improve the get_mir_reg function a bit.

Closes #2580.
2016-02-28 00:23:02 +01:00
Sebastian Huber
67de5082a2 rtems: Avoid __RTEMS_USE_TICKS_FOR_STATISTICS__
Option was removed by e6b31b27fb.
2016-02-25 13:08:45 +01:00
Sebastian Huber
9d1f394345 malloc: Add _Malloc_System_state()
Replace malloc_is_system_state_OK() with _Malloc_System_state() to allow
early allocations, e.g. in bsp_start().  Here the _Thread_Executing is
NULL, thus an _API_Mutex_Lock() would lead to a NULL pointer access.

Move malloc() support code to general case
rtems_heap_allocate_aligned_with_boundary().  Use
rtems_heap_allocate_aligned_with_boundary() to avoid duplicated code.
2016-02-25 11:35:54 +01:00
Sebastian Huber
839d0a74e5 malloc: Use dedicated lock for deferred frees 2016-02-25 09:10:53 +01:00
Sebastian Huber
287a70f935 malloc: Clean up "malloc_p.h" header file 2016-02-25 09:06:07 +01:00