* Xilinx Zynq 7000 Start of CPU1 @ 2024-09-18 9:13 Sebastian Huber 2024-09-19 0:28 ` Sebastian Huber 0 siblings, 1 reply; 2+ messages in thread From: Sebastian Huber @ 2024-09-18 9:13 UTC (permalink / raw) To: qemu-devel Hello, I recently added the support for CPU1 to the xilinx-zynq-a9 machine (hw/arm/xilinx_zynq.c). However, the reset behaviour doesn't match exactly with the hardware. After a system reset (SRST), the CPU1 should execute a wfe instruction and then load the start address from 0xfffffff0: https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM/Starting-Code-on-CPU-1 It would be great if someone has a hint for me how I can add this startup code for CPU1 at address region 0xFFFFFE00 to 0xFFFFFFF0. Kind regards, Sebastian -- embedded brains GmbH & Co. KG Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Xilinx Zynq 7000 Start of CPU1 2024-09-18 9:13 Xilinx Zynq 7000 Start of CPU1 Sebastian Huber @ 2024-09-19 0:28 ` Sebastian Huber 0 siblings, 0 replies; 2+ messages in thread From: Sebastian Huber @ 2024-09-19 0:28 UTC (permalink / raw) To: qemu-devel; +Cc: qemu-arm [-- Attachment #1: Type: text/plain, Size: 1513 bytes --] ----- Am 18. Sep 2024 um 11:13 schrieb Sebastian Huber sebastian.huber@embedded-brains.de: > Hello, > > I recently added the support for CPU1 to the xilinx-zynq-a9 machine > (hw/arm/xilinx_zynq.c). However, the reset behaviour doesn't match exactly with > the hardware. After a system reset (SRST), the CPU1 should execute a wfe > instruction and then load the start address from 0xfffffff0: > > https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM/Starting-Code-on-CPU-1 > > It would be great if someone has a hint for me how I can add this startup code > for CPU1 at address region 0xFFFFFE00 to 0xFFFFFFF0. I got it working with some hacks in arm_load_kernel() and do_cpu_reset(). In arm_load_kernel() had to remove the: /* * No secondary boot stub; don't use the reset hook that would * have set the CPU up to call it */ info->write_secondary_boot = NULL; info->secondary_cpu_reset_hook = NULL; This change probably breaks a lot of things. I am not sure how to address this issue. -- embedded brains GmbH & Co. KG Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ [-- Attachment #2: 0001-hw-arm-xilinx_zynq-Add-CPU1-reset.patch --] [-- Type: application/mbox, Size: 3445 bytes --] ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-09-19 0:29 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-18 9:13 Xilinx Zynq 7000 Start of CPU1 Sebastian Huber 2024-09-19 0:28 ` Sebastian Huber
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).