[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Design doc of adding ACPI support for arm64 on Xen - version 5

On 31/08/2015 13:03, Shannon Zhao wrote:
Currently I use the last RAM bank(kinfo->mem.bank[nr_banks - 1]) to
calculate the start address of non-RAM place. I'm not sure there will be
no MMIO at that place. Do you have any good idea to find such sure and
safe non-ram place?

It's not a safe place because with the direct mapping for the RAM, DOM0
RAM could live in the last bank.

I put the tables after the last bank currently.

I misread your suggestion and though you were planning to use the last host memory bank region for the UEFI tables.

So what you are suggesting is not safe at all, what does ensure you that there is no MMIO right after the last DOM0 bank? The DOM0 RAM region may lives at the edge of a host RAM bank.

Furthermore, for the grant table
region, we are re-using the RAM region used by Xen (find_gnttab_region),
so it may clash with it too because Xen is relocated as high as possible.

Oh, I didn't realize this.

Although, given that the grant table region will be found by Linux when
ACPI is used (see your section 3.), we could be able to re-use the Xen
region to store the new tables/structures.

So you mean it's fine to put the tables after last bank of Dom0 RAM?

No, see my answer above. I'm suggesting to re-use the same trick as we do for the grant table region. We know that this region will never be allocated in the DOM0 address space either because of the direct mapping or because it's very unlikely in the case of the non-direct mapping (Xen RAM region is very high).

In addition, how does UEFI find the space to place the tables? Could we
use the same way?

I think that those tables are living in the RAM and region used are marked as reserved.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.