| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When GCC option -march is not specifies i386-rtems toolchain
defaults to i386 architecture instruction set. It does not
provide atomic instructions which results in really inefficient
atomic_fetch_or even on UP build.
SMP build is broken with i386 set because libatomic and GCC
generate infinite loop for __atomic_fetch_add_4 used
in rtems_interrupt_lock_acquire
__atomic_fetch_add_4:
push %ebp
mov %esp,%ebp
movl $0x5,0x10(%ebp)
pop %ebp
jmp __atomic_fetch_add_4
|
| |
|
|
|
|
|
|
|
|
| |
The global state of enabled and disabled interrupts has to hold
interrupts really disabled by drivers and system. If the state is
combined with interrupts temporarily disabled because they are
processed at given time then it is impossible to maintain state
by interrupt handlers in drivers.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the interrupt and stop the spurious interrupt from happening.
The fix moves the EOI to C code and cleans that functionality out
of the asm part of the ISR handler.
The code checks the ISR and IRR registers on the enable.
Only ack the master for a slave IRQ if the slave has no other pending
requests.
|
| |
|
| |
|
|
|
|
|
| |
Use the BAR to determine IO and memory mapped support for PCI UART
boards.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the gdb stub from the i386 UART code to use the libchip drivers.
Use any ports discovered during the probes.
Add gdb control to the boot command line.
Change the device naming to the full device path, not a partial path.
For example /dev/com1.
|
|
|
|
|
|
| |
suppress GCC 6 warning.
closes #2634
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
selection
|
| |
|
| |
|
|
|
|
| |
Start to migrate private symbols to bsp/bspimpl.h.
|
|
|
|
| |
closes #2638.
|
|
|
|
| |
updates #2638.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #2554.
|
| |
|
|
|
|
| |
Fixes #2515.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Update #2408.
|
|
|
|
|
|
|
| |
This avoids potential dead code in _Thread_Handler(). It gets rid of
the dangerous function pointer casts.
Update #2514.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.
In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:
- 16 32-bit integers were allocated.
- A total of 64 bytes per task per thread.
This is especially critical in low memory and safety-critical applications.
They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.
Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.
updates #2493.
|
|
|
|
|
|
| |
Use the bsp_predriver_hook() instead.
Update #2408.
|
|
|
|
|
|
|
|
| |
Call bsp_work_area_initialize() before bsp_start(). This allows
bsp_start() to use malloc() etc. which is beneficial for systems with a
plug-and-play hardware enumeration.
Update #2408.
|