On 25.09.20 09:19, Jan Kiszka wrote:
On 22.09.20 08:45, Alice Guo wrote:+ .platform_info = { + /* + * .pci_mmconfig_base is fixed; if you change it, + * update the value in mach.h + * (PCI_CFG_BASE) and regenerate the inmate library + */ + .pci_mmconfig_base = 0xfd700000, + .pci_mmconfig_end_bus = 0x0, + .pci_is_virtual = 1, + .pci_domain = 0, + + .iommu_units = { + { + .type = JAILHOUSE_IOMMU_ARM_MMU500, + .base = 0x51400000, + .size = 0x40000, + .arm_mmu500.sid_mask = 0x7f80,How is the sid_mask of a platform retrieved? Can this be derived from information in a normal device tree?Or is this coming from here: /* ID0 */ id = arm_smmu_gr0_read(smmu, ARM_SMMU_GR0_ID0); [...] /* Max. number of entries we have for stream matching/indexing */ if (smmu->version == ARM_SMMU_V2 && id & ARM_SMMU_ID0_EXIDS) { smmu->features |= ARM_SMMU_FEAT_EXIDS; size = 1 << 16; } else { size = 1 << FIELD_GET(ARM_SMMU_ID0_NUMSIDB, id); } smmu->streamid_mask = size - 1;If it were so simple, I would actually say do the same in Jailhouse and drop the configurable. We may even demand ARM_SMMU_ID0_EXIDS if that is practically the only case in the field by now.
This was non-sense.
But I'm lacking a full picture yet.
Seems to be the DT property stream-match-mask. And that's unset for the zynqmp, so let's see how far I'll get with that.
Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/e566d2fb-c942-ec6a-829f-0ac22b3c5ca1%40siemens.com.
