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

drivers: virtualization: Map ivshmem-v2 sections individually #65095

Merged
merged 2 commits into from
Nov 27, 2023

Conversation

gramsay0
Copy link
Contributor

@gramsay0 gramsay0 commented Nov 11, 2023

Recent changes to the arm64 MMU code (c9b534c) mean that you can no longer map R/O memory as R/W.
Mapping R/W memory now causes a cache invalidation instruction (DC IVAC) that requires write permissions or else a fault is generated. Modify ivshmem-v2 to map each R/O and R/W section individually.

The eth_ivshmem driver assumed the ivshmem-v2 output sections would be mapped contiguously, which is no longer true. Modify eth_ivshmem to treat each output section independently.

Further discussion: #64779 (comment)

If these changes are accepted, could they please be backported to v3.5-branch?

CC: @carlocaione @xakep-amatop

Fixes: #65894

Recent changes to the arm64 MMU code mean that you can no longer map
R/O memory as R/W. Mapping R/W memory now causes a cache invalidation
instruction (DC IVAC) that requires write permissions or else a fault
is generated.

Modify ivshmem-v2 to map each R/O and R/W section individually

Signed-off-by: Grant Ramsay <[email protected]>
This driver assumed the ivshmem-v2 output sections would be mapped
contiguously, which is no longer true.

Modify eth_ivshmem to treat each output section independently

Signed-off-by: Grant Ramsay <[email protected]>
@gramsay0
Copy link
Contributor Author

Hey, just giving this a bump

@fabiobaltieri fabiobaltieri merged commit 82644a3 into zephyrproject-rtos:main Nov 27, 2023
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Backport v3.5] drivers: virtualization: Crash when using ivshmem-v2
6 participants