1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 19:38:12 +00:00
serenity/Kernel
Itamar 9e51e295cf ptrace: Add PT_SETREGS
PT_SETTREGS sets the regsiters of the traced thread. It can only be
used when the tracee is stopped.

Also, refactor ptrace.
The implementation was getting long and cluttered the alraedy large
Process.cpp file.

This commit moves the bulk of the implementation to Kernel/Ptrace.cpp,
and factors out peek & poke to separate methods of the Process class.
2020-04-13 00:53:22 +02:00
..
ACPI Kernel: Reorder bitwise operations when creating PCI interrupt overrides 2020-04-09 20:45:44 +02:00
Arch/i386 CPU: Handle breakpoint trap 2020-04-13 00:53:22 +02:00
Devices Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
FileSystem Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration 2020-04-11 10:02:31 +02:00
Heap Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
Interrupts Interrupts: Simplify initialization a bit more 2020-04-09 20:45:44 +02:00
Net Kernel: Instantiate network adapters in their own detect() methods 2020-04-11 10:02:31 +02:00
PCI Kernel: Instantiate network adapters in their own detect() methods 2020-04-11 10:02:31 +02:00
Tasks Kernel: Move sync and finalization tasks into their own files 2020-04-08 17:19:46 +02:00
Time Kernel: Simplify the Time management initialization 2020-04-09 19:59:53 +02:00
TTY Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
VM ptrace: Add PT_POKE 2020-04-13 00:53:22 +02:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Kernel: Remove more <LibBareMetal/Output/kstdio.h> includes 2020-02-10 12:07:48 +01:00
build-image-grub.sh Partition Table: Change Script files 2020-02-02 00:20:41 +01:00
build-image-qemu.sh Build: Add FreeBSD support (#1492) 2020-03-21 09:46:30 +01:00
build-root-filesystem.sh CPU: Handle breakpoint trap 2020-04-13 00:53:22 +02:00
CMOS.cpp Kernel: Apply changes to use LibBareMetal definitions 2020-02-09 19:38:17 +01:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Simplify VMWareBackdoor somewhat 2020-04-08 17:19:46 +02:00
CommandLine.h Kernel: Simplify VMWareBackdoor somewhat 2020-04-08 17:19:46 +02:00
debug-kernel Debugging: Add kernel debugging support 2020-01-13 11:06:42 +01:00
DoubleBuffer.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
DoubleBuffer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
FB.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Forward.h Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
grub-ebr.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
grub-gpt.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
grub-mbr.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
init.cpp Kernel: Instantiate network adapters in their own detect() methods 2020-04-11 10:02:31 +02:00
KBuffer.h AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
KBufferBuilder.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KBufferBuilder.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KernelInfoPage.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KeyCode.h Kernel: Add key_code_count 2020-01-31 13:13:04 +01:00
KResult.h Kernel+LibC: Remove ESUCCESS 2020-04-10 13:09:35 +02:00
KSyms.cpp LibELF: Move ELF classes into namespace ELF 2020-04-11 22:41:05 +02:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Kernel: Move kernel above the 3GB virtual address mark 2020-01-17 22:34:26 +01:00
Lock.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
Lock.h Kernel: Allow process with multiple threads to call exec and exit 2020-02-26 13:06:40 +01:00
makeall.sh Build: Add FreeBSD support (#1492) 2020-03-21 09:46:30 +01:00
Makefile ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
mkmap.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
MousePacket.h Kernel: Simplify VMWareBackdoor somewhat 2020-04-08 17:19:46 +02:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PerformanceEventBuffer.cpp Kernel: Include the current instruction pointer in profile samples 2020-04-11 21:04:45 +02:00
PerformanceEventBuffer.h AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
Process.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Process.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Profiling.cpp LibELF: Move ELF classes into namespace ELF 2020-04-11 22:41:05 +02:00
Profiling.h Kernel: Bump the max stack frame count in sample profiles to 50 2020-04-12 11:00:38 +02:00
Ptrace.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Ptrace.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Random.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Random.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
RTC.cpp Kernel: Fix awkward RTC log message at boot 2020-04-08 17:19:46 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
run Kernel: Run QEMU machine with two virtual processors 2020-03-24 16:15:33 +01:00
Scheduler.cpp Kernel: Include the current instruction pointer in profile samples 2020-04-11 21:04:45 +02:00
Scheduler.h Scheduler: Use monotonic time for blocking threads 2020-03-19 15:48:00 +01:00
SharedBuffer.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
SharedBuffer.h Kernel+LibC: Rename shared buffer syscalls to use a prefix 2020-02-28 12:55:58 +01:00
sync.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Syscall.cpp Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
Syscall.h Kernel+LibC: Add minherit() and MAP_INHERIT_ZERO 2020-04-12 20:22:26 +02:00
TestModule.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
Thread.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Thread.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
ThreadTracer.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
ThreadTracer.h CPU: Handle breakpoint trap 2020-04-13 00:53:22 +02:00
TimerQueue.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
TimerQueue.h Kernel: Introduce the new Time management subsystem 2020-03-19 15:48:00 +01:00
UnixTypes.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
WaitQueue.cpp Kernel: Allow process with multiple threads to call exec and exit 2020-02-26 13:06:40 +01:00
WaitQueue.h Kernel: Allow process with multiple threads to call exec and exit 2020-02-26 13:06:40 +01:00