Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmake: platforms: xlnx: Update machine from 'zynqmp_' to 'xlnx_' #305

Open
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

bentheredonethat
Copy link
Contributor

Match update so that the cmake platform files are coupled to vendor and not SOC which is previously 'zynqmp_'.

@bentheredonethat
Copy link
Contributor Author

@arnopo @wmamills updated .cmake file names

@arnopo arnopo requested a review from wmamills September 9, 2024 07:05
Copy link
Contributor

@arnopo arnopo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@edmooring edmooring left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to go.

@@ -1,5 +1,5 @@
set (CMAKE_SYSTEM_PROCESSOR "aarch64" CACHE STRING "")
set (MACHINE "zynqmp_a53" CACHE STRING "")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keep the alignement

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After addressing this comment it's good to go.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but still not aligned

@@ -1,5 +1,5 @@
set (CMAKE_SYSTEM_PROCESSOR "arm" CACHE STRING "")
set (MACHINE "zynqmp_r5" CACHE STRING "")
set (MACHINE "xlnx_r5" CACHE STRING "")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@@ -1,5 +1,5 @@
set (CMAKE_SYSTEM_PROCESSOR "arm" CACHE STRING "")
set (MACHINE "zynqmp_r5" CACHE STRING "")
set (MACHINE "xlnx_r5" CACHE STRING "")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@@ -1,5 +1,5 @@
set (CMAKE_SYSTEM_PROCESSOR "aarch64" CACHE STRING "")
set (MACHINE "zynqmp_a53" CACHE STRING "")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but still not aligned

@@ -1,5 +1,5 @@
set (CMAKE_SYSTEM_PROCESSOR "aarch64" CACHE STRING "")
set (MACHINE "zynqmp_a53" CACHE STRING "")
set (MACHINE "xlnx_a53" CACHE STRING "")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@arnopo
Copy link
Contributor

arnopo commented Oct 17, 2024

@bentheredonethat could you address the comment that we merge it for this release ( code freeze tomorrow evening)?

@arnopo arnopo added this to the Release v2024.10 milestone Oct 17, 2024
@tnmysh
Copy link
Collaborator

tnmysh commented Oct 17, 2024

@bentheredonethat could you address the comment that we merge it for this release ( code freeze tomorrow evening)?

He is on vacation right now. I am not sure if I can push changes in this PR. I will find a way if it's possible, I will do it.

@tnmysh
Copy link
Collaborator

tnmysh commented Oct 17, 2024

As discussed in RP call, this will be merged after release.

CC: @arnopo, @bentheredonethat

@arnopo arnopo removed this from the Release v2024.10 milestone Oct 18, 2024
@bentheredonethat
Copy link
Contributor Author

@xiaoxiang781216 @arnopo updted with alignment

Wendy Liang and others added 13 commits November 13, 2024 07:22
Add IPI uio based API implementation.

Signed-off-by: Wendy Liang <[email protected]>
Add IPI mailbox IPI implementation with the remoteproc kick
sysfs API.

Signed-off-by: Wendy Liang <[email protected]>
Change to use IPI common API so that it can swtich from
IPI uio implementaion or IPI rproc sysfs implementation.

Signed-off-by: Wendy Liang <[email protected]>
Previously, TTC and IPI variables within libmetal demo for linux
were hardcoded for zynqmp SoC. Now TTC and IPI are set based on
whether target is zynqmp or versal.

Signed-off-by: Ben Levinsky <[email protected]>
Previously, TTC and IPI variables within libmetal demo for baremetal
were hardcoded for zynqmp SoC. Now TTC and IPI are set based on
whether target is zynqmp or versal.

Signed-off-by: Ben Levinsky <[email protected]>
Previously, TTC and IPI variables within libmetal demo for FreeRTOS
were hardcoded for zynqmp SoC. Now TTC and IPI are set based on
whether target is zynqmp or versal.

Signed-off-by: Ben Levinsky <[email protected]>
Correct integer arithmetic errors in computing average latency.
Collect and show min, max latency in addition to the average.
Use floating point to compute and show throughput.

Signed-off-by: Sergei Korneichuk <[email protected]>
Acked-by: ben Levinsky <[email protected]>
Add an option to set METAL_LOG_DEBUG from the command line.

