On 04/06/2020 09:02, Bertrand Marquis wrote:
Hi,
Hi Bertrand,
On 3 Jun 2020, at 19:09, Julien Grall <jul...@xen.org> wrote:
On 03/06/2020 18:13, CodeWiz2280 wrote:
Hi Julien,
Hello,
In general, we avoid top post on xen-devel, instead we reply inline. I believe
gmail should allow you to do it :).
The offset is already applied to the memory nodes in the device tree, meaning a
direct Linux boot from uboot would have only the 36-bit addresses in the device
tree (0x8_0000_0000 and 0x8_8000_0000). Linux would start executing from a
32-bit address space however and then switch over to the aliased 36-bit
addresses in the device tree as discussed below by early_paging_init().
I had to add the 32-bit memory node 0x8000_0000 in uboot in place of the 0x8_0000_0000
node otherwise Xen would detect the 32-bit processor and panic on "Unable to detect
the first memory bank" in domain_build.c.
So for 32-bit Xen requires to have the first bank below 4GB. This is because
you can't boot from a physical address above 32-bit.
Obviously, this check wouldn't work on your platform because all your memory
will be above 4GB.
I think that the Keystone board has low memory accessible at 2 different
address (one low and one high).
I would here suggest to have a dtb with 2 regions (one under 4GB and one over)
and remove from the region over 4G the area already addressed by the region
under 4GB.
I thought about this. However, in an earlier reply, David wrote:
"4. The dom0 kernel will boot from xen if the early_paging_init switch
step is skipped, and the low mem stays in 32-bit....but there is a
problem with the peripherals so this is not an acceptable solution."
It is not clear to me what sort of issues will arise with the
peripherals. But I have assumed that it wouldn't be possible for Dom0 to
keep using the memory below 4GB.
Cheers,
--
Julien Grall