From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] memory: transaction API Date: Thu, 21 Jul 2011 15:17:21 +0200 Message-ID: <4E2826E1.6090404@siemens.com> References: <1311243679-18403-1-git-send-email-avi@redhat.com> <4E280195.5040003@siemens.com> <4E281609.7090809@redhat.com> <4E2816DE.5010102@siemens.com> <4E2817DA.4030505@redhat.com> <4E28211C.5060705@siemens.com> <4E282286.2050508@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "qemu-devel@nongnu.org" , "kvm@vger.kernel.org" To: Avi Kivity Return-path: Received: from david.siemens.de ([192.35.17.14]:24951 "EHLO david.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752868Ab1GUNR2 (ORCPT ); Thu, 21 Jul 2011 09:17:28 -0400 In-Reply-To: <4E282286.2050508@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2011-07-21 14:58, Avi Kivity wrote: > On 07/21/2011 03:52 PM, Jan Kiszka wrote: >>> >>> The problem is that "update" can change lots of things. offset, size, >>> whether it's mmio or RAM, read-onlyness, even the wierd things like >>> coalesced mmio. So it's either a function with 324.2 parameters (or a >>> large struct), or it's a series of functions with demarcation as to >>> where the update begins and ends. >> >> We do not need to provide update support for each and every bit, but for >> the common cases. memory_region_update_alias(region, offset, size) would >> be an excellent first candidate IMO. > > It's not enough, look at cirrus and PAM. It's a perfect fit for cirrus, but PAM indeed requires set_readonly in addition. I also think now that describing a memory region offline via a struct and then passing that to an atomic add/del/update would be a more handy and future-proof API than an increasing number set functions. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux