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 [email protected] 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
