From: "Raslan, KarimAllah" <karahmed@amazon.de>
To: "pbonzini@redhat.com" <pbonzini@redhat.com>,
"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"rkrcmar@redhat.com" <rkrcmar@redhat.com>
Subject: Re: [PATCH v5 00/13] KVM/X86: Introduce a new guest mapping interface
Date: Thu, 31 Jan 2019 13:03:26 +0000 [thread overview]
Message-ID: <1548939805.28936.9.camel@amazon.de> (raw)
In-Reply-To: <72d9954b-37f8-3f39-37f7-b292766da480@redhat.com>
On Wed, 2019-01-30 at 18:14 +0100, Paolo Bonzini wrote:
> On 25/01/19 19:28, Raslan, KarimAllah wrote:
> >
> > So the simple way to do it is:
> >
> > 1- Pass 'mem=' in the kernel command-line to limit the amount of memory managed
> > by the kernel.
> > 2- Map this physical memory you want to give to the guest with
> > mmap("/dev/mem", physical_address_offset, ..)
> > 3- Use the user-space virtual address as the "userspace_addr" field
> > in KVM_SET_USER_MEMORY_REGION ioctl.
> >
> > You will also need this patch (hopefully I will repost next week as well):
> > https://patchwork.kernel.org/patch/9191755/
>
> I took a look again at that patch and I guess I've changed my mind now
> that the kernel provides e820__mapped_any and e820__mapped_all.
> However, please do use e820__mapped_any instead of adding a new function
> e820_is_ram.
The problem with e820__mapped_* is that they are iterating over 'e820_table'
which is already truncated from the 'mem=' and 'memmap=' parameters:
"""
* - 'e820_table': this is the main E820 table that is massaged by the
* low level x86 platform code, or modified by boot parameters, before
* passed on to higher level MM layers.
"""
.. so I really still can not use it for this purpose. The structure that I want
to look at is actually 'e820_table_firmware' which is:
"""
* - 'e820_table_firmware': the original firmware version passed to us by the
* bootloader - not modified by the kernel. It is composed of two parts:
* the first 128 E820 memory entries in boot_params.e820_table and the
remaining
* (if any) entries of the SETUP_E820_EXT nodes. We use this to:
*
* - inform the user about the firmware's notion of memory layout
* via /sys/firmware/memmap
*
* - the hibernation code uses it to generate a kernel-independent MD5
* fingerprint of the physical memory layout of a system.
"""
The users of e820__mapped_any expect these semantics, so even changing the
implementation of these functions to use 'e820_table_firmware' to handle this
will not be an option!
One option here would be to add 'e820__mapped_raw_any' (or whatever
other name) and make it identical to the current implementation of
e820__mapped_any at. Would that be slightly more acceptable? :)
>
> Thanks,
>
> Paolo
>
> >
> > I will make sure to expand on this in the cover letter in v6.
>
Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrer: Christian Schlaeger, Ralf Herbrich
Ust-ID: DE 289 237 879
Eingetragen am Amtsgericht Charlottenburg HRB 149173 B
next prev parent reply other threads:[~2019-01-31 13:03 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-09 9:42 [PATCH v5 00/13] KVM/X86: Introduce a new guest mapping interface KarimAllah Ahmed
2019-01-09 9:42 ` [PATCH v5 01/13] X86/nVMX: handle_vmon: Read 4 bytes from guest memory KarimAllah Ahmed
2019-01-23 16:59 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 02/13] X86/nVMX: Update the PML table without mapping and unmapping the page KarimAllah Ahmed
2019-01-23 17:17 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 03/13] X86/KVM: Handle PFNs outside of kernel reach when touching GPTEs KarimAllah Ahmed
2019-01-23 17:31 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 04/13] KVM: Introduce a new guest mapping API KarimAllah Ahmed
2019-01-10 13:07 ` David Hildenbrand
2019-01-25 18:01 ` Raslan, KarimAllah
2019-01-23 17:41 ` Konrad Rzeszutek Wilk
2019-01-23 17:50 ` Konrad Rzeszutek Wilk
2019-01-25 18:09 ` Raslan, KarimAllah
2019-01-30 17:08 ` Paolo Bonzini
2019-01-09 9:42 ` [PATCH v5 05/13] X86/nVMX: handle_vmptrld: Use kvm_vcpu_map when copying VMCS12 from guest memory KarimAllah Ahmed
2019-01-23 17:44 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 06/13] KVM/nVMX: Use kvm_vcpu_map when mapping the L1 MSR bitmap KarimAllah Ahmed
2019-01-09 9:42 ` [PATCH v5 07/13] KVM/nVMX: Use kvm_vcpu_map when mapping the virtual APIC page KarimAllah Ahmed
2019-01-23 17:57 ` Konrad Rzeszutek Wilk
2019-01-25 18:14 ` Raslan, KarimAllah
2019-01-09 9:42 ` [PATCH v5 08/13] KVM/nVMX: Use kvm_vcpu_map when mapping the posted interrupt descriptor table KarimAllah Ahmed
2019-01-23 18:03 ` Konrad Rzeszutek Wilk
2019-01-25 18:15 ` Raslan, KarimAllah
2019-01-09 9:42 ` [PATCH v5 09/13] KVM/X86: Use kvm_vcpu_map in emulator_cmpxchg_emulated KarimAllah Ahmed
2019-01-23 18:04 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 10/13] KVM/nSVM: Use the new mapping API for mapping guest memory KarimAllah Ahmed
2019-01-23 18:08 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 11/13] KVM/nVMX: Use kvm_vcpu_map for accessing the shadow VMCS KarimAllah Ahmed
2019-01-23 18:10 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 12/13] KVM/nVMX: Use kvm_vcpu_map for accessing the enlightened VMCS KarimAllah Ahmed
2019-01-23 18:11 ` Konrad Rzeszutek Wilk
2019-01-09 9:42 ` [PATCH v5 13/13] KVM/nVMX: Use page_address_valid in a few more locations KarimAllah Ahmed
2019-01-23 18:18 ` Konrad Rzeszutek Wilk
2019-01-25 18:17 ` Raslan, KarimAllah
2019-01-23 18:16 ` [PATCH v5 00/13] KVM/X86: Introduce a new guest mapping interface Konrad Rzeszutek Wilk
2019-01-25 18:28 ` Raslan, KarimAllah
2019-01-30 17:14 ` Paolo Bonzini
2019-01-31 13:03 ` Raslan, KarimAllah [this message]
2019-01-31 13:10 ` Paolo Bonzini
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=1548939805.28936.9.camel@amazon.de \
--to=karahmed@amazon.de \
--cc=konrad.wilk@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.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.