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

Architecture bindings? #71

Open
andreiw opened this issue Mar 5, 2024 · 2 comments
Open

Architecture bindings? #71

andreiw opened this issue Mar 5, 2024 · 2 comments

Comments

@andreiw
Copy link

andreiw commented Mar 5, 2024

dma-coherent refers to "architectures which are by default non-coherent for I/O"
dma-noncoherent refers to "architectures which are by default coherent for I/O"

...but nothing in the DT spec spells out which architectures those might be. For example, the ACPI spec does talk about x86 being considered cache-coherent by default, and 32-bit Arm being considered non-cache-coherent by default.

In general, there is no section the spells out ISA implications for a device tree. Note that this would be different from "device bindings"...imho the ISA bindings totally make sense to be part of this document, but they ought to be in some document for sure. Curiously enough there's still PowerPC lingo in the DT spec - i.e. references to WIMG, e.g. in section on /memory node (with no definition of WIMG bit meaning... maybe this should be either made generic or updated to include another architecture as an example)

@robherring
Copy link
Member

It is not really for the spec to decide what's the default for an arch and we try to keep architecture specifics out of it.

imho the ISA bindings totally make sense to be part of this document, but they ought to be in some document for sure.

Did you mean they should NOT be part of this doc? I'm not sure what you mean by ISA bindings? I assume that's CPU ISA, not ISA bus.

When moving ePAPR to the "DT Spec" we tried to remove PowerPCisms in the process. No doubt there are still some left. Patches welcome. :)

@andreiw
Copy link
Author

andreiw commented Mar 5, 2024

Yeah I meant CPU ISA. I think my point is that the info needs to be somewhere (and I don't think it is anywhere at the moment). I don't know where I would look to answer the question of whether an architecture is or isn't by default cache coherent. Do you? Maybe it needs to be added somewhere in the DT bindings...I don't see it there.

Curiously qemu sets dma-coherent even on architectures where DMA is always coherent, like i386. Weird.

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

No branches or pull requests

2 participants