-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
83 lines (74 loc) · 4.43 KB
/
Copy pathCargo.toml
File metadata and controls
83 lines (74 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[package]
name = "breenix"
version = "0.1.0"
edition = "2021"
[features]
testing = ["kernel/testing"]
boot_tests = ["kernel/boot_tests"] # Parallel boot test framework
force_eret_dispatch_596 = ["boot_tests", "kernel/force_eret_dispatch_596"] # #596 forced-repro knob
ret_zero_pc_oracle = ["boot_tests", "kernel/ret_zero_pc_oracle"]
ret_zero_pc_oracle_exec = ["boot_tests", "kernel/ret_zero_pc_oracle_exec"]
ret_stack_pc_oracle = ["boot_tests", "kernel/ret_stack_pc_oracle"]
ret_floor_oracle = ["boot_tests", "kernel/ret_floor_oracle"]
strand_inject_live_outgoing = ["boot_tests", "kernel/strand_inject_live_outgoing"]
resume_pc_el1_oracle = ["boot_tests", "kernel/resume_pc_el1_oracle"]
eret_zero_pc_oracle = ["boot_tests", "kernel/eret_zero_pc_oracle"]
resume_pc_el0_kernel_oracle = ["boot_tests", "kernel/resume_pc_el0_kernel_oracle"]
resume_pc_el0_tid_oracle = ["boot_tests", "kernel/resume_pc_el0_tid_oracle"]
resume_pc_el0_frame_oracle = ["boot_tests", "kernel/resume_pc_el0_frame_oracle"]
resume_pc_oracle_disarm = ["boot_tests", "kernel/resume_pc_oracle_disarm"]
lr_poison_oracle = ["boot_tests", "kernel/lr_poison_oracle"]
x86_staged_registry = ["boot_tests", "kernel/x86_staged_registry"] # #533, see kernel/Cargo.toml
fs_fault_inject = ["kernel/fs_fault_inject"] # ext2/VFS fault-injection leg, see kernel/Cargo.toml
fs_fault_disarm_short_read = ["fs_fault_inject", "kernel/fs_fault_disarm_short_read"]
fs_fault_disarm_eio = ["fs_fault_inject", "kernel/fs_fault_disarm_eio"]
fs_fault_disarm_corrupt_inode = ["fs_fault_inject", "kernel/fs_fault_disarm_corrupt_inode"]
ext2_lock_race = ["boot_tests", "kernel/ext2_lock_race"] # #728 lock-discipline repro oracle, see kernel/Cargo.toml
capture_selftest = ["boot_tests", "kernel/capture_selftest"] # failure-capture PR-3, see kernel/Cargo.toml
capture_panic_oracle = ["boot_tests", "kernel/capture_panic_oracle"] # failure-capture PR-4, see kernel/Cargo.toml
capture_lockup_oracle = ["boot_tests", "kernel/capture_lockup_oracle"] # failure-capture PR-7, see kernel/Cargo.toml
capture_selftest_budget_mutation = ["capture_selftest", "kernel/capture_selftest_budget_mutation"]
capture_selftest_tiny_budget = ["capture_selftest_budget_mutation", "kernel/capture_selftest_tiny_budget"]
capture_selftest_cut_in_record = ["capture_selftest_budget_mutation", "kernel/capture_selftest_cut_in_record"]
capture_selftest_cut_at_terminator = ["capture_selftest_budget_mutation", "kernel/capture_selftest_cut_at_terminator"]
btrt = ["kernel/btrt"] # Boot Test Result Table (structured test results)
kthread_test_only = ["kernel/kthread_test_only"] # Run only kthread tests and exit
kthread_stress_test = ["kernel/kthread_stress_test"] # Run kthread stress test (100+ kthreads) and exit
workqueue_test_only = ["kernel/workqueue_test_only"] # Run only workqueue tests and exit
dns_test_only = ["kernel/dns_test_only"] # Run only DNS test and exit (fast network debugging)
blocking_recv_test = ["kernel/blocking_recv_test"] # Run only blocking recvfrom test and exit
nonblock_eagain_test = ["kernel/nonblock_eagain_test"] # Run only nonblock EAGAIN test and exit
test_divide_by_zero = ["kernel/test_divide_by_zero"]
test_invalid_opcode = ["kernel/test_invalid_opcode"]
test_page_fault = ["kernel/test_page_fault"]
test_all_exceptions = ["kernel/test_all_exceptions"]
external_test_bins = ["kernel/external_test_bins"]
receipt_drop_test = ["kernel/receipt_drop_test"]
vmnet = ["kernel/vmnet"]
interactive = ["kernel/interactive"]
disable_x86_prod_init = ["kernel/disable_x86_prod_init"] # #673 anti-vacuity knob, see kernel/Cargo.toml
[[bin]]
name = "qemu-uefi"
test = false
[[bin]]
name = "qemu-bios"
test = false
[workspace]
members = [
"kernel",
"parallels-loader",
"xtask"
]
[dependencies]
ovmf-prebuilt = "0.2.3"
[target.'cfg(target_arch = "x86_64")'.dependencies]
conquer-once = { version = "0.4.0", default-features = false }
bootloader-x86_64-common = { git = "https://github.com/rust-osdev/bootloader.git", rev = "707db11201b19541b7cfef84037866ee03aa0927" }
log = { version = "0.4.17", default-features = false }
x86_64 = { version = "=0.15.4", features = ["instructions", "nightly"] }
[build-dependencies]
kernel = { path = "kernel", artifact = "bin", target = "x86_64-unknown-none" }
# Limit bootloader to UEFI-only to avoid BIOS build/install on CI
bootloader = { git = "https://github.com/rust-osdev/bootloader.git", rev = "707db11201b19541b7cfef84037866ee03aa0927", default-features = false, features = ["uefi"] }
[dev-dependencies]
libc = "0.2"