linux/arch/um/kernel
Mordechay Goodstein 6555acdefc um: time-travel: support time-travel protocol broadcast messages
Add a message type to the time-travel protocol to broadcast
a small (64-bit) value to all participants in a simulation.
The main use case is to have an identical message come to
all participants in a simulation, e.g. to separate out logs
for different tests running in a single simulation.

Down in the guts of time_travel_handle_message() we can't
use printk() and not even printk_deferred(), so just store
the message and print it at the start of the userspace()
function.

Unfortunately this means that other prints in the kernel
can actually bypass the message, but in most cases where
this is used, for example to separate test logs, userspace
will be involved. Also, even if we could use
printk_deferred(), we'd still need to flush it out in the
userspace() function since otherwise userspace messages
might cross it.

As a result, this is a reasonable compromise, there's no
need to have any core changes and it solves the main use
case we have for it.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Link: https://patch.msgid.link/20240702192118.c4093bc5b15e.I2ca8d006b67feeb866ac2017af7b741c9e06445a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-07-03 12:24:22 +02:00
..
skas um: Stop tracking host PID in cpu_tasks 2024-04-30 14:11:30 +02:00
asm-offsets.c
config.c.in um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
dtb.c um: Unconditionally call unflatten_device_tree() 2024-03-08 12:50:39 -06:00
dyn.lds.S objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00
early_printk.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
exec.c um: Switch printk calls to adhere to correct coding style 2023-02-01 22:11:28 +01:00
exitcode.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
gprof_syms.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
initrd.c um: Extract load file helper from initrd.c 2021-12-22 20:32:36 +01:00
ioport.c um: add PCI over virtio emulation driver 2021-06-17 21:45:43 +02:00
irq.c um: irqs: process outstanding IRQs when unblocking signals 2024-07-03 12:18:01 +02:00
kmsg_dump.c um: Make local functions and variables static 2024-04-22 21:43:03 +02:00
ksyms.c um: rename set_signals() to um_set_signals() 2021-12-21 21:13:44 +01:00
load_file.c um: Extract load file helper from initrd.c 2021-12-22 20:32:36 +01:00
maccess.c maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2020-06-17 10:57:41 -07:00
Makefile kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
mem.c um/mm: remove redundant assignment of max_low_pfn 2024-07-03 12:22:39 +02:00
physmem.c um: Move declarations to proper headers 2024-04-22 21:58:48 +02:00
process.c um: Remove /proc/sysemu support code 2024-07-03 12:21:57 +02:00
ptrace.c um: Move declarations to proper headers 2024-04-22 21:58:48 +02:00
reboot.c um: Add missing headers 2024-04-22 21:46:20 +02:00
sigio.c um: Support dynamic IRQ allocation 2020-12-13 22:22:08 +01:00
signal.c um: Drop support for hosts without SYSEMU_SINGLESTEP support 2024-01-04 23:29:11 +01:00
stacktrace.c UML: add support for KASAN under x86_64 2022-07-17 23:35:22 +02:00
sysrq.c um: Prevent KASAN splats in dump_stack() 2022-09-19 22:58:48 +02:00
time.c um: time-travel: support time-travel protocol broadcast messages 2024-07-03 12:24:22 +02:00
tlb.c um: Add missing headers 2024-04-22 21:46:20 +02:00
trap.c mm: always expand the stack with the mmap write lock held 2023-06-27 09:41:30 -07:00
um_arch.c um: Remove unused ncpus variable 2024-07-03 12:21:57 +02:00
um_arch.h um: Move declarations to proper headers 2024-04-22 21:58:48 +02:00
umid.c uml: Remove the initialization of statics to 0 2022-09-19 23:10:07 +02:00
uml.lds.S objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00
vmlinux.lds.S UML: define RUNTIME_DISCARD_EXIT 2023-02-13 10:14:31 +01:00