Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
7be4000
create arch/x86_64 and pass compilation
Solicey Dec 4, 2024
90f14cf
init UART, handle traps, enable APIC timer, BSP wakes up AP
Solicey Dec 19, 2024
65fb931
enable VMX, configure VMCS, test with temporary guest code
Solicey Jan 2, 2025
f64bad8
enable EPT
Solicey Jan 20, 2025
743bfed
enable UART and APIC timer virtualization, test with temporary guest OS
Solicey Jan 24, 2025
92d6c63
hacking to the linux shell
Solicey Feb 27, 2025
d2bdba5
enable vPIC, fix vUART output delay
Solicey Mar 10, 2025
476dbb6
enable SMP on guest linux
Solicey Mar 18, 2025
f51428c
enable MMIO and I/O APIC, simplify Local APIC, passthrough UART
Solicey Mar 23, 2025
2b9625a
enable PCI devices, activate vt-d DMA remapping
Solicey Apr 3, 2025
fba3bf8
Merge branch 'dev' into dev-x86_64
Solicey Apr 4, 2025
4e4ee63
implement pci device probing, activate pci virtualization
Solicey Apr 6, 2025
fd05a71
update guest bootloader
Solicey Apr 9, 2025
916dfec
Merge branch 'dev' into dev-x86_64
Solicey Apr 9, 2025
d64e284
hacking to non-root linux
Solicey Apr 11, 2025
b0734f9
enable msi vector remap, modify cpu idle, enable zone shutdown
Solicey Apr 15, 2025
97449c6
Merge branch 'dev' into dev-x86_64
Solicey Apr 16, 2025
69bc963
launch virtio console on non-root linux
Solicey Apr 19, 2025
1d009b2
support virtio blk, virtio net
Solicey Apr 26, 2025
f3e7576
tiny fixes
Solicey May 24, 2025
4834442
x86 add platform NUC 14
Solicey Jul 9, 2025
daea7e6
Merge branch 'dev' into dev-x86_64
Solicey Jul 23, 2025
0fee5c8
x86 NUC14 hacking to root Linux shell
Solicey Jul 26, 2025
fe7fc08
x86 remove vector remapping, run rootfs on sda
Solicey Jul 27, 2025
bd7acc2
x86 NUC14 run root linux on SMP
Solicey Jul 27, 2025
bc1bc9e
x86 NUC14 run non-root, enable virtio blk, console, net
Solicey Aug 15, 2025
ac33403
Merge branch 'dev' into dev-x86_64
Solicey Aug 20, 2025
2fce4a6
rename nuc14 to nuc14mnk
Solicey Aug 24, 2025
47666c2
fix makefile diff
Solicey Aug 24, 2025
02aa5de
fix bug zone1 cannot restart
Solicey Sep 16, 2025
ac41fa0
Merge branch 'dev' into dev-x86_64
Solicey Sep 19, 2025
0bc52c7
🐞 fix(iommu, its): fix its bugs
ZhongkaiXu Sep 20, 2025
e1d2b5b
Merge pull request #200 from ZhongkaiXu/dev
Inquisitor-201 Oct 16, 2025
4b5b208
bug fix: add invalidation queue to x86 iommu, so that zone1 can use P…
Solicey Oct 18, 2025
fcc2254
Merge branch 'dev' into dev-x86_64
Solicey Oct 18, 2025
fb042ec
x86_64 add license headers
Solicey Oct 18, 2025
3e3ef7b
add feature uart16550a, modify logging implement
Solicey Oct 19, 2025
4450a9b
Merge pull request #204 from syswonder/dev-x86_64
Inquisitor-201 Oct 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
/images/*
/platform/*/*/image/kernel/*
/platform/*/*/image/virtdisk/*
/platform/*/*/image/bootloader/out
/platform/*/*/image/iso/boot/kernel/*
/platform/*/*/image/iso/boot/hvisor
/tools/hvisor
/tmp
*.mod.[co]
Expand Down
58 changes: 35 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 9 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ heapless = { version = "0.8.0 "}

