aboutsummaryrefslogtreecommitdiff
path: root/hw/misc
diff options
context:
space:
mode:
authorSteven Lee <steven_lee@aspeedtech.com>2022-05-03 10:27:10 +0800
committerCédric Le Goater <clg@kaod.org>2022-05-03 07:17:20 +0200
commite056c52233910ef156e6d790ce41b33cd838bad6 (patch)
treea45e5abd752ac09f7379a0a23d08a761b8d89a53 /hw/misc
parent2ec063788efd3a545c5aa2999159c9303bb476f3 (diff)
downloadqemu-e056c52233910ef156e6d790ce41b33cd838bad6.zip
qemu-e056c52233910ef156e6d790ce41b33cd838bad6.tar.gz
qemu-e056c52233910ef156e6d790ce41b33cd838bad6.tar.bz2
aspeed/hace: Support AST1030 HACE
Per ast1030_v7.pdf, AST1030 HACE engine is identical to AST2600's HACE engine. Signed-off-by: Steven Lee <steven_lee@aspeedtech.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'hw/misc')
-rw-r--r--hw/misc/aspeed_hace.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c
index 0f4059e..4b5997e 100644
--- a/hw/misc/aspeed_hace.c
+++ b/hw/misc/aspeed_hace.c
@@ -507,11 +507,31 @@ static const TypeInfo aspeed_ast2600_hace_info = {
.class_init = aspeed_ast2600_hace_class_init,
};
+static void aspeed_ast1030_hace_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ AspeedHACEClass *ahc = ASPEED_HACE_CLASS(klass);
+
+ dc->desc = "AST1030 Hash and Crypto Engine";
+
+ ahc->src_mask = 0x7FFFFFFF;
+ ahc->dest_mask = 0x7FFFFFF8;
+ ahc->key_mask = 0x7FFFFFF8;
+ ahc->hash_mask = 0x00147FFF;
+}
+
+static const TypeInfo aspeed_ast1030_hace_info = {
+ .name = TYPE_ASPEED_AST1030_HACE,
+ .parent = TYPE_ASPEED_HACE,
+ .class_init = aspeed_ast1030_hace_class_init,
+};
+
static void aspeed_hace_register_types(void)
{
type_register_static(&aspeed_ast2400_hace_info);
type_register_static(&aspeed_ast2500_hace_info);
type_register_static(&aspeed_ast2600_hace_info);
+ type_register_static(&aspeed_ast1030_hace_info);
type_register_static(&aspeed_hace_info);
}