Commit Graph

947 Commits

Author SHA1 Message Date
Putta Khunchalee
955bd28587
Adds recommended extensions for VS Code (#1010) 2024-10-02 20:05:17 +02:00
Putta Khunchalee
b66b4fe5d5
Implements CPU states for AArch64 KVM (#1009) 2024-10-01 20:18:15 +02:00
Putta Khunchalee
c8ce13a7bf
Renames libcore to libgui and move it to top-level (#1008) 2024-10-01 08:11:41 +02:00
Putta Khunchalee
709c0b708d
Fixes create CPU fails on Linux AArch64 (#1007) 2024-09-30 17:13:24 +02:00
Putta Khunchalee
14f0805be4
Implements a device to allow the kernel communicate with VMM (#1006) 2024-09-29 21:30:11 +02:00
Putta Khunchalee
d600e61407
Merges obvirt into obconf (#1005) 2024-09-29 18:10:53 +02:00
Putta Khunchalee
9517af6d4c
Implements a struct to wrap Thread's private fields (#1004) 2024-09-29 13:31:07 +02:00
Putta Khunchalee
1915ed91af
Implements BorrowedArc to optimize context retrieving (#1003) 2024-09-29 09:37:32 +02:00
Putta Khunchalee
33f8343d5e
Fixes incomplete ID_AA64MMFR1_EL1 and ID_AA64MMFR2_EL1 on Linux (#1002) 2024-09-28 20:11:23 +02:00
Putta Khunchalee
e00f14908c
Sets Task Register (#1001) 2024-09-28 19:19:17 +02:00
Putta Khunchalee
165fd9d253
Fixes KVM_CAP_ONE_REG is not supported on x86-64 (#1000) 2024-09-28 09:53:54 +02:00
Putta Khunchalee
80dde69731
Fixes incomplete ID_AA64MMFR0_EL1 on Linux (#999) 2024-09-28 09:16:48 +02:00
Putta Khunchalee
98825ea886
Fixes KVM_CREATE_VM fails on Apple M1 (#998) 2024-09-26 21:11:53 +02:00
Putta Khunchalee
80c2b3a54e
Initializes AArch64 supports on Linux (#997) 2024-09-24 21:08:04 +02:00
Putta Khunchalee
8d11ba092d
Initializes Vulkan logical device (#996) 2024-09-22 23:19:20 +02:00
Putta Khunchalee
57549f3c71
Removes Vulkan devices that does not supports graphics operations (#995)
Some checks failed
Development Build / Build (push) Failing after 1s
Development Build / Update PRs (push) Failing after 1s
2024-09-22 19:46:04 +02:00
Putta Khunchalee
038f4ce02a
Registers Breakpoint handler (#994) 2024-09-22 18:28:55 +02:00
Putta Khunchalee
4d6befacc4
Initializes IDT (#993)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
2024-09-22 13:41:29 +02:00
Putta Khunchalee
79aeff9cee
Switches from VMM GDT to kernel GDT (#992)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-21 21:16:05 +02:00
Putta Khunchalee
19eabafd52
Passes kernel config for AArch64 (#990)
Some checks failed
Development Build / Build (push) Failing after 1s
Development Build / Update PRs (push) Failing after 1s
Housekeep / Housekeep (push) Failing after 0s
2024-09-20 20:38:54 +02:00
Putta Khunchalee
5990701c98
Refactors VMM for AArch64 (#988)
Some checks failed
Development Build / Build (push) Failing after 1s
Development Build / Update PRs (push) Failing after 1s
2024-09-19 21:43:09 +02:00
Putta Khunchalee
c1eeb8b264
Removes per-game settings (#987)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 1s
2024-09-16 08:22:02 +02:00
Putta Khunchalee
68c288e3c9
Ports Gutex to kernel (#986)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
2024-09-15 21:12:42 +02:00
Putta Khunchalee
022cfd041c
Initializes ProcMgr (#985)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-15 14:15:33 +02:00
Putta Khunchalee
b027031086
Initializes mutex implementation (#984)
Some checks failed
Development Build / Build (push) Failing after 1s
Development Build / Update PRs (push) Failing after 1s
2024-09-15 10:15:23 +02:00
Putta Khunchalee
c1dcf43d4b
Implements wrapper type to store per-CPU value (#983)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
2024-09-14 18:34:35 +02:00
Putta Khunchalee
aa362f7b42
Initializes uma_zalloc_arg implementation (#982)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-14 15:58:47 +02:00
Putta Khunchalee
3fabe8d75f
Loads ID_AA64MMFR2_EL1 (#981)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-12 21:13:57 +02:00
Putta Khunchalee
b52793d9b5
Loads ID_AA64MMFR1_EL1 (#980)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-11 20:39:38 +02:00
Putta Khunchalee
3e1472a3a1
Moves src/Cargo.toml to top-level (#979) 2024-09-11 18:56:30 +02:00
Putta Khunchalee
c41cedf00d
Loads ID_AA64MMFR0_EL1 from HV_FEATURE_REG_ID_AA64MMFR0_EL1 (#978)
Some checks failed
Development Build / Build (push) Failing after 0s
Development Build / Update PRs (push) Failing after 0s
Housekeep / Housekeep (push) Failing after 0s
2024-09-10 22:45:32 +02:00
Putta Khunchalee
2c7fa2d06d
Merges VM into Hypervisor for macOS (#977) 2024-09-10 18:36:50 +02:00
Putta Khunchalee
376f8ce99e
Makes RAM belong to hypervisor (#976)
Some checks failed
Development Build / Build (push) Failing after 22s
Development Build / Update PRs (push) Failing after 15s
Housekeep / Housekeep (push) Failing after 15s
2024-09-09 20:45:48 +02:00
Putta Khunchalee
1e68099365
Initializes CPU settings page (#975) 2024-09-09 01:40:09 +07:00
Putta Khunchalee
46c4ec806c
Passes kernel config from VMM (#974) 2024-09-08 17:32:31 +02:00
Putta Khunchalee
637fd80913
Initializes malloc stats (#973) 2024-09-08 15:37:20 +02:00
Putta Khunchalee
a4148c67a9
Makes stage 2 heap honors layout alignment (#972) 2024-09-07 19:03:09 +02:00
Putta Khunchalee
08fd52596f
Implements malloc with size within page size (#971) 2024-09-07 17:12:38 +02:00
Putta Khunchalee
f5c085c165
Implements Vulkan device list (#970) 2024-09-07 11:45:05 +02:00
Putta Khunchalee
6ba6c6a1d5
Refactors CpuStates::set_pstate (#969) 2024-09-06 20:25:03 +02:00
Putta Khunchalee
36a4530082
Implements Hypervisor::cpu_features for Mac M1 (#968) 2024-09-06 19:08:08 +02:00
Putta Khunchalee
cc1dc7e43c
Checks ID_AA64MMFR0_EL1 for at least 36 bits physical address (#967) 2024-09-05 19:40:59 +02:00
Putta Khunchalee
2dadcebc9e
Adds Zulip link (#966) 2024-09-05 01:22:36 +07:00
Putta Khunchalee
4a2fef1c5e
Checks ID_AA64MMFR0_EL1 if page size is supported (#965) 2024-09-05 01:06:37 +07:00
Putta Khunchalee
42c68eca49
Makes VMM supports any page size on the host (#964) 2024-09-03 21:13:53 +02:00
Putta Khunchalee
8328fea43e
Removes alias type for hypervisor (#963) 2024-09-04 00:26:13 +07:00
Putta Khunchalee
17dfceb371
Relicenses obkrnl to dual licensed (#962) 2024-09-03 22:24:28 +07:00
Putta Khunchalee
cf537ffd29
Makes new contribution dual license (#961) 2024-09-02 18:32:36 +02:00
Putta Khunchalee
e2c7151eaf
Implements stage 2 kernel heap activation (#960) 2024-09-01 21:10:58 +02:00
Putta Khunchalee
2528bef04b
Initializes stage 2 kernel heap (#959) 2024-09-01 16:01:35 +02:00