[target.'cfg(target_arch = "aarch64")'.dependencies]
aarch64-cpu = "9.4.0"
psci = { version = "0.1.0", default-features = false, features = ["smc"]}
psci = { version = "0.1.0", default-features = false, features = ["smc"] }

[target.'cfg(target_arch = "riscv64")'.dependencies]
sbi-rt = { version = "0.0.3", features = ["legacy"] }
Expand All @@ -38,10 +38,11 @@ riscv-pac = "0.2.0"
loongArch64 = "0.2.5"

[target.'cfg(target_arch = "x86_64")'.dependencies]
x86 = "0.52.0"
x86 = "=0.52.0"
x86_64 = "=0.14.10"
x2apic = "0.4.3"
raw-cpuid = "10.7.0"
x2apic = "=0.4.3"
raw-cpuid = "=10.7.0"
acpi = "=5.2.0"

[features]
############# general ##############
Expand All @@ -60,6 +61,7 @@ imx_uart = []
uart_16550 = []
sifive_ccache = []
eic7700_sysreg = []
uart16550a = []

############## riscv64 #############
# irqchip driver
Expand All @@ -80,6 +82,9 @@ loongson_uart = []
loongson_3a5000 = []
loongson_3a6000 = []

############# x86_64 ###############
graphics = []


[profile.dev]
# panic = "abort" # avoid cargo test failure, this is a bug of cargo
Expand Down
39 changes: 35 additions & 4 deletions platform/aarch64/qemu-gicv3/image/dts/zone1-linux.dts
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,43 @@
reg = <0x0 0x50000000 0x0 0x30000000>;
};

gic@8000000 {
intc@8000000 {
phandle = <0x01>;
interrupts = <0x01 0x09 0x04>;
reg = <0x00 0x8000000 0x00 0x10000 0x00 0x80a0000 0x00 0xf60000>;
#redistributor-regions = <0x01>;
compatible = "arm,gic-v3";
#interrupt-cells = <0x03>;
ranges;
#size-cells = <0x02>;
#address-cells = <0x02>;
interrupt-controller;
reg = <0x00 0x8000000 0x00 0x10000 0x00 0x80a0000 0x00 0xf60000>;
phandle = <0x01>;
#interrupt-cells = <0x03>;

its@8080000 {
phandle = <0x8006>;
reg = <0x00 0x8080000 0x00 0x20000>;
#msi-cells = <0x01>;
msi-controller;
compatible = "arm,gic-v3-its";
};
};

pcie@10000000 {
interrupt-map-mask = <0x1800 0x00 0x00 0x07>;
interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x03 0x04 0x00 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x04 0x04 0x00 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x05 0x04 0x00 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x06 0x04 0x800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x04 0x04 0x800 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x05 0x04 0x800 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x06 0x04 0x800 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x03 0x04 0x1000 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x05 0x04 0x1000 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x06 0x04 0x1000 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x03 0x04 0x1000 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x04 0x04 0x1800 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x06 0x04 0x1800 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x03 0x04 0x1800 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x04 0x04 0x1800 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x05 0x04>;
#interrupt-cells = <0x01>;
ranges = <0x1000000 0x00 0x00 0x00 0x3eff0000 0x00 0x10000
0x2000000 0x00 0x10000000 0x00 0x10000000 0x00 0x2eff0000
0x3000000 0x80 0x00 0x80 0x00 0x80 0x00>;
reg = <0x40 0x10000000 0x00 0x10000000>;
msi-map = <0x00 0x8006 0x00 0x10000>;
dma-coherent;
bus-range = <0x00 0xff>;
linux,pci-domain = <0x00>;
#size-cells = <0x02>;
#address-cells = <0x03>;
device_type = "pci";
compatible = "pci-host-ecam-generic";
};

apb-pclk {
Expand Down
Loading