From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44520) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpwh3-0001Dk-8G for qemu-devel@nongnu.org; Fri, 30 Sep 2016 08:13:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpwh1-0007SB-1e for qemu-devel@nongnu.org; Fri, 30 Sep 2016 08:13:32 -0400 From: Fam Zheng Date: Fri, 30 Sep 2016 20:10:02 +0800 Message-Id: <1475237406-26917-33-git-send-email-famz@redhat.com> In-Reply-To: <1475237406-26917-1-git-send-email-famz@redhat.com> References: <1475237406-26917-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v8 32/36] m25p80: Add 'lock-mode' property List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: berrange@redhat.com, John Snow , qemu-block@nongnu.org, Kevin Wolf , rjones@redhat.com, Jeff Cody , Max Reitz , Markus Armbruster , stefanha@redhat.com, den@openvz.org, pbonzini@redhat.com, eblake@redhat.com Signed-off-by: Fam Zheng --- hw/block/m25p80.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c index d29ff4c..3c1765a 100644 --- a/hw/block/m25p80.c +++ b/hw/block/m25p80.c @@ -380,6 +380,7 @@ typedef struct Flash { SSISlave parent_obj; BlockBackend *blk; + ImageLockMode lock_mode; uint8_t *storage; uint32_t size; @@ -1144,6 +1145,7 @@ static void m25p80_realize(SSISlave *ss, Error **errp) { Flash *s = M25P80(ss); M25P80Class *mc = M25P80_GET_CLASS(s); + Error *local_err = NULL; s->pi = mc->pi; @@ -1151,6 +1153,11 @@ static void m25p80_realize(SSISlave *ss, Error **errp) s->dirty_page = -1; if (s->blk) { + blk_lock_image(s->blk, s->lock_mode, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } DB_PRINT_L(0, "Binding to IF_MTD drive\n"); s->storage = blk_blockalign(s->blk, s->size); @@ -1185,6 +1192,7 @@ static Property m25p80_properties[] = { DEFINE_PROP_UINT8("spansion-cr3nv", Flash, spansion_cr3nv, 0x2), DEFINE_PROP_UINT8("spansion-cr4nv", Flash, spansion_cr4nv, 0x10), DEFINE_PROP_DRIVE("drive", Flash, blk), + DEFINE_PROP_LOCK_MODE("lock-mode", Flash, lock_mode), DEFINE_PROP_END_OF_LIST(), }; -- 2.7.4