Add support for an armv8 variant for Kryo

* Use mcpu=cortex-a57, since it is the closest to Kryo.
* Clang doesn't support Kryo as a target yet.

Bug: 36728278

Test: Built and booted a sailfish using Kryo.

Change-Id: Ic0c9588d86fba41896e50e3f0cf0d2b310ffee93
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
diff --git a/android/arch.go b/android/arch.go
index 6f123ea..f9697bc 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -859,6 +859,7 @@
 		{"arm", "armv7-a-neon", "kryo", []string{"armeabi-v7a"}},
 		{"arm64", "armv8-a", "cortex-a53", []string{"arm64-v8a"}},
 		{"arm64", "armv8-a", "denver64", []string{"arm64-v8a"}},
+		{"arm64", "armv8-a", "kryo", []string{"arm64-v8a"}},
 		{"mips", "mips32-fp", "", []string{"mips"}},
 		{"mips", "mips32r2-fp", "", []string{"mips"}},
 		{"mips", "mips32r2-fp-xburst", "", []string{"mips"}},
diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go
index 23186e7..60245d0 100644
--- a/cc/config/arm64_device.go
+++ b/cc/config/arm64_device.go
@@ -76,6 +76,11 @@
 		"cortex-a53": []string{
 			"-mcpu=cortex-a53",
 		},
+		"kryo": []string{
+			// Use the cortex-a57 cpu since no compiler supports
+			// Kryo as a CPU target yet.
+			"-mcpu=cortex-a57",
+		},
 	}
 
 	arm64ClangCpuVariantCflags = copyVariantFlags(arm64CpuVariantCflags)
@@ -89,6 +94,7 @@
 	android.RegisterArchVariants(android.Arm64,
 		"armv8_a",
 		"cortex_a53",
+		"kryo",
 		"denver64")
 
 	pctx.StaticVariable("arm64GccVersion", arm64GccVersion)
@@ -109,17 +115,24 @@
 		strings.Join(arm64CpuVariantCflags["cortex-a53"], " "))
 	pctx.StaticVariable("Arm64ClangCortexA53Cflags",
 		strings.Join(arm64ClangCpuVariantCflags["cortex-a53"], " "))
+
+	pctx.StaticVariable("Arm64KryoCflags",
+		strings.Join(arm64CpuVariantCflags["kryo"], " "))
+	pctx.StaticVariable("Arm64ClangKryoCflags",
+		strings.Join(arm64ClangCpuVariantCflags["kryo"], " "))
 }
 
 var (
 	arm64CpuVariantCflagsVar = map[string]string{
 		"":           "",
 		"cortex-a53": "${config.Arm64CortexA53Cflags}",
+		"kryo":       "${config.Arm64KryoCflags}",
 	}
 
 	arm64ClangCpuVariantCflagsVar = map[string]string{
 		"":           "",
 		"cortex-a53": "${config.Arm64ClangCortexA53Cflags}",
+		"kryo":       "${config.Arm64ClangKryoCflags}",
 	}
 )