Integrating the following commit(s) to linux-yocto-rt/6.4:
369f3a1d2f39 Add localversion for -RT release
c26c6f8a7def sysfs: Add /sys/kernel/realtime entry
1026252efc14 POWERPC: Allow to enable RT
2be128571d55 powerpc/stackprotector: work around stack-guard init from atomic
55bea7bc53a3 powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT
6d7729893293 powerpc/pseries: Select the generic memory allocator.
4f94b99ce5fa powerpc/imc-pmu: Use the correct spinlock initializer.
4842eac5df59 powerpc/pseries/iommu: Use a locallock instead local_irq_save()
20217d6be82e powerpc: traps: Use PREEMPT_RT
caa81a9e214f ARM64: Allow to enable RT
e6d8eecd9250 ARM: Allow to enable RT
ed8eef71c579 tty/serial/pl011: Make the locking work on RT
579a01d01422 tty/serial/omap: Make the locking RT aware
82c5c842e1a3 ARM: enable irq in translation/section permission fault handlers
40b10f168ff6 arm: Disable jump-label on PREEMPT_RT.
a7a1bfa3b88b arch/arm64: Add lazy preempt support
be59db8f177b powerpc: Add support for lazy preemption
0143f7261d2e arm: Add support for lazy preemption
27dd55360d61 entry: Fix the preempt lazy fallout
59012496af29 x86: Support for lazy preemption
d25ecd17ccbe x86/entry: Use should_resched() in idtentry_exit_cond_resched()
beb2483d6b9f sched: Add support for lazy preemption
c78e3d4fd185 Revert "drm/i915: Depend on !PREEMPT_RT."
bdac43aa952c drm/i915: Drop the irqs_disabled() check
954bab1b75e9 drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() + spin_lock()
afcb80571a37 drm/i915/gt: Queue and wait for the irq_work item.
5f8008dab040 drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE
da5622b92296 drm/i915: Disable tracing points on PREEMPT_RT
51532f62a857 drm/i915: Don't check for atomic context on PREEMPT_RT
4b1c4c7b4e6c drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates
459be7df2c2a drm/i915: Use preempt_disable/enable_rt() where recommended
628d1b08d421 printk: Check only for migration in printk_deferred_*().
dfd2770048a6 serial: 8250: implement non-BKL console
9fc96a5c3a19 printk: replace local_irq_save with local_lock for safe mode
061a418efaef printk: Add threaded printing support for BKL consoles.
36ac8599626a printk: only disable if actually unregistered
71669eb2c2da printk: Perform atomic flush in console_flush_on_panic()
b0634d6c06d9 rcu: Add atomic write enforcement for rcu stalls
95fdf7b134ab kernel/panic: Add atomic write enforcement to warn/panic
c39e30092722 proc: consoles: Add support for non-BKL consoles
70be25f26762 tty: tty_io: Show non-BKL consoles as active
c980fcfd9dcb printk: nobkl: Stop threads on shutdown/reboot
e372fdfa42c3 printk: nobkl: Provide functions for atomic write enforcement
7c779a16b20c printk: nobkl: Add write context storage for atomic writes
042485b8fa7a printk: nobkl: Add printer thread wakeups
a0d1569185ed printk: nobkl: Introduce printer threads
68aa6402e396 printk: nobkl: Add emit function and callback functions for atomic printing
ccf51a3743a4 printk: nobkl: Add print state functions
e33dfd268d79 printk: nobkl: Add sequence handling
2f0f99a7a004 printk: nobkl: Add buffer management
f6cd5cdad5cf printk: nobkl: Add acquire/release logic
6754f4c0d6ee printk: Add non-BKL console basic infrastructure
b4568c7fbbfc printk: Add per-console suspended state
1e952ed4d35b printk: Consolidate console deferred printing
b12fabcfa9be printk: Add NMI check to console_flush_on_panic() and console_unblank()
9c1bfc2a6f3c kdb: do not assume write() callback available
244f2785c026 preempt: Put preempt_enable() within an instrumentation*() section.
1b61e0ba79ae zram: Replace bit spinlocks with spinlock_t for PREEMPT_RT.
62bf62e9fd6c softirq: Wake ktimers thread also in softirq.
a546af0d74af tick: Fix timer storm since introduction of timersd
bfd12d9a9dfc rcutorture: Also force sched priority to timersd on boosting test.
8898939cf3b1 softirq: Use a dedicated thread for timer wakeups.
2c8cccade3f1 x86: Enable RT also on 32bit
75a40b356238 x86: Allow to enable RT
126193d32d0c net: Avoid the IPI to free the
931d538b5c85 mm/page_alloc: Use write_seqlock_irqsave() instead write_seqlock() + local_irq_save().
dd90b50f7be9 seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested()
0874a8832dc7 ARM: vfp: Use vfp_lock() in vfp_entry().
3c69696bd766 ARM: vfp: Use vfp_lock() in vfp_sync_hwstate().
0fcd7c2cc385 ARM: vfp: Provide vfp_lock() for VFP locking.
67cdd3607ac5 posix-timers: Ensure timer ID search-loop limit is valid
d18adb7ffef3 posix-timers: Prevent RT livelock in itimer_delete()
53c35a763a78 signal: Don't disable preemption in ptrace_stop() on PREEMPT_RT.
0acdc7e2e082 signal: Add proper comment about the preempt-disable in ptrace_stop().
ec0ce135acf0 locking/rtmutex: Add a lockdep assert to catch potential nested blocking
5898c4215b40 locking/rtmutex: Avoid pointless blk_flush_plug() invocations
8fbc724cb1c6 locking/rtmutex: Submit/resume work explicitly before/after blocking
3e1028d6c3cc sched/core: Provide sched_rtmutex() and expose sched work helpers
2c4691baa875 bpf: Remove in_atomic() from bpf_link_put().
eb0a0f759f25 revert: "softirq: Let ksoftirqd do its job"
3c160415c46a tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
c4d99ee1238f sched: Consider task_struct::saved_state in wait_task_inactive()
587e9609ccd5 sched: Unconditionally use full-fat wait_task_inactive()
(From OE-Core rev: 9cdf164211ff6258e9a33c26011bac56c2b4913f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Poky
Poky is an integration of various components to form a pre-packaged build system and development environment which is used as a development and validation tool by the Yocto Project. It features support for building customised embedded style device images and custom containers. There are reference demo images ranging from X11/GTK+ to Weston, commandline and more. The system supports cross-architecture application development using QEMU emulation and a standalone toolchain and SDK suitable for IDE integration.
Additional information on the specifics of hardware that Poky supports is available in README.hardware. Further hardware support can easily be added in the form of BSP layers which extend the systems capabilities in a modular way. Many layers are available and can be found through the layer index.
As an integration layer Poky consists of several upstream projects such as BitBake, OpenEmbedded-Core, Yocto documentation, the 'meta-yocto' layer which has configuration and hardware support components. These components are all part of the Yocto Project and OpenEmbedded ecosystems.
The Yocto Project has extensive documentation about the system including a reference manual which can be found at https://docs.yoctoproject.org/
OpenEmbedded is the build architecture used by Poky and the Yocto project. For information about OpenEmbedded, see the OpenEmbedded website.
Contribution Guidelines
The project works using a mailing list patch submission process. Patches should be sent to the mailing list for the repository the components originate from (see below). Throughout the Yocto Project, the README files in the component in question should detail where to send patches, who the maintainers are and where bugs should be reported.
A guide to submitting patches to OpenEmbedded is available at:
https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
There is good documentation on how to write/format patches at:
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Where to Send Patches
As Poky is an integration repository (built using a tool called combo-layer), patches against the various components should be sent to their respective upstreams:
OpenEmbedded-Core (files in meta/, meta-selftest/, meta-skeleton/, scripts/):
- Git repository: https://git.openembedded.org/openembedded-core/
- Mailing list: openembedded-core@lists.openembedded.org
BitBake (files in bitbake/):
- Git repository: https://git.openembedded.org/bitbake/
- Mailing list: bitbake-devel@lists.openembedded.org
Documentation (files in documentation/):
- Git repository: https://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/
- Mailing list: docs@lists.yoctoproject.org
meta-yocto (files in meta-poky/, meta-yocto-bsp/):
- Git repository: https://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto
- Mailing list: poky@lists.yoctoproject.org
If in doubt, check the openembedded-core git repository for the content you intend to modify as most files are from there unless clearly one of the above categories. Before sending, be sure the patches apply cleanly to the current git repository branch in question.