All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Julien Grall <julien.grall@citrix.com>,
	Shannon Zhao <shannon.zhao@linaro.org>,
	Shannon Zhao <zhaoshenglong@huawei.com>,
	xen-devel <xen-devel@lists.xen.org>
Cc: Hangaohuai <hangaohuai@huawei.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	andrew@fubar.geek.nz,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Parth Dixit <parth.dixit@linaro.org>,
	Christoffer Dall <christoffer.dall@linaro.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 5
Date: Wed, 2 Sep 2015 14:26:04 +0100	[thread overview]
Message-ID: <1441200364.26292.190.camel@citrix.com> (raw)
In-Reply-To: <55E6F110.7010704@citrix.com>

On Wed, 2015-09-02 at 13:52 +0100, Julien Grall wrote:
> On 02/09/15 13:02, Shannon Zhao wrote:
> > > Hold on, this is about Linux able to use the memory for his own 
> > > usage.
> > > ACPI table are not part of this memory because they are marked 
> > > reserved
> > > by the firmware.
> > > 
> > > If we follow your logic, all ACPI tables always should be above the
> > > kernel. I don't believe this is the case and it would be buggy on Xen
> > > because of the DOM0 direct RAM mapping (i.e the first RAM bank can be
> > > very high and the kernel too).
> > > 
> > 
> > It looks weird. But from the booting.txt, it says the memory below base
> > address is unusable and from early_init_dt_add_memory_arch in Linux, it
> > really ignores the memblock below the PAGE_OFFSET.
> 
> It's unusable in the sense that Linux can't use them to store its own
> data. Having the ACPI table outside of the System RAM is valid because
> they are marked as reserved and ioremap will be used to map them.

I think a useful way to think of this might be that the the tables are not
stored in something which has, to the OS, RAM semantics.

In that context Linux's statement that "RAM below the kernel image is
unusable" is irrelevant because the tables are not in RAM.

The fact that under the hood the tables may indeed technically be stored in
DRAM, even in the same DIMM as actual "RAM" is somewhat irrelevant, in
theory it could be a ROM, or anything else which can be read by the CPU.

> 
> > 
> > > I think the problem is how you reserved this region in the EFI memory
> > > table. From what I saw, you marked this new memory with EFI_MEMORY_WB
> > > (which means that the region can be usable by Linux).
> > > 
> > Yes, I mark it with EFI_MEMORY_WB. Is this right?
> 
> I would say no, but it's only because I looked at the kernel code 
> quickly.
> 
> You have to looks how ACPI region/UEFI tables are described in the host
> EFI memory map and mimicking for the DOM0 EFI memory map.

Surely it is the type (EfiACPIReclaimMemory, EfiACPIMemoryNVS etc) and not
the mapping attributes which should control whether an OS considers a
region usable? At least until the OS is done parsing tables neither of
those are usable (which implies we want NVS as our type, unless the memory
is intended to be reclaimed by dom0, implying it should own it).

Ian.

  reply	other threads:[~2015-09-02 13:26 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-28  9:45 Design doc of adding ACPI support for arm64 on Xen - version 5 Shannon Zhao
2015-08-28 12:55 ` Julien Grall
2015-08-29  1:00   ` Shannon Zhao
2015-08-31  7:33     ` Jan Beulich
2015-08-31 11:44     ` Julien Grall
2015-08-31 12:03       ` Shannon Zhao
2015-08-31 12:34         ` Julien Grall
2015-09-01  4:12           ` Shannon Zhao
2015-09-01 11:28             ` Julien Grall
2015-09-01 12:35               ` Shannon Zhao
2015-09-01 13:40                 ` Julien Grall
2015-09-01 14:03                   ` Jan Beulich
2015-09-01 14:20                     ` Julien Grall
2015-09-02  6:02                   ` Shannon Zhao
2015-09-02  8:41                     ` Jan Beulich
2015-09-02  9:18                       ` Christoffer Dall
2015-09-02 11:15                         ` Julien Grall
2015-09-02  9:25                       ` Shannon Zhao
2015-09-02 12:30                         ` Jan Beulich
2015-09-02 11:09                     ` Julien Grall
2015-09-02 12:02                       ` Shannon Zhao
2015-09-02 12:52                         ` Julien Grall
2015-09-02 13:26                           ` Ian Campbell [this message]
2015-09-02 13:48                             ` Julien Grall
2015-09-02 13:54                               ` Ian Campbell
2015-09-02 13:57                                 ` Christoffer Dall
2015-09-02 15:27                                   ` Leif Lindholm
2015-09-02 15:37                                     ` Ard Biesheuvel
2015-09-02 14:00                               ` Jan Beulich
2015-09-02 12:58           ` Ian Campbell
2015-08-28 15:06 ` Jan Beulich
2015-08-29  1:29   ` Shannon Zhao
2015-08-31  7:39     ` Jan Beulich
2015-08-31  8:51       ` Shannon Zhao
2015-08-31  9:40         ` Jan Beulich
2015-08-31 11:31           ` Shannon Zhao
2015-08-31 11:46             ` Jan Beulich
2015-09-02 12:54           ` Ian Campbell
2015-09-02 13:59             ` Shannon Zhao
2015-09-02 14:24               ` Ian Campbell
2015-09-02 12:18 ` Ian Campbell
2015-09-07  3:37   ` Shannon Zhao
2015-09-07 10:47     ` Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441200364.26292.190.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=andrew@fubar.geek.nz \
    --cc=boris.ostrovsky@oracle.com \
    --cc=christoffer.dall@linaro.org \
    --cc=david.vrabel@citrix.com \
    --cc=hangaohuai@huawei.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@citrix.com \
    --cc=parth.dixit@linaro.org \
    --cc=peter.huangpeng@huawei.com \
    --cc=roger.pau@citrix.com \
    --cc=shannon.zhao@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.