On 30.01.20 15:50, Jan Kiszka wrote:
On 30.01.20 11:52, vijai kumar wrote:
Hi All,
I see that there are two RAM regions defined in ARM linux demos. One
mapped to virtual address 0 and the other 1:1.
I am not sure what the first region is for. Can anyone please help me
understand that?
For Example in qemu-arm64-linux-demo.c
I am not sure what the below region is for.
/* RAM */ {
.phys_start = 0x7f900000,
.virt_start = 0,
.size = 0x10000,
.flags = JAILHOUSE_MEM_READ |
JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE |
JAILHOUSE_MEM_LOADABLE,
},
Thanks,
Vijai Kumar K
That first region is for bootstrapping. "jailhouse cell linux" loads
linux-loader.bin at address 0 in the cell because that is the default
start address of cell cores. The loader performs a few additional
initializations and then jumps to the kernel start address that is
located in the second, larger region.
HTH,
Jan
Oh, and that 1:1 mapping for the second region is needed for systems
that do not have an SMMU (quite a few) or where we lack the driver
upstream (SMMUv2).
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/0fc83e67-fe60-9a03-a222-a99f0e5ef308%40siemens.com.