2012/9/14 Adam Lackorzynski adam@os.inf.tu-dresden.de:
On Thu Sep 13, 2012 at 13:09:52 +0400, Nikolay Golikov wrote:
Yes, I found it. Is that tested on real hw? If I understand correctly, it shouldn't work. Because it use l4sigma0_map_iomem for mapping memory region to vmm's address space.
It assumes a different approach for getting memory to the ns side. Initially bootstrap is configured to only uses a part of the memory so that the other part can be used for the ns side. From the point of view of the vmm this is 'iomem' because it's not ram. However, getting ram for the vmm shall also work via a dataspace.
Now I get strange error: In bootstrap I define region for ns ram as Region::Arch.
SIGMA0: Dump of all resource maps RAM:------------------------ [0:70000000;70000fff] [0:70061000;7008ffff] [0:70097000;70097fff] [0:7009f000;7013ffff] [4:70140000;70172fff] [0:70173000;70177fff] [4:70178000;7018efff] [0:7018f000;71010fff] [4:71011000;71011fff] [0:71012000;710fffff] [4:71100000;7127dfff] [0:7127e000;7effffff] IOMEM:---------------------- [0:0;6fffffff] [0:80000000;ffffffff]
But on
int err = l4sigma0_map_iomem(_sigma0.cap(), Ram_base, Ram_base, size, 1); (Ram_base = 0x80000000, size = 0x4000000)
I have an error:
TZ-VMM | L4Re[rm]: unhandled read page fault @8858a820 pc=8858a820 TZ-VMM | L4Re: unhandled exception: pc=0x8858a820
Before it mapping for aisptz works normally:
l4sigma0_map_iomem(_sigma0.cap(), _base, _base, AISPTZ_SIZE, 1) (_base = 0x53F00000)