Hello Jamin,

On 2/13/25 04:35, Jamin Lin wrote:
v1:
  1. Refactor INTC model to support both INTC0 and INTC1.
  2. Support AST2700 A1.
  3. Create ast2700a0-evb machine.
v2:
   To streamline the review process, split the following patch series into
   three parts.
   
https://patchwork.kernel.org/project/qemu-devel/cover/20250121070424.2465942-1-jamin_...@aspeedtech.com/
   This patch series focuses on cleaning up the INTC model to
   facilitate future support for the INTC_IO model.

v3:
  1. Update and add functional test for AST2700
  2. Add AST2700 INTC design guidance and its block diagram.
  3. Retaining the INTC naming and introducing a new INTCIO model to support 
the AST2700 A1.
  4. Create ast2700a1-evb machine and rename ast2700a0-evb machine
  5. Fix silicon revision issue and support AST2700 A1.

With the patch applied, QEMU now supports two machines for running AST2700 SoCs:
ast2700a0-evb: Designed for AST2700 A0
ast2700a1-evb: Designed for AST2700 A1

Test information
1. QEMU version: 
https://github.com/qemu/qemu/commit/ffaf7f0376f8040ce9068d71ae9ae8722505c42e
2. ASPEED SDK v09.05 pre-built image
    https://github.com/AspeedTech-BMC/openbmc/releases/tag/v09.05
    ast2700-default-obmc.tar.gz (AST2700 A1)
    
https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.05/ast2700-default-obmc.tar.gz
    ast2700-a0-default-obmc.tar.gz (AST2700 A0)
    
https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.05/ast2700-a0-default-obmc.tar.gz

The part adding new functional tests needs a rework. See comment.

Known Issue:
The HACE crypto and hash engine is enable by default since AST2700 A1.
However, aspeed_hace.c(HACE model) currently does not support the CRYPTO 
command.
To boot AST2700 A1, I have created a Patch 21 which temporarily resolves the
issue by sending an interrupt to notify the firmware that the cryptographic
command has completed. It is a temporary workaround to resolve the boot issue
in the Crypto Manager SelfTest.

As a result, you will encounter the following kernel warning due to the
Crypto Manager test failure. If you don't want to see these kernel warning,
please add the following settings in your kernel config.

```
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
```

Would it be possible to send the hace changes in its own series ?



Jamin Lin (28):
   hw/intc/aspeed: Support setting different memory and register size
   hw/intc/aspeed: Introduce helper functions for enable and status
     registers
   hw/intc/aspeed: Add object type name to trace events for better
     debugging
   hw/arm/aspeed: Rename IRQ table and machine name for AST2700 A0
   hw/arm/aspeed_ast27x0: Sort the IRQ table by IRQ number
   hw/intc/aspeed: Support different memory region ops
   hw/intc/aspeed: Rename num_ints to num_inpins for clarity
   hw/intc/aspeed: Add support for multiple output pins in INTC
   hw/intc/aspeed: Refactor INTC to support separate input and output pin
     indices
   hw/intc/aspeed: Introduce AspeedINTCIRQ structure to save the irq
     index and register address
   hw/intc/aspeed: Introduce IRQ handler function to reduce code
     duplication
   hw/intc/aspeed: Add Support for Multi-Output IRQ Handling
   hw/intc/aspeed: Add Support for AST2700 INTCIO Controller
   hw/misc/aspeed_scu: Add Support for AST2700/AST2750 A1 Silicon
     Revisions
   hw/misc/aspeed_scu: Fix the revision ID cannot be set in the SOC layer
     for AST2700
   hw/arm/aspeed_ast27x0.c Support AST2700 A1 GIC Interrupt Mapping
   hw/arm/aspeed_ast27x0: Support two levels of INTC controllers for
     AST2700 A1
   hw/arm/aspeed: Add SoC and Machine Support for AST2700 A1
   hw/misc/aspeed_hace: Fix coding style
   hw/misc/aspeed_hace: Add AST2700 support
   hw/misc/aspeed_hace: Fix boot issue in the Crypto Manager Self Test
   hw/arm/aspeed_ast27x0: Add HACE support for AST2700
   test/functional/aspeed: Introduce new function to fetch assets
   tests/functional/aspeed: Introduce start_ast2700_test API and update
     hwmon path
   tests/functional/aspeed: Update test ASPEED SDK v09.05
   tests/functional/aspeed: Renamed test case and machine for AST2700 A0
   tests/functional/aspeed: Add test case for AST2700 A1
   docs/specs: add aspeed-intc

  docs/specs/aspeed-intc.rst              | 136 ++++++
  docs/specs/index.rst                    |   1 +
  hw/arm/aspeed.c                         |  21 +-
  hw/arm/aspeed_ast27x0.c                 | 291 +++++++++---
  hw/intc/aspeed_intc.c                   | 593 +++++++++++++++++++-----
  hw/intc/trace-events                    |  25 +-
  hw/misc/aspeed_hace.c                   |  44 +-
  hw/misc/aspeed_scu.c                    |   5 +-
  include/hw/arm/aspeed_soc.h             |   3 +-
  include/hw/intc/aspeed_intc.h           |  32 +-
  include/hw/misc/aspeed_hace.h           |   1 +
  include/hw/misc/aspeed_scu.h            |   2 +
  tests/functional/test_aarch64_aspeed.py |  47 +-
  13 files changed, 963 insertions(+), 238 deletions(-)
  create mode 100644 docs/specs/aspeed-intc.rst


Patch 1-9 and the hace changes could be merged quickly.


I need  some help on patch 10,12,16,17.

Andrew,

Would you have time please ?

Thanks,

C.


Reply via email to