Commit Graph

28725 Commits

Author SHA1 Message Date
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
Sebastian Huber
5d478af46b psxtests/psxualarm: Add test cases
Update #2344.
2016-02-22 15:32:59 +01:00
Sebastian Huber
452f6ba9d1 psxtests/psxalarm01: Add adjtime() test case
Update #2606.
2016-02-22 09:16:23 +01:00
Sebastian Huber
c466c62d78 bsp/leon3: Use -mcpu=leon3 machine option
Due to GCC configuration changes, the -muser-mode option is superfluous.
2016-02-22 07:04:17 +01:00
Sebastian Huber
5774b75279 sptests/sp65: Fix test names 2016-02-22 06:55:27 +01:00
Martin Galvan
86a276b5f3 _ARMV7M_Is_vector_an_irq: Use ARMV7M_VECTOR_SYSTICK instead of hardcoded 16
Also add a comment explaining why we use that value.
2016-02-19 16:11:29 -06:00
punitvara
42989d6f59 arm: Fixed typo in file bbb-gpio.c
This patch fixes typo "moode".

	Signed-off: Punit Vara <punitvara@gmail.com>
2016-02-19 16:09:04 -06:00
Sebastian Huber
ac13ffd155 epiphany: Delete unused SMP functions 2016-02-18 06:06:09 +01:00
Sebastian Huber
2e71aa4196 score: Simplify _Watchdog_Tick()
Move thread dispatch disable check to legacy rtems_clock_tick().  Assert
that thread dispatching is disabled in _Watchdog_Tick().  This is
usually the case, since this function is called in interrupt context by
the clock tick service routine.
2016-02-17 12:52:17 +01:00