Hi Diego, I imported and integrated Sergey's DTB parser from his `wip-aarch64` branch into ours. You can check `early_dtb_walk()` under `model_dep.c` to see the initial scaffolding.
Currently, we just iterate over the nodes and do nothing. Next up, we'd want to discover and register the physical memory. Since you mentioned having Sv39 paging ready, I think you have already implemented `pmap_discover_physical_memory()` and `pmap_bootstrap()`? If that's the case, could you kindly send your implementation as a patch? You can send it as a patch series alongside the Sv39 implementation, if possible :) I was tinkering with the DTB parser and created a branch named `demo/dtb-early-walk` in which I recursively print the DTB in a human readable format similar to DTS. You can check it to get a feeling of the DTB parser interface, if you'd like. Also, Sergey's branch is a very valuable reference for us, so definitely check that out if you haven't already. I am currently tracking it at this link: https://github.com/bugaevc/gnumach/tree/wip-aarch64 For Sergey: Is the link I mentioned above current? If you moved the branch to another git instance, let me know so we can track that instead. Thanks! Hakan
