Skip to content

Commit

Permalink
Re-land "Default to purecap kernels for CheriBSD"
Browse files Browse the repository at this point in the history
In theory Jenkins should now be happy with this default changed as it's
now explicitly setting it based on what CheriBSD's Jenkinsfile does.
  • Loading branch information
brooksdavis authored and jrtc27 committed May 18, 2024
1 parent afea91f commit 196be55
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 30 deletions.
2 changes: 1 addition & 1 deletion pycheribuild/projects/cross/cheribsd.py
Original file line number Diff line number Diff line change
Expand Up @@ -1861,7 +1861,7 @@ def setup_config_options(cls, kernel_only_target=False, install_directory_help=N
_allow_unknown_targets=True,
only_add_for_targets=cls.purecap_kernel_targets,
kind=KernelABI,
default=KernelABI.HYBRID,
default=KernelABI.PURECAP,
enum_choices=[KernelABI.HYBRID, KernelABI.PURECAP],
help="Select default kernel to build",
)
Expand Down
54 changes: 25 additions & 29 deletions tests/test_argument_parsing.py
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ def test_kernconf():
freebsd_native = _get_target_instance("freebsd-amd64", config, BuildFreeBSD)
assert config.freebsd_kernconf is None
assert freebsd_riscv.kernel_config == "QEMU"
assert cheribsd_riscv_hybrid.kernel_config == "CHERI-QEMU"
assert cheribsd_riscv_hybrid.kernel_config == "CHERI-PURECAP-QEMU"
assert freebsd_native.kernel_config == "GENERIC"

# Check that --kernconf is used as the fallback
Expand Down Expand Up @@ -816,20 +816,23 @@ def test_disk_image_path(target, expected_name):
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/no-build-alternate-abi-kernels"],
["CHERI-QEMU"],
["CHERI-PURECAP-QEMU"],
),
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/build-fpga-kernels"],
[
"CHERI-QEMU",
"CHERI-PURECAP-QEMU",
"CHERI-QEMU",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
[],
["CHERI-QEMU", "CHERI-PURECAP-QEMU"],
[
"CHERI-PURECAP-QEMU",
"CHERI-QEMU",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
Expand All @@ -843,35 +846,34 @@ def test_disk_image_path(target, expected_name):
"cheribsd-riscv64-purecap",
["--cheribsd/build-fett-kernels", "--cheribsd/no-build-alternate-abi-kernels"],
[
"CHERI-QEMU",
"CHERI-QEMU-FETT",
"CHERI-PURECAP-QEMU",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/build-fett-kernels"],
[
"CHERI-PURECAP-QEMU",
"CHERI-QEMU",
"CHERI-QEMU-FETT",
"CHERI-PURECAP-QEMU",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/build-bench-kernels", "--cheribsd/no-build-alternate-abi-kernels"],
[
"CHERI-QEMU",
"CHERI-QEMU-NODEBUG",
"CHERI-PURECAP-QEMU",
"CHERI-PURECAP-QEMU-NODEBUG",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/build-bench-kernels"],
[
"CHERI-QEMU",
"CHERI-QEMU-NODEBUG",
"CHERI-PURECAP-QEMU",
"CHERI-PURECAP-QEMU-NODEBUG",
"CHERI-QEMU",
"CHERI-QEMU-NODEBUG",
],
),
pytest.param(
Expand All @@ -882,20 +884,19 @@ def test_disk_image_path(target, expected_name):
"--cheribsd/no-build-alternate-abi-kernels",
],
[
"CHERI-QEMU",
"CHERI-QEMU-FETT",
"CHERI-FETT",
"CHERI-PURECAP-QEMU",
"CHERI-PURECAP-FETT",
],
),
pytest.param(
"cheribsd-riscv64-purecap",
["--cheribsd/build-fett-kernels", "--cheribsd/build-fpga-kernels"],
[
"CHERI-PURECAP-QEMU",
"CHERI-QEMU",
"CHERI-QEMU-FETT",
"CHERI-PURECAP-QEMU",
"CHERI-FETT",
"CHERI-PURECAP-FETT",
"CHERI-FETT",
],
),
pytest.param(
Expand All @@ -906,16 +907,14 @@ def test_disk_image_path(target, expected_name):
# Morello kernconf tests
pytest.param("cheribsd-aarch64", [], ["GENERIC"]),
pytest.param(
"cheribsd-morello-purecap",
["--cheribsd/no-build-alternate-abi-kernels"],
["GENERIC-MORELLO"],
"cheribsd-morello-purecap", ["--cheribsd/no-build-alternate-abi-kernels"], ["GENERIC-MORELLO-PURECAP"]
),
pytest.param(
"cheribsd-morello-purecap",
[],
[
"GENERIC-MORELLO",
"GENERIC-MORELLO-PURECAP",
"GENERIC-MORELLO",
],
),
pytest.param(
Expand Down Expand Up @@ -958,19 +957,16 @@ def test_kernel_configs(target, config_options: "list[str]", expected_kernels: "
"--cheribsd-mfs-root-kernel-riscv64-purecap/build-fpga-kernels",
"--cheribsd-mfs-root-kernel-riscv64-purecap/no-build-alternate-abi-kernels",
],
[
"CHERI-QEMU-MFS-ROOT",
"CHERI-GFE",
],
["CHERI-PURECAP-QEMU-MFS-ROOT", "CHERI-PURECAP-GFE"],
),
pytest.param(
"cheribsd-mfs-root-kernel-riscv64-purecap",
["--cheribsd-mfs-root-kernel-riscv64-purecap/build-fpga-kernels"],
[
"CHERI-QEMU-MFS-ROOT",
"CHERI-PURECAP-QEMU-MFS-ROOT",
"CHERI-GFE",
"CHERI-QEMU-MFS-ROOT",
"CHERI-PURECAP-GFE",
"CHERI-GFE",
],
),
pytest.param(
Expand All @@ -996,10 +992,10 @@ def test_kernel_configs(target, config_options: "list[str]", expected_kernels: "
"cheribsd-mfs-root-kernel-riscv64-purecap",
["--cheribsd/build-nocaprevoke-kernel"],
[
"CHERI-QEMU-MFS-ROOT",
"CHERI-NOCAPREVOKE-QEMU-MFS-ROOT",
"CHERI-PURECAP-QEMU-MFS-ROOT",
"CHERI-PURECAP-NOCAPREVOKE-QEMU-MFS-ROOT",
"CHERI-QEMU-MFS-ROOT",
"CHERI-NOCAPREVOKE-QEMU-MFS-ROOT",
],
),
],
Expand Down Expand Up @@ -1331,7 +1327,7 @@ def test_mfs_root_kernel_inherits_defaults_from_cheribsd():
],
)
assert cheribsd_riscv64_purecap.kernel_config == "BASE_CONFIG_RISCV64"
assert cheribsd_riscv64_hybrid.kernel_config == "CHERI-QEMU"
assert cheribsd_riscv64_hybrid.kernel_config == "CHERI-PURECAP-QEMU"
assert mfs_riscv64.kernel_config is None
assert mfs_riscv64_hybrid.kernel_config == "MFS_CONFIG_RISCV64_HYBRID"
_parse_arguments(
Expand Down

0 comments on commit 196be55

Please sign in to comment.