From patchwork Tue Feb 25 11:49:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 1244038 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=kWA6/pSs; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48Rct00ZjSz9sQt for ; Tue, 25 Feb 2020 22:59:20 +1100 (AEDT) Received: from localhost ([::1]:53590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j6Yrt-0005qJ-UW for incoming@patchwork.ozlabs.org; Tue, 25 Feb 2020 06:59:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49115) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j6YkF-0000Ep-7W for qemu-devel@nongnu.org; Tue, 25 Feb 2020 06:51:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j6YkB-0005jH-Cy for qemu-devel@nongnu.org; Tue, 25 Feb 2020 06:51:23 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:37956) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j6YkB-0005eH-3P for qemu-devel@nongnu.org; Tue, 25 Feb 2020 06:51:19 -0500 Received: by mail-wr1-x434.google.com with SMTP id e8so14376063wrm.5 for ; Tue, 25 Feb 2020 03:51:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZDras4bJE0jrJh+tI0g3t+yqgoZLyLXZGVhvwozi+Bk=; b=kWA6/pSsQU7C5tbUYE9Eg4N59QPm5yK92MsMmD86qBbhRBEr/gYefTcHNqr2tg598M aTragnOc+GfOk0jdXU12mh8XqhndWb1b7oPz9R4UD80SfUVPRvkMEe4p7xDuPyZkwxHd dEI1gKyS54/NIwDjzSKqQWDaJ7s1EaB9iln2TiBoTpivF/MxutNIpVUym+OjbPxuZ5dU MgK2t94/i8BpH8vm7SIC1UaoI0jGdZSrfyc5h6zuNYlQc/QD5WyxlMcrampNHqfWBnnO ZSLLM1nodE2l/L2iUWmicZ1vKe10uvjvlCNzECRaEoJz81gQCkkSZXWVoJQ0WB1jWsri 0wcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ZDras4bJE0jrJh+tI0g3t+yqgoZLyLXZGVhvwozi+Bk=; b=bvjiQ9ftRMlJ5saGMil9OApUeQIUwJJ4UcbLfGwNvShyDc3M3HFxtEONg4orUz8ukY a97h+q+kMdQq/SlV6WRlMejDQ3TdOe5IpB0EGxJ3FTkBX7SaqFtd1rGaqn2kUTpPAtX/ ofaYq/CLeVJ+53JENvORz8UQxXTZMxr4vJZrC94sialpBt95dH2rBm6UgDO7LopvABwi 6w5+iMBlUuuhPWuhXr3OPphl0CMZnkCSQQlysphuMg0ixJriuuuCm0bZxRU6NFLMdPna T52ZmtMuZVIseioUPv6nxoSxV/qYG7NhmLJCbJ+nVLSU8f/+u3tQXx0K3eMvdWuaCy9Y fPCA== X-Gm-Message-State: APjAAAUxoO9+BILuHHPJJlYLFdagsiUErGS9Y7H1avkcm4FSYJcWC4si qg7QCE/us1oYQDHXI/amrhuI+HJO X-Google-Smtp-Source: APXvYqxPc+0yz4LFNwFukNZWtTV7Try/Cd+gdeqfhD6RrRENecZZQKPT94difPHhBMgUP83A/0wAPA== X-Received: by 2002:a5d:5745:: with SMTP id q5mr16440084wrw.374.1582631477877; Tue, 25 Feb 2020 03:51:17 -0800 (PST) Received: from 640k.localdomain ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id b67sm3922326wmc.38.2020.02.25.03.51.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Feb 2020 03:51:17 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 012/136] arm/cubieboard: use memdev for RAM Date: Tue, 25 Feb 2020 12:49:02 +0100 Message-Id: <1582631466-13880-12-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1582631466-13880-1-git-send-email-pbonzini@redhat.com> References: <1582631466-13880-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::434 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Igor Mammedov Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Igor Mammedov memory_region_allocate_system_memory() API is going away, so replace it with memdev allocated MemoryRegion. The later is initialized by generic code, so board only needs to opt in to memdev scheme by providing MachineClass::default_ram_id and using MachineState::ram instead of manually initializing RAM memory region. PS: While at it, get rid of no longer needed CubieBoardState wrapper. Signed-off-by: Igor Mammedov Reviewed-by: Andrew Jones Reviewed-by: Richard Henderson Message-Id: <20200219160953.13771-13-imammedo@redhat.com> --- hw/arm/cubieboard.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 6dc2f1d..089f9a3 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -28,52 +28,42 @@ static struct arm_boot_info cubieboard_binfo = { .board_id = 0x1008, }; -typedef struct CubieBoardState { - AwA10State *a10; - MemoryRegion sdram; -} CubieBoardState; - static void cubieboard_init(MachineState *machine) { - CubieBoardState *s = g_new(CubieBoardState, 1); + AwA10State *a10 = AW_A10(object_new(TYPE_AW_A10)); Error *err = NULL; - s->a10 = AW_A10(object_new(TYPE_AW_A10)); - - object_property_set_int(OBJECT(&s->a10->emac), 1, "phy-addr", &err); + object_property_set_int(OBJECT(&a10->emac), 1, "phy-addr", &err); if (err != NULL) { error_reportf_err(err, "Couldn't set phy address: "); exit(1); } - object_property_set_int(OBJECT(&s->a10->timer), 32768, "clk0-freq", &err); + object_property_set_int(OBJECT(&a10->timer), 32768, "clk0-freq", &err); if (err != NULL) { error_reportf_err(err, "Couldn't set clk0 frequency: "); exit(1); } - object_property_set_int(OBJECT(&s->a10->timer), 24000000, "clk1-freq", - &err); + object_property_set_int(OBJECT(&a10->timer), 24000000, "clk1-freq", &err); if (err != NULL) { error_reportf_err(err, "Couldn't set clk1 frequency: "); exit(1); } - object_property_set_bool(OBJECT(s->a10), true, "realized", &err); + object_property_set_bool(OBJECT(a10), true, "realized", &err); if (err != NULL) { error_reportf_err(err, "Couldn't realize Allwinner A10: "); exit(1); } - memory_region_allocate_system_memory(&s->sdram, NULL, "cubieboard.ram", - machine->ram_size); memory_region_add_subregion(get_system_memory(), AW_A10_SDRAM_BASE, - &s->sdram); + machine->ram); /* TODO create and connect IDE devices for ide_drive_get() */ cubieboard_binfo.ram_size = machine->ram_size; - arm_load_kernel(&s->a10->cpu, machine, &cubieboard_binfo); + arm_load_kernel(&a10->cpu, machine, &cubieboard_binfo); } static void cubieboard_machine_init(MachineClass *mc) @@ -84,6 +74,7 @@ static void cubieboard_machine_init(MachineClass *mc) mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->ignore_memory_transaction_failures = true; + mc->default_ram_id = "cubieboard.ram"; } DEFINE_MACHINE("cubieboard", cubieboard_machine_init)