jD91mZM2
e18a877995
Implement proc:<pid>/exe for getting exe name
2020-06-17 19:06:48 +02:00
jD91mZM2
edcc39929d
Fix unused import
...
I added that assert, because I managed to get an error I couldn't reproduce
2020-06-16 13:58:36 +02:00
jD91mZM2
9c891384ea
Fix ptrace returning ENODEV when process exists
2020-06-16 13:42:04 +02:00
jD91mZM2
cbb17327aa
ptrace: Block on read, not on write
2020-06-16 13:00:27 +02:00
jD91mZM2
12f632837a
Misc proc code cleanup
2020-06-16 10:08:49 +02:00
jD91mZM2
4effb97c04
fixup! Fix acid test-bench issues
2020-06-16 09:28:42 +02:00
jD91mZM2
727217ad42
Fix acid test-bench issues
2020-06-15 17:14:52 +02:00
jD91mZM2
3420339c04
proc scheme: Rewrite try_stop_context
2020-06-15 15:08:59 +02:00
4lDO2
e7d00d4735
Fix various kernel warnings.
2020-06-11 12:58:03 +02:00
4lDO2
3289b95a7a
Fix conditional compilation without acpi feature.
2020-05-22 10:21:22 +02:00
4lDO2
0585c2b4d9
Make the IDTs of APs visible to irq:.
2020-05-03 16:57:32 +02:00
4lDO2
f4246deabf
WIP: Use a different IDT for each processor.
2020-05-03 16:57:32 +02:00
4lDO2
1165445602
Add spurious IRQ handling, using a visible counter.
2020-05-03 16:56:50 +02:00
Jeremy Soller
2fa85ed303
Remove unused import
2020-04-19 21:47:58 -06:00
Jeremy Soller
fa58651b70
Add serio scheme, based on debug scheme, for supporting ps2 devices
2020-04-19 21:40:12 -06:00
Jeremy Soller
5fd8f0430b
Cleanup debug scheme
2020-04-19 21:39:53 -06:00
Jeremy Soller
051a275c94
Remove unused import
2020-04-19 08:46:50 -06:00
Jeremy Soller
fdf46d8043
Fix multi_core livelocks and add livelock debugging
2020-04-19 08:46:50 -06:00
4lDO2
3bc4b9a691
Allow the MADT to be read from userspace,
...
and fix a typo that prevented multiple tables from being listed
correctly.
2020-04-19 09:41:42 +02:00
4lDO2
45fe040625
rustfmt.
2020-04-19 09:39:57 +02:00
4lDO2
d1ece2c811
Add a basic acpi: scheme, currently only for MCFG.
2020-04-19 09:39:57 +02:00
4lDO2
0e2e515dbd
Replace Arc<Box<dyn Scheme>> with Arc<dyn Scheme>.
2020-04-11 12:29:35 +02:00
4lDO2
b716ec4bc1
Remove currently unused APIC timer code.
2020-03-28 13:37:03 +01:00
4lDO2
157a3e5c0d
Improve MSI.
2020-03-28 13:37:03 +01:00
4lDO2
772003138d
Add a backwards-compatible interface for more IRQs.
2020-03-28 13:37:03 +01:00
4lDO2
65e8abb449
Allow multiple processes to share IRQs.
...
I haven't been able to receive xhc interrupt anyway.
2020-03-28 13:37:03 +01:00
Jeremy Soller
b616fdb067
Keep track of ticks each context uses
2020-02-18 21:16:53 -07:00
Jeremy Soller
b892603501
Require mutable context to perform page table modifications
2020-02-10 17:58:44 -07:00
Joshua Abraham
6a48ae3d8b
Fix deadlock in sys: scheme
...
This patch fixes a deadlock in the sys: scheme that is triggered
when the iostat resource() is called in the same scope where the RwLock
protecting the scheme's handles is write-locked.
2020-01-25 17:39:51 -05:00
Jeremy Soller
57a6359333
Do not add newline to sys:exe
2019-12-22 18:23:36 -07:00
Jeremy Soller
63e2a835e0
Fix clippy.sh script and fix a number of clippy warnings
2019-10-06 11:04:06 -06:00
jD91mZM2
ab1a12ad4a
Remove deadlock-prone mutex in proc.rs
...
I believe this could cause a deadlock if a blocking I/O operation was
interrupted by a signal or otherwise, and decided to exit and close
all files. It's unlikely to happen, but it can happen nontheless. This
removes the mutex, but it's difficult to keep the code tidy. Hopefully
this is good enough.
2019-08-15 16:07:38 +02:00
jD91mZM2
cf0a7620df
Add ptrace exit breakpoint
...
This will let you stop at process exit and inspect it right before the
process dies.
2019-08-15 14:23:54 +02:00
jD91mZM2
2544feb33f
Disallow changing CS which contains CPL
2019-08-15 12:26:29 +02:00
jD91mZM2
62cd298202
Merge ProtFlags with MapFlags
2019-07-30 11:45:54 +02:00
jD91mZM2
a7b2bd22c1
More cleanup...
2019-07-27 15:39:09 +02:00
jD91mZM2
538ca49ee2
Suggestion: Switch to bitflags
2019-07-26 12:23:21 +02:00
jD91mZM2
0e2b0d0fd4
Fix a few details
2019-07-26 10:29:31 +02:00
jD91mZM2
3ac1416dba
First step for ptrace overhaul
2019-07-24 21:42:33 +02:00
jD91mZM2
a7da393cf5
WIP(ptrace): Better support for signals
...
Signals now cause an event, and there's a way to continue until the
next signal. I can see this being used for detection of `int3`
although I'm not entirely sure as it may prove being too late to stop
abortion of process.
2019-07-21 19:58:32 +02:00
jD91mZM2
7426e48105
WIP(ptrace): Extract repeated arch-specific code to ptrace module
2019-07-21 13:28:31 +02:00
jD91mZM2
be867ae5f1
WIP(ptrace): Add ptrace event system for catching child forks
2019-07-20 09:45:07 +02:00
jD91mZM2
3d44242407
WIP(ptrace): Finally add stronger security checks
2019-07-20 09:45:07 +02:00
Jeremy Soller
532ffe25cf
Unmounting support
2019-07-18 21:00:36 -06:00
Jeremy Soller
113af69434
Remove scheme if closed
2019-07-18 20:58:06 -06:00
Jeremy Soller
4b2c15f0b9
Remove scheme by ID
2019-07-18 20:57:51 -06:00
jD91mZM2
6fbb4fbae1
Ptrace memory reading and floating point registers support
2019-07-07 17:07:04 +00:00
Jeremy Soller
788526a3b3
Bare-bones ptracing functionality
...
Since even a very basic ptrace can be nice to have, I thought I would split
the, perhaps rather big, ptrace project up in multiple PRs to make as few
changes as necessary in each. This PR contains the initial registry modifying
bits and only a very basic security measure. Letting this out to the community
should be good for spotting bugs and maybe getting some hype ;)
2019-07-02 07:38:26 -06:00
Jeremy Soller
45ea634798
Revert "Merge branch 'ptrace' into 'master'"
...
This reverts merge request !103
2019-07-02 11:56:11 +00:00
jD91mZM2
effe02bd45
Remove change I am faaairly certain I did NOT add :O
...
I'm guessing it's some issue after a rebase or something...
2019-07-01 22:50:19 +00:00