qemu/hw/arm
Philippe Mathieu-Daudé 98fb9678da hw/arm/aspeed_ast10x0: Map HACE peripheral
Since I don't have access to the datasheet, the relevant
values were found in:
https://github.com/AspeedTech-BMC/zephyr/blob/v00.01.08/dts/arm/aspeed/ast10x0.dtsi

Before on Zephyr:

  uart:~$ hash test
  sha256_test
  tv[0]:hash_final error
  sha384_test
  tv[0]:hash_final error
  sha512_test
  tv[0]:hash_final error
  [00:00:06.278,000] <err> hace_global: HACE poll timeout
  [00:00:09.324,000] <err> hace_global: HACE poll timeout
  [00:00:12.261,000] <err> hace_global: HACE poll timeout

  uart:~$ crypto aes256_cbc_vault
  aes256_cbc vault key 1
  [00:00:06.699,000] <inf> hace_global: aspeed_crypto_session_setup
  [00:00:06.699,000] <inf> hace_global: data->cmd: 1c2098
  [00:00:06.699,000] <inf> hace_global: crypto_data_src: 93340
  [00:00:06.699,000] <inf> hace_global: crypto_data_dst: 93348
  [00:00:06.699,000] <inf> hace_global: crypto_ctx_base: 93300
  [00:00:06.699,000] <inf> hace_global: crypto_data_len: 80000040
  [00:00:06.699,000] <inf> hace_global: crypto_cmd_reg:  11c2098
  [00:00:09.743,000] <inf> hace_global: HACE_STS: 0
  [00:00:09.743,000] <err> hace_global: HACE poll timeout
  [00:00:09.743,000] <err> crypto: CBC mode ENCRYPT - Failed
  [00:00:09.743,000] <inf> hace_global: aspeed_crypto_session_free
  uart:~$

After:

  uart:~$ hash test
  sha256_test
  tv[0]:PASS
  tv[1]:PASS
  tv[2]:PASS
  tv[3]:PASS
  tv[4]:PASS
  sha384_test
  tv[0]:PASS
  tv[1]:PASS
  tv[2]:PASS
  tv[3]:PASS
  tv[4]:PASS
  tv[5]:PASS
  sha512_test
  tv[0]:PASS
  tv[1]:PASS
  tv[2]:PASS
  tv[3]:PASS
  tv[4]:PASS
  tv[5]:PASS

  uart:~$ crypto aes256_cbc_vault
  aes256_cbc vault key 1
  Was waiting for:
  6b c1 be e2 2e 40 9f 96 e9 3d 7e 11 73 93 17 2a
  ae 2d 8a 57 1e 03 ac 9c 9e b7 6f ac 45 af 8e 51
  30 c8 1c 46 a3 5c e4 11 e5 fb c1 19 1a 0a 52 ef
  f6 9f 24 45 df 4f 9b 17 ad 2b 41 7b e6 6c 37 10

   But got:
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

  [00:00:05.771,000] <inf> hace_global: aspeed_crypto_session_setup
  [00:00:05.772,000] <inf> hace_global: data->cmd: 1c2098
  [00:00:05.772,000] <inf> hace_global: crypto_data_src: 93340
  [00:00:05.772,000] <inf> hace_global: crypto_data_dst: 93348
  [00:00:05.772,000] <inf> hace_global: crypto_ctx_base: 93300
  [00:00:05.772,000] <inf> hace_global: crypto_data_len: 80000040
  [00:00:05.772,000] <inf> hace_global: crypto_cmd_reg:  11c2098
  [00:00:05.772,000] <inf> hace_global: HACE_STS: 1000
  [00:00:05.772,000] <inf> crypto: Output length (encryption): 80
  [00:00:05.772,000] <inf> hace_global: aspeed_crypto_session_free
  [00:00:05.772,000] <inf> hace_global: aspeed_crypto_session_setup
  [00:00:05.772,000] <inf> hace_global: data->cmd: 1c2018
  [00:00:05.772,000] <inf> hace_global: crypto_data_src: 93340
  [00:00:05.772,000] <inf> hace_global: crypto_data_dst: 93348
  [00:00:05.772,000] <inf> hace_global: crypto_ctx_base: 93300
  [00:00:05.772,000] <inf> hace_global: crypto_data_len: 80000040
  [00:00:05.772,000] <inf> hace_global: crypto_cmd_reg:  11c2018
  [00:00:05.772,000] <inf> hace_global: HACE_STS: 1000
  [00:00:05.772,000] <inf> crypto: Output length (decryption): 64
  [00:00:05.772,000] <err> crypto: CBC mode DECRYPT - Mismatch between plaintext and decrypted cipher text
  [00:00:05.774,000] <inf> hace_global: aspeed_crypto_session_free
  uart:~$

