sel4-sys: fix aarch32 target

This fixes compiling and using sel4-sys for arm32 architecture --
tested on sabrelite seL4 taget.  There is some #[cfg(...)] ifology,
but that maybe could be partially moved to Cargo.toml using
feature dependency.

To fix TLS there is need to pass some rustc flags, but it seems that
it's impossible to do with build.rs, so currently it's only passed
by CMake when building for sel4test.

Additionally, the order of XML files had to be changed as the
syscalls identifiers were generated in wrong order.

Change-Id: I94d65284989b0e99d7b1843165ec88aa1a994be3
GitOrigin-RevId: b39b93e534a2df2b0b141f1b0dafa2f963827c28
This commit is contained in:
Marcin Witkowski
2021-12-21 17:15:29 +01:00
committed by Sam Leffler
parent 9d2f298efa
commit 28f8a9d63d
3 changed files with 733 additions and 465 deletions

View File

@@ -50,8 +50,10 @@ CONFIG_BENCHMARK_TRACK_UTILISATION = []
CONFIG_HARDWARE_DEBUG_API = []
CONFIG_SET_TLS_BASE_SELF = []
CONFIG_VTX = []
CONFIG_HAVE_FPU = []
CONFIG_ARM_SMMU = []
CONFIG_ARM_HYPERVISOR_SUPPORT = []
CONFIG_ARM_HYP_ENABLE_VCPU_CP14_SAVE_AND_RESTORE = []
[lib]
path = "lib.rs"

File diff suppressed because it is too large Load Diff

View File

@@ -119,8 +119,8 @@ fn main() {
"--dest",
&*format!("{}/{}_invocation.rs", out_dir, arch),
&*xml_interfaces_file,
&*xml_arch_file,
&*xml_sel4_arch_file,
&*xml_arch_file,
]);
println!("Running {:?}", cmd);
assert!(cmd.status().unwrap().success());