AArch64 basic boot and upper reloc
This commit is contained in:
@@ -7,14 +7,35 @@ const SupportedArch = enum {
|
||||
riscv64,
|
||||
|
||||
fn makeTarget(self: SupportedArch, b: *std.Build) std.Build.ResolvedTarget {
|
||||
return b.resolveTargetQuery(.{
|
||||
.cpu_arch = switch (self) {
|
||||
.riscv64 => .riscv64,
|
||||
.aarch64 => .aarch64,
|
||||
switch (self) {
|
||||
.riscv64 => {
|
||||
return b.resolveTargetQuery(.{
|
||||
.cpu_arch = .riscv64,
|
||||
.os_tag = .freestanding,
|
||||
.abi = .none,
|
||||
});
|
||||
},
|
||||
.os_tag = .freestanding,
|
||||
.abi = .none,
|
||||
});
|
||||
.aarch64 => {
|
||||
const T = std.Target.aarch64;
|
||||
|
||||
const addFeatures = T.featureSet(&.{
|
||||
T.Feature.v8a,
|
||||
T.Feature.strict_align,
|
||||
});
|
||||
const subFeatures = T.featureSet(&.{
|
||||
T.Feature.neon,
|
||||
T.Feature.fp_armv8,
|
||||
});
|
||||
|
||||
return b.resolveTargetQuery(.{
|
||||
.cpu_arch = .aarch64,
|
||||
.os_tag = .freestanding,
|
||||
.abi = .none,
|
||||
.cpu_features_add = addFeatures,
|
||||
.cpu_features_sub = subFeatures,
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
fn addTargetSpecific(self: SupportedArch, b: *std.Build, kernel: *std.Build.Step.Compile) anyerror!*std.Build.Step {
|
||||
|
||||
Reference in New Issue
Block a user