Signed-off-by: Sergei Korneichuk <[email protected]>

Acked-for-series: Tanmay Shah <[email protected]>
Update and keep the original ML_ERR, ML_INFO, ML_DBG.
Revert this commit when the OpenAMP code is converted
to use the new metal_*() macros.

Signed-off-by: Sergei Korneichuk <[email protected]>
Set WITH_FUNC_LINE_LOG to ON to match the original function,
line number prefix in ML_ERR, ML_INFO, ML_DBG macros.

Signed-off-by: Sergei Korneichuk <[email protected]>
Add test to ensure that a linux device with multiple IO regions
has each made accessible for both Read and Write and that each has IO
regions created.

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Sergei Korneichuk <[email protected]>
… Flow

When building with freertos demo in System Device Tree (SDT) workflow, the
application fails to build because it is set to extern. This symbol is not
found in the SDT BSP. Match generic Libmetal AMP Demo and set this symbol
to static to fix compilation issue.

Signed-off-by: Ben Levinsky <[email protected]>

[email protected]
There is compilation error of the Linux ZynqMP AMP Demo in
shmem_throughput_demo.c due to the MB definition being re-defined.

The MB symbol is provided in lib/utilities.h as part of
commit 7643dda ("lib: utilities: Match upstream for MB/GB macros")

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Sergei Korneichuk <[email protected]>
Enable Libmetal AMP Demo build for ZynqMP, Versal and Versal NET
SOC's by:

1. Enable CMake build to pass in linker flags. This will enable Xilinx-AMD
   System Device Tree Flow BSP-based tooling to pass required linker
   flags
2. Enable System Device Flow compliant linker script where many sections
   are placed in DDR for space and entry point provided by BSP is
   _vector_table instead of _boot
3. Ensure symbols are present for both classic and System Device Flow flow
   for each of the above SOC's.

Also improve readability by moving symbol definitions to common.h

Signed-off-by: Ben Levinsky <[email protected]>

Acked-for-series: Sergei Korneichuk <[email protected]>
…resent

Currently the file bspconfig.h file is used to determine if System Device
Tree workflow is being used. Instead change condition to be if
SDT is in CMAKE_C_FLAGS variable.

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Sergei Korneichuk <[email protected]>
Ensure that Versal-NET IPI values are present for Libmetal AMP Demo on
Linux platform.

As part of this, also copy convention in zynqmp_r5 area and move values to
common.h

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Sergei Korneichuk <[email protected]>
Base address is ff3600000. Remove extra zero.

Signed-off-by: Ben Levinsky <[email protected]>

Acked-by: Tanmay Shah <[email protected]>
Enable application values for Linux platform to be overwritten via
CMake Configure step.

Also ZynqMP Bitmask is incorrect. Make sure it properly kicks RPU0.

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Tanmay Shah <[email protected]>
…nt in SDT flow

As in SDT Workflow for Rigel there can be template application in BSP for Libmetal,
let Rigel manage the dependency for template application in that case.

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Tanmay Shah <[email protected]>
Push required linking libs to CMake so that surrounding tooling
does not have to manage pushing these in.

Signed-off-by: Ben Levinsky <[email protected]>
Reviewed-by: Tanmay Shah <[email protected]>
…m Device Flow flow

Port changes in 38d2939 to FreeRTOS demo

Signed-off-by: Ben Levinsky <[email protected]>
Acked-by: Rajiv Mohan <[email protected]>
Enable CMake tooling to designate output ELF name for FreeRTOS and
Standalone targets.

Signed-off-by: Ben Levinsky <[email protected]>
Reviewed-by: Tanmay Shah <[email protected]>

Signed-off-by: Ben Levinsky <[email protected]>
@arnopo
Copy link
Contributor

arnopo commented Nov 19, 2024

@bentheredonethat could you rebase on main please?

@tnmysh could you review it that I merge it, please?

Match update so that the cmake platform files are coupled to vendor and not
SOC which is previously 'zynqmp_'.

Signed-off-by: Ben Levinsky <[email protected]>
@bentheredonethat
Copy link
Contributor Author

@arnopo rebased

@arnopo
Copy link
Contributor

arnopo commented Nov 26, 2024

@arnopo rebased
Seems that you have rebased too many things ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants