RE: [PATCH 0/2] Add Axiado HCP network device model

Ratan Lal Dondi posted 2 patches 3 weeks, 1 day ago
Only 0 patches received!
hw/arm/Kconfig              |    1 +
hw/arm/ax3000-soc.c         |   23 +
hw/net/Kconfig              |    3 +
hw/net/axiado_hcp.c         | 1372 +++++++++++++++++++++++++++++++++++
hw/net/meson.build          |    2 +
hw/net/trace-events         |    6 +
include/hw/arm/ax3000-soc.h |   14 +
include/hw/net/axiado_hcp.h |  172 +++++
8 files changed, 1593 insertions(+)
create mode 100644 hw/net/axiado_hcp.c
create mode 100644 include/hw/net/axiado_hcp.h
RE: [PATCH 0/2] Add Axiado HCP network device model
Posted by Ratan Lal Dondi 3 weeks, 1 day ago
Hi,
Just a gentle reminder on this patch. 
Please let me know if you have any feedback or if you need any changes.

Thanks,
Ratan La Dondi

-----Original Message-----
From: Ratan Lal Dondi <rdondi@axiado.com> 
Sent: 16 September 2026 10:22
To: qemu-devel@nongnu.org; qemu-arm@nongnu.org
Cc: pbonzini@redhat.com; peter.maydell@linaro.org; jasowangio@gmail.com; Kuan-Jui Chiu <kchiu@axiado.com>; Ratan Lal Dondi <rdondi@axiado.com>
Subject: [PATCH 0/2] Add Axiado HCP network device model

This patchset introduces Axiado HCP network model for SoC AX3000

The HCP (Header and Crypto Processing) block is the substantial part of the series. It is the SoC's network complex, built around an Inside Secure SafeXcel EIP-197 packet engine that acts as bus master for all packet I/O over four command/result descriptor ring pairs. Five MACs are demultiplexed by an "application ID" tag carried in the EIP-96 input and output tokens. Only the packet datapath is modelled; the
EIP-197 cryptographic transforms are treated as pass-through, which is what the guest asks for when the block is used as a network interface.

Refer Axiado website for more product information https://axiado.com/products/

Testing
-------
 The user-mode network backend is required, so configure with libslirp  enabled (it is auto-detected, and silently absent otherwise):

  ./configure --target-list=aarch64-softmmu -Dslirp=enabled

  qemu-system-aarch64 \
    -m 4G \
    -machine axiado-scm3003 \
    -device loader,file=u-boot.bin,addr=0x3C000000,cpu-num=0 \
    -nographic \
    -serial null \
    -serial null \
    -serial null \
    -serial mon:stdio \
    -drive if=sd,file=obmc-phosphor-image-evk-axiado-qemu.wic,format=raw \
    -netdev user,id=net4,hostfwd=tcp::2222-:22 \
    -global axiado-hcp.netdev4=net4 \


In the guest, bring the interface up with DHCP:

  udhcpc -i eth0

Then from the host:

  ssh -p 2222 root@127.0.0.1

With the unmodified vendor Linux driver, the guest:

  - probes the HCP and brings eth0 up
  - obtains an address over DHCP from the SLIRP backend
  - resolves ARP and answers ping
  - sustains an SSH session and completes an SCP transfer

Not modelled
------------

  - EIP-197 cryptographic transforms. Descriptors are pass-through.
  - PCS/SerDes behaviour. The guest configures these registers and never
    reads them back, so writes are accepted and discarded; the link is
    always reported up.

Ratan Lal Dondi (2):
  hw/net: Add Axiado HCP network device model
  hw/arm: Wire up the HCP network complex in the AX3000 SoC

 hw/arm/Kconfig              |    1 +
 hw/arm/ax3000-soc.c         |   23 +
 hw/net/Kconfig              |    3 +
 hw/net/axiado_hcp.c         | 1372 +++++++++++++++++++++++++++++++++++
 hw/net/meson.build          |    2 +
 hw/net/trace-events         |    6 +
 include/hw/arm/ax3000-soc.h |   14 +
 include/hw/net/axiado_hcp.h |  172 +++++
 8 files changed, 1593 insertions(+)
 create mode 100644 hw/net/axiado_hcp.c
 create mode 100644 include/hw/net/axiado_hcp.h

--
2.34.1