Jeremy Soller
ad6035c7de
Merge branch 'idiomatic-rust' into 'master'
...
Replace llvm_asm with asm
See merge request redox-os/kernel!141
2020-08-03 15:09:08 +00:00
Jeremy Soller
6f3094cb2b
Work around unmapping user heap
2020-08-02 16:33:56 -06:00
jD91mZM2
f07603902d
Replace all llvm_asm! uses with asm!
2020-08-01 14:56:46 +02:00
jD91mZM2
93856b43b9
s/\basm!/llvm_asm!/g
2020-08-01 12:31:56 +02:00
Jeremy Soller
854149ee97
Support for debugging to system76 EC
2020-07-19 10:24:15 -06:00
jD91mZM2
615e516585
Add extra assembler metadata
2020-07-16 17:13:30 +02:00
jD91mZM2
11f26140f5
Fix most MR concerns
2020-07-16 16:59:58 +02:00
jD91mZM2
895a4a5656
Deprecate int 0x80
...
Mainly because I think the code could be cleaner if we can remove
support entirely :)
2020-07-16 16:33:25 +02:00
jD91mZM2
4fbe86a9ce
Fix random userspace page faults
...
I was an idiot and forgot rbx wasn't always backed up. As a result, we
should never ever write to it
2020-07-16 16:32:48 +02:00
jD91mZM2
acebd1a8d1
Merge remote-tracking branch 'origin/master' into global-asm
2020-07-16 15:35:42 +02:00
jD91mZM2
b00456dbb9
WIP: Continue trying to fix clone_ret
2020-07-16 13:46:53 +02:00
Jeremy Soller
1e44f157d0
Fix graphical_debug feature
2020-07-15 16:10:51 -06:00
jD91mZM2
145c1898be
Merge branch 'master' into global-asm
2020-07-15 12:05:34 +02:00
jD91mZM2
3bb234009a
WIP: Ensure clone_ret correctness
2020-07-15 11:43:17 +02:00
Jeremy Soller
93303af931
Merge branch 'catch-kernel-signal' into 'master'
...
Catch kernel signal
See merge request redox-os/kernel!135
2020-07-14 12:53:46 +00:00
Jeremy Soller
6b2302f92e
Merge branch 'paging-packed-use-unsafe' into 'master'
...
Wrap borrows of page table entries in unsafe
See merge request redox-os/kernel!126
2020-07-14 12:53:21 +00:00
jD91mZM2
ca3ddcdeca
Add TODOs for mapping PTI properly
...
I think we need to reimplement these functions in assembly :(
2020-07-14 09:14:16 +02:00
jD91mZM2
701c31cee0
Fix PTI compilation
...
It's broken on master anyway
2020-07-13 15:49:37 +02:00
jD91mZM2
5927743ff8
fixup! WIP: Rewrite interrupts as global assembly
2020-07-13 15:25:15 +02:00
jD91mZM2
fbdfcd2ba0
WIP: Rewrite interrupts as global assembly
...
Because the way we were using inline assembly was technically incorrect
and breaking the laws of rust
This *finally* compiles. That doesn't mean it works!
2020-07-11 16:15:25 +02:00
jD91mZM2
56f55a3b97
Always save proccess registers
...
Not sure if this is going to be required, and I'm not sure if this will
hurt performance, y'know, *always* doing this.
2020-07-08 11:47:12 +02:00
jD91mZM2
103ed1b17f
Make interrupt stack readable on kernel signals
2020-07-08 11:44:04 +02:00
jD91mZM2
039f7f5c83
Simplify EXEC catching
...
Instead of having a separate flag, let's reuse STOP_SINGLESTEP :)
I wasn't thinking enough when making this flag!
2020-07-07 14:16:42 +02:00
jD91mZM2
cdcb34486b
Keep singlestep across signals
2020-07-07 13:32:10 +02:00
jD91mZM2
4701838118
Fix RIP register on int3
2020-06-23 19:47:44 +02:00
jD91mZM2
7fc49eed74
ptrace: Allow stopping on fexec
2020-06-22 13:11:32 +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
1c0e6c253f
Fix test.
2020-06-11 16:11:46 +02:00
4lDO2
8117119d8e
Wrap borrows of page table entries in unsafe.
...
This is safe because `Entry` is `#[repr(8)]` which is the minimum
alignment for qwords. Since the size of a qword is equal to that
alignment (8), they can also be borrowed from the array.
2020-06-11 16:05:00 +02:00
Jeremy Soller
5d53c65f0b
Merge branch 'resolve-kernel-warnings' into 'master'
...
Fix various kernel warnings.
See merge request redox-os/kernel!125
2020-06-11 13:18:58 +00:00
4lDO2
e7d00d4735
Fix various kernel warnings.
2020-06-11 12:58:03 +02:00
4lDO2
c7b207f4dc
Use #[repr(packed)] with correct align for paging.
2020-06-11 11:58:58 +02:00
4lDO2
0585c2b4d9
Make the IDTs of APs visible to irq:.
2020-05-03 16:57:32 +02:00
4lDO2
9232736bf1
Rename some things, and fix a map insertion.
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
0d1ca687fb
Use the correct interrupt method for spurious IRQs.
2020-05-03 16:57:03 +02:00
4lDO2
1165445602
Add spurious IRQ handling, using a visible counter.
2020-05-03 16:56:50 +02:00
Jeremy Soller
dd0633a3d2
Kernel reading of ps2 bytes
2020-04-20 13:10:06 -06:00
Jeremy Soller
e528aa8fdc
Fix order of masking IRQ and eoi
2020-04-19 10:50:03 -06:00
4lDO2
9413475119
Don't use the I/O APIC by default,
...
since this would require pcid to know the _PRT (PCI routing table) to
use and map the interrupt pins to the correct IRQs. xhcid is unaffected
by this though, since it uses MSI-X.
All ACPI handling will be done in userspace before the infrastructure
necessary would make sense (I don't think adding serde to the kernel
would be optimal, and how else would all of the ACPI namespace be
parsed?).
2020-04-19 13:25:43 +02:00
4lDO2
02ca8edfc5
Execute AML code after IOAPIC init,
...
which tells the firmware that the I/O APIC is used rather than the 8259
PIC.
2020-04-19 09:41:40 +02:00
4lDO2
8c351e0768
Use the I/O APIC when applicable.
2020-04-19 09:41:09 +02:00
4lDO2
dc3452650c
Execute AML code after IOAPIC init,
...
which tells the firmware that the I/O APIC is used rather than the 8259
PIC.
2020-04-18 23:17:37 +02:00
4lDO2
290098b5a4
impl Debug for AmlValue.
2020-04-18 18:21:04 +02:00
4lDO2
5490de9fd2
Fix a page fault.
2020-04-18 17:33:03 +02:00
4lDO2
de4b66150d
Remove unnecessary kernel args.
2020-04-18 17:06:45 +02:00
4lDO2
f0b5d51793
Use the I/O APIC when applicable.
2020-04-18 16:36:18 +02:00
4lDO2
da6de394e4
Add a new backwards-compatible v2 boot protocol.
2020-04-18 11:28:11 +02:00
4lDO2
0fd24f6061
Cleanup.
2020-04-04 10:57:00 +02:00