All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@globallogic.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Steve Capper <Steve.Capper@arm.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrii Anisov <andrii.anisov@globallogic.com>,
	xen-devel <xen-devel@lists.xen.org>,
	"embedded-pv-devel@lists.xenproject.org"
	<embedded-pv-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH RFC 13/18] xen: introduce and use 'dom0_rambase_pfn' setting for kernel Dom0
Date: Thu, 19 May 2016 15:34:13 +0100	[thread overview]
Message-ID: <573DCEE5.4040604@arm.com> (raw)
In-Reply-To: <CAN58jitA=q6A8HodQkwpU3zyN5ycpwJdJG3JbLg6cx33i05_Kw@mail.gmail.com>

Hello Oleksandr,

On 19/05/16 14:58, Oleksandr Dmytryshyn wrote:
>> Why would a user want to allocate DOM0 RAM bank to a specific address?
>>
>> If I understand correctly your patch, DOM0 will only able to allocate one bank of the given size at the specific address. You also add this possibility for guest domain (see patch #4) and try to control where the guest memory will be allocated. This will increase a lot the chance of the memory allocation to fail.
>>
>> For instance, the RAM region requested for DOM0 may have been used to allocate memory for Xen internal. So you need a way to reserve memory in order to avoid Xen using it.
>>
>> I expect most of the users who want to use direct memory mapped guest to know the number of guests which will use this feature.
>>
>> A such feature is only useful when pass-through a device to the guest on platfom without SMMU, so it is by default insecure.
>>
>> So I would suggest to create a new device-tree binding (or re-use an actual one) to reserve memory region to be used for direct memory mapped domain.
>>
>> Those regions could have an identifier to be used later during the allocation. This would avoid memory fragmentation, allow multiple RAM bank for DOM0,...
>>
>> Any opinions?
>
> Case 1: Dom0 is driver domain:
> There is a Ducati firmware which runs on dedicated M4 core and decodes
> video. This firmware uses hardcoded physical addresses for graphics
> buffers. Those addresses should be inside address-space of the driver
> domain (Dom0). Ducati firmware is proprietary and we have no ability
> to rework it. So Dom0 kernel should be placed to the configured
> address (to the DOM0 RAM bank with specific address).
>
> Case 2: Dom0 is Thin and DomD is driver domain.
> All is the same: Ducati firmware requires special (hardcoded) addresses.

So if I understand correctly, patches #4, #13, #16 are only here to 
workaround a firmware which does not do the right thing?

IHMO, modifying the memory allocator in Xen to make a firmware happy is 
just overkill. We need to explore all the possible solutions before 
going forward.

 From your description, it looks like to me that the device-tree does 
not correctly describe the platform. The graphic buffers should be 
reserved using /memreserve or via a specific binding.

This would be used later by Xen to map the buffer into dom0 or allow 
dom0 to map it to a guest.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-05-19 14:34 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-18 16:32 [PATCH RFC 00/18] System adjustment to customer needs Andrii Anisov
2016-05-18 16:32 ` [PATCH RFC 01/18] xen/tools: Fix virtual disks helper scripts Andrii Anisov
2016-05-19 11:34   ` Wei Liu
2016-05-19 20:54     ` Andrii Anisov
2016-05-19 22:58       ` Wei Liu
2016-05-20  8:30         ` Andrii Anisov
2016-05-18 16:32 ` [PATCH RFC 02/18] kbdif: add raw events passing Andrii Anisov
2016-05-19  9:28   ` Jan Beulich
2016-05-18 16:32 ` [PATCH RFC 03/18] xen/arm: allow to allocate 1/128/256/512 Mb memory chunks Andrii Anisov
2016-05-19 11:10   ` Julien Grall
2016-05-18 16:32 ` [PATCH RFC 04/18] libxl: add ability to set rambase_pfn via cfg file Andrii Anisov
2016-05-19 11:34   ` Wei Liu
2016-05-19 11:36   ` Julien Grall
2016-05-18 16:32 ` [PATCH RFC 05/18] xen/arm: allow reassigning of hw interrupts to guest domain Andrii Anisov
2016-05-19 12:19   ` Julien Grall
2016-05-18 16:32 ` [PATCH RFC 06/18] libxl: parse config data during domain reboot Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 07/18] tools/misc: Modify Xen watchdog daemon Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 08/18] tools/misc: Set timeout value from " Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 09/18] tools: Allow to cross-compile xentop Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 10/18] xen: arm: add batch support to the XENMEM_p2m_lookup operation Andrii Anisov
2016-05-19  9:36   ` Jan Beulich
2016-05-18 16:32 ` [PATCH RFC 11/18] arm: Fix 1-to-1 Dom0 memory allocation of any size Andrii Anisov
2016-05-18 16:32 ` [PATCH RFC 12/18] libxl: Fix unneeded domain reboot during destroy routine Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 13/18] xen: introduce and use 'dom0_rambase_pfn' setting for kernel Dom0 Andrii Anisov
2016-05-19  9:41   ` Jan Beulich
2016-05-19 12:26     ` Julien Grall
2016-05-19 12:50       ` Jan Beulich
2016-05-19 13:39   ` Julien Grall
2016-05-19 13:58     ` Oleksandr Dmytryshyn
2016-05-19 14:34       ` Julien Grall [this message]
2016-05-20  8:39         ` Oleksandr Dmytryshyn
2016-05-19 14:36       ` Jan Beulich
2016-05-20  8:45         ` Oleksandr Dmytryshyn
2016-05-20  9:59           ` Jan Beulich
2016-05-20 14:19             ` Oleksandr Dmytryshyn
2016-05-20 15:04               ` Julien Grall
2016-05-20 16:05                 ` Edgar E. Iglesias
2016-05-23  9:52                   ` Oleksandr Dmytryshyn
2016-05-30 11:07                   ` Stefano Stabellini
2016-05-31 14:04                   ` Oleksandr Dmytryshyn
2016-06-01 14:01                     ` Edgar E. Iglesias
2016-05-18 16:32 ` [PATCH RFC 14/18] xen: flask: Add possiblity to forward irqs into domU domains Andrii Anisov
2016-05-18 16:32 ` [PATCH RFC 15/18] arm: Add ability to relocate Xen in over 4GB space Andrii Anisov
2016-05-19  9:42   ` Jan Beulich
2016-05-19 13:53   ` Julien Grall
2016-05-24 17:18   ` Julien Grall
2016-05-18 16:32 ` [PATCH RFC 16/18] xen: Add dom0_mem_high option & over 4GB memory allocation for Dom0 Andrii Anisov
2016-05-18 16:32 ` [PATCH RFC 17/18] tools: Introduce ARM32_SEPAR_MEM_SPLIT option Andrii Anisov
2016-05-19 11:35   ` Wei Liu
2016-05-18 16:32 ` [PATCH RFC 18/18] arm: Add ability to allocate Xen heap in lowmem Andrii Anisov
2016-05-18 17:26 ` [PATCH RFC 00/18] System adjustment to customer needs Julien Grall
2016-05-19 19:45   ` Andrii Anisov
2016-05-18 19:17 ` [Embedded-pv-devel] " Meng Xu
2016-05-19 11:00   ` Julien Grall
2016-05-19 21:28     ` Andrii Anisov
2016-05-20 10:33       ` Julien Grall
2016-05-20 16:24         ` Andrii Anisov
2016-05-23  9:19           ` Julien Grall
2016-05-20 17:09         ` Andrii Anisov
2016-05-23  9:13           ` Julien Grall
2016-05-19 22:08     ` Andrii Anisov
2016-05-19 21:53   ` Andrii Anisov
2016-05-20 15:21     ` Meng Xu
2016-05-20 17:23       ` Andrii Anisov
2016-05-20 17:28         ` Meng Xu
2016-05-21 14:32       ` Julien Grall
2016-05-21 14:52         ` Meng Xu

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=573DCEE5.4040604@arm.com \
    --to=julien.grall@arm.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=Steve.Capper@arm.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=andrii.anisov@globallogic.com \
    --cc=embedded-pv-devel@lists.xenproject.org \
    --cc=george.dunlap@citrix.com \
    --cc=oleksandr.dmytryshyn@globallogic.com \
    --cc=sstabellini@kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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.