Reviewed-by: Peter Delevoryas <peter@pjd.dev>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
2023-02-07 09:02:05 +01:00
..
allwinner-a10.c hw/arm: Allwinner A10 enable SPL load from MMC 2023-01-12 16:50:19 +00:00
allwinner-h3.c {hw/i2c,docs/system/arm}: Allwinner TWI/I2C Emulation 2023-01-12 16:50:19 +00:00
armsse.c error: Move ERRP_GUARD() to the beginning of the function 2022-12-14 16:19:35 +01:00
armv7m.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
aspeed_ast10x0.c hw/arm/aspeed_ast10x0: Map HACE peripheral 2023-02-07 09:02:05 +01:00
aspeed_ast2600.c hw/watchdog/wdt_aspeed: Rename MMIO region size as 'iosize' 2023-02-07 09:02:05 +01:00
aspeed_eeprom.c hw/arm/aspeed: Add aspeed_eeprom.c 2023-02-07 09:02:05 +01:00
aspeed_eeprom.h hw/arm/aspeed: Add aspeed_eeprom.c 2023-02-07 09:02:05 +01:00
aspeed_soc.c hw/watchdog/wdt_aspeed: Rename MMIO region size as 'iosize' 2023-02-07 09:02:05 +01:00
aspeed.c hw/arm/aspeed: Add aspeed_eeprom.c 2023-02-07 09:02:05 +01:00
bcm2835_peripherals.c Align Raspberry Pi DMA interrupts with Linux DTS 2022-07-18 13:25:13 +01:00
bcm2836.c hw/arm/bcm2836: Remove definitions generated by OBJECT_DECLARE_TYPE() 2023-01-12 17:15:09 +00:00
boot.c hw/arm/boot: set initrd with #address-cells type in fdt 2022-12-15 11:18:20 +00:00
collie.c hw/arm/collie: Simplify flash creation using for() loop 2023-01-12 17:03:14 +00:00
cubieboard.c hw/arm: Allwinner A10 enable SPL load from MMC 2023-01-12 16:50:19 +00:00
digic_boards.c hw/arm: Don't include qemu-common.h unnecessarily 2021-12-15 10:35:26 +00:00
digic.c arm/digic: replace snprintf() with g_strdup_printf() 2022-04-21 17:03:51 +04:00
exynos4_boards.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
exynos4210.c hw/arm/exynos4210: Drop Exynos4210Irq struct 2022-04-21 11:37:04 +01:00
fby35.c aspeed/fby35: Fix owner of the BMC RAM memory region 2022-08-01 15:24:15 +02:00
fsl-imx6.c Add the ability to change the FEC PHY MDIO device number on i.MX6 processor 2020-07-13 14:36:08 +01:00
fsl-imx6ul.c i.MX6UL: Add a specific GPT timer instance for the i.MX6UL 2023-01-05 15:02:08 +00:00
fsl-imx7.c i.MX7D: Connect IRQs to GPIO devices. 2023-01-05 15:04:17 +00:00
fsl-imx25.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
fsl-imx31.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
gumstix.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
highbank.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
imx25_pdk.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
integratorcp.c hw: Replace trivial drive_get_next() by drive_get() 2021-12-15 08:38:16 +01:00
Kconfig hw/i2c/versatile_i2c: Rename versatile_i2c -> arm_sbcon_i2c 2023-01-23 13:32:38 +00:00
kzm.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
mainstone.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00
mcimx6ul-evk.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
mcimx7d-sabre.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
meson.build hw/arm/aspeed: Add aspeed_eeprom.c 2023-02-07 09:02:05 +01:00
microbit.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
mps2-tz.c reset: allow registering handlers that aren't called by snapshot loading 2022-10-27 11:34:31 +01:00
mps2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
msf2-soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
msf2-som.c tests/avocado: Truncate M2S-FG484 SOM SPI flash to 16MiB 2023-02-07 09:02:04 +01:00
musca.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
musicpal.c hw/i2c/bitbang_i2c: Define TYPE_GPIO_I2C in public header 2023-01-23 13:32:38 +00:00
netduino2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
netduinoplus2.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
npcm7xx_boards.c hw/arm: Extract at24c_eeprom_init helper from Aspeed and Nuvoton boards 2023-02-07 09:02:04 +01:00
npcm7xx.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
nrf51_soc.c arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
nseries.c hw/arm/nseries: Silent -Wmissing-field-initializers warning 2023-01-05 14:11:15 +00:00
olimex-stm32-h405.c hw/arm: Add Olimex H405 2023-01-12 16:50:19 +00:00
omap1.c hw/arm/omap: Drop useless casts from void * to pointer 2023-01-12 17:15:09 +00:00
omap2.c hw/arm/omap: Drop useless casts from void * to pointer 2023-01-12 17:15:09 +00:00
omap_sx1.c hw/arm/omap: Drop useless casts from void * to pointer 2023-01-12 17:15:09 +00:00
orangepi.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
palm.c hw/arm/omap: Drop useless casts from void * to pointer 2023-01-12 17:15:09 +00:00
pxa2xx_gpio.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pxa2xx_pic.c target/arm: Replace sentinels with ARRAY_SIZE in cpregs.h 2022-05-05 09:35:50 +01:00
pxa2xx.c hw/arm/pxa2xx: Simplify pxa270_init() 2023-01-12 17:03:14 +00:00
raspi.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
realview.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
sabrelite.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
sbsa-ref.c sbsa-ref: remove cortex-a76 from list of supported cpus 2023-02-03 12:59:22 +00:00
smmu-common.c hw: Use TYPE_PCI_BUS definition where appropriate 2023-01-28 06:21:30 -05:00
smmu-internal.h hw/arm/smmuv3: Fix SMMU_CMD_CFGI_STE_RANGE handling 2021-03-12 12:40:10 +00:00
smmuv3-internal.h hw/arm/smmuv3: Advertise support for SMMUv3.2-BBML2 2022-04-28 13:59:23 +01:00
smmuv3.c hw/arm: Convert TYPE_ARM_SMMUV3 to 3-phase reset 2022-12-15 11:18:20 +00:00
spitz.c hw/arm/pxa2xx: Simplify pxa270_init() 2023-01-12 17:03:14 +00:00
stellaris.c hw/arm/stellaris: Use CamelCase for STELLARIS_ADC type name 2023-01-12 17:15:09 +00:00
stm32f100_soc.c hw/arm/stm32f100: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f205_soc.c hw/arm/stm32f205: Wire up sysclk and refclk 2021-09-01 11:08:19 +01:00
stm32f405_soc.c hw/arm/stm32f405: correctly describe the memory layout 2023-01-12 16:50:18 +00:00
stm32vldiscovery.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
strongarm.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
tosa.c hw/arm/pxa2xx: Simplify pxa255_init() 2023-01-12 17:03:14 +00:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
vexpress.c hw/i2c/versatile_i2c: Replace TYPE_VERSATILE_I2C -> TYPE_ARM_SBCON_I2C 2023-01-23 13:32:38 +00:00
virt-acpi-build.c hw/arm/virt: Enable HMAT on arm virt machine 2022-11-07 14:08:17 -05:00
virt.c hw/arm/virt: Make accels in GIC finalize logic explicit 2023-02-03 12:59:22 +00:00
xilinx_zynq.c hw/arm/boot: Drop nb_cpus field from arm_boot_info 2022-02-08 10:56:28 +00:00
xlnx-versal-virt.c hw/core: Move the ARM sysbus-fdt to core 2022-04-29 10:48:26 +10:00
xlnx-versal.c hw/arm: versal: Connect the CRL 2022-04-21 11:37:03 +01:00
xlnx-zcu102.c hw/arm/xlnx-zcu102: Don't enable PSCI conduit when booting guest in EL3 2022-02-08 10:56:27 +00:00
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: Connect ZynqMP's USB controllers 2022-09-29 17:40:01 +01:00
z2.c hw/arm: Remove unreachable code calling pflash_cfi01_register() 2023-01-12 17:03:14 +00:00