* [PATCH 0/2] MAX78000: documentation and test @ 2025-07-11 2:03 Jackson Donaldson 2025-07-11 2:03 ` [PATCH 1/2] docs/system: arm: Add max78000 board description Jackson Donaldson 2025-07-11 2:03 ` [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine Jackson Donaldson 0 siblings, 2 replies; 5+ messages in thread From: Jackson Donaldson @ 2025-07-11 2:03 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell Adds .rST documentation and a functional test for the MAX78000FTHR machine as requested by Peter Maydell. Jackson Donaldson (2): docs/system: arm: Add max78000 board description tests/functional: Add a test for the MAX78000 arm machine docs/system/arm/max78000.rst | 35 +++++++++++++++++ tests/functional/meson.build | 1 + tests/functional/test_arm_max78000fthr.py | 48 +++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 docs/system/arm/max78000.rst create mode 100755 tests/functional/test_arm_max78000fthr.py -- 2.34.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] docs/system: arm: Add max78000 board description 2025-07-11 2:03 [PATCH 0/2] MAX78000: documentation and test Jackson Donaldson @ 2025-07-11 2:03 ` Jackson Donaldson 2025-07-11 8:48 ` Peter Maydell 2025-07-11 2:03 ` [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine Jackson Donaldson 1 sibling, 1 reply; 5+ messages in thread From: Jackson Donaldson @ 2025-07-11 2:03 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell This adds the target guide for the max78000FTHR Signed-off-by: Jackson Donaldson <jcksn@duck.com> --- docs/system/arm/max78000.rst | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/system/arm/max78000.rst diff --git a/docs/system/arm/max78000.rst b/docs/system/arm/max78000.rst new file mode 100644 index 0000000000..d07d8b8a36 --- /dev/null +++ b/docs/system/arm/max78000.rst @@ -0,0 +1,35 @@ +Analog Devices max78000 board (``max78000fthr``) +=============================================================================================================== + +The max78000 is a Cortex-M4 based SOC with a RISC-V coprocessor. The RISC-V coprocessor is not supported. + +Supported devices +----------------- + + * Instruction Cache Controller + * UART + * Global Control Register + * True Random Number Generator + * AES + +Notable unsupported devices +----------------- + + * I2C + * CNN + * CRC + * SPI + +Boot options +------------ + +The max78000 can be started using the ``-kernel`` option to load a +firmware at address 0 as the ROM. As the ROM normally jumps to software loaded +from the internal flash at address 0x10000000, loading your program there is +generally advisable. If you don't have a copy of the ROM, the interrupt +vector table from user firmware will do. +Example: + +.. code-block:: bash + + $ qemu-system-arm -machine max78000fthr -kernel max78000.bin -device loader,file=max78000.bin,addr=0x10000000 \ No newline at end of file -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] docs/system: arm: Add max78000 board description 2025-07-11 2:03 ` [PATCH 1/2] docs/system: arm: Add max78000 board description Jackson Donaldson @ 2025-07-11 8:48 ` Peter Maydell 0 siblings, 0 replies; 5+ messages in thread From: Peter Maydell @ 2025-07-11 8:48 UTC (permalink / raw) To: Jackson Donaldson; +Cc: qemu-devel On Fri, 11 Jul 2025 at 03:03, Jackson Donaldson <jackson88044@gmail.com> wrote: > > This adds the target guide for the max78000FTHR > > Signed-off-by: Jackson Donaldson <jcksn@duck.com> > --- > docs/system/arm/max78000.rst | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 docs/system/arm/max78000.rst Did your local system build the docs? This should have given an error because the new file isn't listed in the toctree in docs/system/target-arm.rst. Passing configure --enable-docs will force it to complain if you're missing a prerequisite to build the docs (otherwise it only builds them if it can). thanks -- PMM ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine 2025-07-11 2:03 [PATCH 0/2] MAX78000: documentation and test Jackson Donaldson 2025-07-11 2:03 ` [PATCH 1/2] docs/system: arm: Add max78000 board description Jackson Donaldson @ 2025-07-11 2:03 ` Jackson Donaldson 2025-07-11 7:30 ` Thomas Huth 1 sibling, 1 reply; 5+ messages in thread From: Jackson Donaldson @ 2025-07-11 2:03 UTC (permalink / raw) To: qemu-devel; +Cc: peter.maydell Runs a binary from the max78000test repo used in developing the qemu implementation of the max78000 to verify that the machine and implemented devices generally still work. Signed-off-by: Jackson Donaldson <jcksn@duck.com> --- tests/functional/meson.build | 1 + tests/functional/test_arm_max78000fthr.py | 48 +++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100755 tests/functional/test_arm_max78000fthr.py diff --git a/tests/functional/meson.build b/tests/functional/meson.build index e9f19d54a2..f837c6ddb1 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -131,6 +131,7 @@ tests_arm_system_thorough = [ 'arm_cubieboard', 'arm_emcraft_sf2', 'arm_integratorcp', + 'arm_max78000fthr', 'arm_microbit', 'arm_orangepi', 'arm_quanta_gsj', diff --git a/tests/functional/test_arm_max78000fthr.py b/tests/functional/test_arm_max78000fthr.py new file mode 100755 index 0000000000..a82980b0f7 --- /dev/null +++ b/tests/functional/test_arm_max78000fthr.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# +# Functional test that checks the max78000fthr machine. +# Tests ICC, GCR, TRNG, AES, and UART +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from qemu_test import QemuSystemTest, Asset, exec_command_and_wait_for_pattern +from qemu_test import wait_for_console_pattern + + +class Max78000Machine(QemuSystemTest): + + ASSET_FW = Asset( + 'https://github.com/JacksonDonaldson/max78000Test/raw/main/build/max78000.bin', + '86940b4bf60931bc6a8aa5db4b9f7f3cf8f64dbbd7ac534647980e536cf3adf7') + + def test_fthr(self): + self.set_machine('max78000fthr') + fw_path = self.ASSET_FW.fetch() + self.vm.set_console() + self.vm.add_args('-kernel', fw_path) + self.vm.add_args('-device', "loader,file=" + fw_path + ",addr=0x10000000") + self.vm.launch() + + wait_for_console_pattern(self, 'started') + + # i -> prints instruction cache values + exec_command_and_wait_for_pattern(self, 'i', 'CTRL: 00010001') + + # r -> gcr resets the machine + exec_command_and_wait_for_pattern(self, 'r', 'started') + + # z -> sets some memory, then has gcr zero it + exec_command_and_wait_for_pattern(self, 'z', 'initial value: 12345678') + wait_for_console_pattern(self, "after memz: 00000000") + + # t -> runs trng + exec_command_and_wait_for_pattern(self, 't', 'random data:') + + # a -> runs aes + exec_command_and_wait_for_pattern(self, 'a', + 'encrypted to : a47ca9dd e0df4c86 a070af6e 91710dec') + wait_for_console_pattern(self, + 'encrypted to : cab7a28e bf456751 9049fcea 8960494b') + +if __name__ == '__main__': + QemuSystemTest.main() -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine 2025-07-11 2:03 ` [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine Jackson Donaldson @ 2025-07-11 7:30 ` Thomas Huth 0 siblings, 0 replies; 5+ messages in thread From: Thomas Huth @ 2025-07-11 7:30 UTC (permalink / raw) To: Jackson Donaldson, qemu-devel; +Cc: peter.maydell On 11/07/2025 04.03, Jackson Donaldson wrote: > Runs a binary from the max78000test repo used in > developing the qemu implementation of the max78000 > to verify that the machine and implemented devices > generally still work. > > Signed-off-by: Jackson Donaldson <jcksn@duck.com> > --- > tests/functional/meson.build | 1 + > tests/functional/test_arm_max78000fthr.py | 48 +++++++++++++++++++++++ > 2 files changed, 49 insertions(+) > create mode 100755 tests/functional/test_arm_max78000fthr.py Reviewed-by: Thomas Huth <thuth@redhat.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-07-11 9:04 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-07-11 2:03 [PATCH 0/2] MAX78000: documentation and test Jackson Donaldson 2025-07-11 2:03 ` [PATCH 1/2] docs/system: arm: Add max78000 board description Jackson Donaldson 2025-07-11 8:48 ` Peter Maydell 2025-07-11 2:03 ` [PATCH 2/2] tests/functional: Add a test for the MAX78000 arm machine Jackson Donaldson 2025-07-11 7:30 ` Thomas Huth
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).