From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574905943; cv=none; d=zohomail.com; s=zohoarc; b=QNgbmCSBcERG/HUe8T9OgJEs2sg1RWNsGDPmkydZRjPvVd1XGZymR2R1sfAQ2rAQvJJGoybu8dAuKoNLGnUWtysC+fy9EtEAn5kCR+doYorNE7DJ2OqDFIGJ6ZY9/Dgifwvb5LES5l+E89Af4hKgow5FtJdEnp0HMia+SDmI9GI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574905943; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xrRSWLQNVTbtusHhRaP5D+CbJqxAFGT8ZkvcmL+Ufpk=; b=QYR6dhSzKFJRua9FCZKg9XJK5HJo2BUZ3dVdkDHH44xSFY2SBTTo3Ovu07C/okBBAyfj2gmQWAWFRTBhDx15oqOya4F9ezM/OKqB/fAz/Co/yCHE/uELCtnnRSWB3XI2Xantg+CeWcvs1J/TzY9c1CcFffeswfVoec+4R/U/mos= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 157490594373689.52589217611626; Wed, 27 Nov 2019 17:52:23 -0800 (PST) Received: from localhost ([::1]:44642 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8yk-0007Qi-8J for importer@patchew.org; Wed, 27 Nov 2019 20:52:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51878) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8x4-0005zl-2R for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x2-00047m-Td for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:37 -0500 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:55370) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x2-00044l-KD for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:36 -0500 Received: by mail-wm1-x341.google.com with SMTP id a131so4939939wme.5 for ; Wed, 27 Nov 2019 17:50:36 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:34 -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 :mime-version:content-transfer-encoding; bh=xrRSWLQNVTbtusHhRaP5D+CbJqxAFGT8ZkvcmL+Ufpk=; b=HkmagZ0t+W4beS0j/E/+Ss0p1P6BCyuKahwNMIF2i8FZYZyIaOWN9AvyZGYS5x1Puz vOL6K7rAZa5sY+EwNygtBG2Zetlr6XmgqLg9fV40PM6C8FmOBBsstIMWIHDcdCz0yq0T g4kqCUbP75Znx9gc507WPmuu8tjnmcY1LUWmVQUGNK5KXwuhI8vdL6V10dFIUwq+nSno pyK+aDT72M8fmESKB7f6nduYuDcmp/k/utv6u35S9xxY/Q23ml6seQhIWCfhALBXSltX GOnNJmZdOh1/NFyCn8vG1IE7SL+V1L5o1iux0rDRWCtdGd/utY7SsD+xLHi07v3QuivF LhwA== 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:mime-version:content-transfer-encoding; bh=xrRSWLQNVTbtusHhRaP5D+CbJqxAFGT8ZkvcmL+Ufpk=; b=D+I3Itnrhdbn7uvq9c4LSxEa8PTapcrxDua0A4MPPUMQ9dAjD8wF/shwRLlTcXQMBz zJ0SErXIJ9LoVSqmL/dkTTr09AZ254GAE5i3iMFilIbIEf9XRj4XFR2TBtJxvbMBBJhI jB+phqtow4KMf/NDyoNQ2zOXUW0QHCz9eG2SxG/p9vPxgETHSW2Ag943sOBNe1v7h86r G47byyNUkeOEN52hjbF3nxiCDkKc54ILDc4nikLYG5ZFiOq+2GOkcN1Yz19GzxKgmo4/ Pg7X2/wJHbcVvjhx7dYA5QF18K5I5L1ccRZrF/HTgjEdjszZl6jIMePJIJn07K96IqiX 5ONQ== X-Gm-Message-State: APjAAAUdC7vSqHBkGPEr5BSHD8QN8uyAad9qAoLIzuKctUtMyL3KkBgK joNGhbUvlR6a3bjxfsroMQDAMg0n X-Google-Smtp-Source: APXvYqwL4VLoeJKvhiI6zGa25OKaF0uHG+2nKuwlhIAZSptFcOKOjyb/THc3htxoXSScWs7v0DhdlA== X-Received: by 2002:a1c:b1c3:: with SMTP id a186mr7184688wmf.10.1574905834936; Wed, 27 Nov 2019 17:50:34 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [NOTFORMERGE PATCH 01/10] hw/avr: Kludge to fix build failure Date: Thu, 28 Nov 2019 02:50:21 +0100 Message-Id: <20191128015030.27543-2-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Incomplete rename between Michael v36/v37 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/char/avr_usart.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/hw/char/avr_usart.h b/include/hw/char/avr_usart.h index 8e9ee88bbd..87f3f54cf8 100644 --- a/include/hw/char/avr_usart.h +++ b/include/hw/char/avr_usart.h @@ -94,4 +94,6 @@ typedef struct { qemu_irq dre_irq; } AVRUsartState; =20 +typedef AVRUsartState AvrUsartState; + #endif /* HW_AVR_USART_H */ --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906083; cv=none; d=zohomail.com; s=zohoarc; b=KFhKN2eKl0MpZe6PoUZ6oConPancu0EY2lXjIzmUP7fBAaUc43twEpHn9FJmT/txoCh6L08M/SwqPvY5O+OCeiT8fu3za0x1rauc2zxKl/z2yTx/gAX+aXCu4M42Lcn9vhNMNzvn16d0NbAsxvgODph/m7fHf1xZn0z0d3/y9hI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906083; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GKaacMsIgIZwUgHU10AvimUPTS2QfclWgoTlYWP2G6A=; b=REKeZPWipCfyXhiUwsOKUHxmgAm8YPQHUJJUxIFpGdjepFiTbmJGsHWUFAtZ4UUT9aI22Uf0AYTALFQ/74wXlTJ2xz7zGa6FQuA6ZXWRu0ipEvCpPpV34aQHiCksf35Mreguv5s44/xHxsIb60lRxIovJHEP4kyTbGSkecbjd9s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906083074177.52516942774628; Wed, 27 Nov 2019 17:54:43 -0800 (PST) Received: from localhost ([::1]:44669 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia90z-00021e-Mt for importer@patchew.org; Wed, 27 Nov 2019 20:54:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51957) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8x4-0005zn-PI for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x3-00049h-Sv for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:38 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34539) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x3-00047N-Ko for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:37 -0500 Received: by mail-wr1-x443.google.com with SMTP id t2so29058042wrr.1 for ; Wed, 27 Nov 2019 17:50:37 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:35 -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 :mime-version:content-transfer-encoding; bh=GKaacMsIgIZwUgHU10AvimUPTS2QfclWgoTlYWP2G6A=; b=hmJ5sNJuZPNrr8BRnDEOaZrwmMkmZQtFROSchLJ+7IIuIXJUvJ166jrxR3TBAFzSv7 sJw2Djfqhtma/noBB8ztMgKTWyKBcUsDF3qmbtmKQ/X7nZAvPyWDrUHYYCxhbtKlk4tu cy8BrA8Iaf8qSo0VjNNPkZcqNyejVnvlyQZVj9PUjOgQvtKTLOPgGsS0519m43PW3bUG L+Bg3TUDH0RUUpWnNOTWN10RRkm3cOcvYRMoc11bFJcCnyZ+J2H0IWE3P3mRVVGRQQMa uc9BQSIcXks2gGpyuuJALvhyN9s9JO8vOV1tEONJ0oTJkDFKb8It6ypVTPfeS7E2NnG0 5rEg== 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:mime-version:content-transfer-encoding; bh=GKaacMsIgIZwUgHU10AvimUPTS2QfclWgoTlYWP2G6A=; b=Z4uZGcBG7Xvkfa1/trBV9EROlwJWGQ+vsJhZs9caae44XTqw2feSB7vy6w39RnE/KA +bUKOGvxdkWNRHukwcpyxqOwyjVXbR161KYFFDPRbfcpkPpQzQQshbc8EMDhh/Prku9U I84j4OwDAPgc2VM5tw8IrImEHn9K8U7pPjGNL8Y2wFZ39W71tYkuQJE+HGGL7pu3gIL2 JTcXAUPBCvxMueI4VGChjdaL3q3l75KTTpGzAihHKPRIyUSFGw1XOyn1QtTM0ylS48ds MX3wsYKksgDiOI6O23HbLK93Wi1OXcapBHkzbN0WmpDMavsZXn3H20qNyRcNVHIaOIjS H4eg== X-Gm-Message-State: APjAAAXSnPPeiUt11O/DTxBLVMBD43GqCRLkg6ymBlV76aKUv4ZJ2gKw fzgcDZJZvI8mzDAuvjrzA+7KMQ1c X-Google-Smtp-Source: APXvYqz6ZivBr/uTRyWnd7xmmQlMRJIov0mOQWhuUMvxZFOAUqb2rBwAMW/JNpGtRhXB0bPvAJEKBA== X-Received: by 2002:a5d:60c5:: with SMTP id x5mr47770804wrt.189.1574905836296; Wed, 27 Nov 2019 17:50:36 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [PATCH 02/10] target/avr: Remove unused include Date: Thu, 28 Nov 2019 02:50:22 +0100 Message-Id: <20191128015030.27543-3-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/avr/helper.c | 1 - 1 file changed, 1 deletion(-) diff --git a/target/avr/helper.c b/target/avr/helper.c index f1939bd5a7..75946209b8 100644 --- a/target/avr/helper.c +++ b/target/avr/helper.c @@ -21,7 +21,6 @@ #include "qemu/osdep.h" =20 #include "cpu.h" -#include "hw/irq.h" #include "hw/sysbus.h" #include "sysemu/sysemu.h" #include "exec/exec-all.h" --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906090; cv=none; d=zohomail.com; s=zohoarc; b=kyEWyEvECz54MBF2GRu4/RK6ofeVlcc2Szv5Wwgl0y26uTuV/qQW9jfojNv3RlQPdFazISPJ7OxpSrynq9+Pg6e9hCvqeT5LV4i4etW25dnFECD6ET34Zqdkxsyg1oQMyplkdA2JfvH/Cio/B87kkeZSCc4y1l/uTHV4JFNm4t8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906090; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nkiNRcAB3EX8YKP0tQWkOyykB73B9upJcB4fmS8DPoY=; b=Zgs7sdj7e5z7OYMbhdvnCXMO+vlQKPIztQHYSJv64BdJL1BdaI6E31+RF5Qpe3ek4niYudQStHAp7bavmScw+8oDuVIozW01YhuVRDQ6MBLydN1KnJSHzkPRSlVrT9y4RaxNK3mBlk1uipkttjj4kJrzzAXqN/ZX/JtwcEuMxbM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906090268852.8294196311664; Wed, 27 Nov 2019 17:54:50 -0800 (PST) Received: from localhost ([::1]:44670 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia917-0002Ba-2u for importer@patchew.org; Wed, 27 Nov 2019 20:54:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52058) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8x6-000604-0h for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x5-0004Cs-2o for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:39 -0500 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:34283) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x4-0004Ah-T3 for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:39 -0500 Received: by mail-wm1-x342.google.com with SMTP id j18so6198824wmk.1 for ; Wed, 27 Nov 2019 17:50:38 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:37 -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 :mime-version:content-transfer-encoding; bh=nkiNRcAB3EX8YKP0tQWkOyykB73B9upJcB4fmS8DPoY=; b=QTbovwGUVf6V5BMmh853yEY9NnGOtjoK+iVN5Vj+m9Cx/2LWgF2Bzt2vXJ//o3BtPu 9vD2FU5CWaB8cuB5TFOI+EgMn8XK8/A8XgFLeZQIJn9ZhFD0HNJbU0vhsZCv3QVlMevP Fjx950nB9QDaotwWn7SusSQ81bgTFrKVOnDXUPTtwbRkJXz3+v3wqAwGHumk62Y7iLtP 9s/KlCBfu0gLKWe5J4m3pMFEQnuSiHyqcGn/T70K056gmWvgTcYMN0kABb6/2fsP19bf 30HoMBjmViqdmGMvWK7wlGJfT8x7M/5ErOqnbCgDipyYs1tb2aBZqrZ7fRfAc5YgXK3G 20WA== 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:mime-version:content-transfer-encoding; bh=nkiNRcAB3EX8YKP0tQWkOyykB73B9upJcB4fmS8DPoY=; b=KUrblnanumX6G66o4p3trXI9TrNj7Z2J1qDWfcYlZ5O/3YudrsC24jaSGorliYHkVa QOigCGyLqCOzOlXwwwAsOkhsWPWFYodGr6OWKAvhXQp6P+lHhjI9+FCpjEzOXmkYpICr R440tEocKZnvlT7xweoTeHOVnkn9PSqYBfILj3m5CIFtDSSF0yC7Ow8NxYCNdKMBYwV5 nlLNNlmwIhZMuDGv4s/T5av11TDdl3CNCZgKuAFNXr/f7lMHTs5uRrTq67N3wFtit47Z /4gnhzTVC3k5tOPD3GUDJM7KM6OGSAMY+f8i6j/3yqywQE+xelzP2vtliRJdZMfWMZAy w3NA== X-Gm-Message-State: APjAAAWdMRRmiRUP14HXQrin//6CVyXUlAfiFY3lV0udhL/HvJ44y2kf gyc7mE/krJziJdxx4F5rMprwi5qj X-Google-Smtp-Source: APXvYqyzPkZ7OeQaxO22F3HKGwFNm+0WCCsdpTHgf9jGgPueBRm8YE/Tj/Y1nZu6g+nxz47yD+7dhQ== X-Received: by 2002:a1c:984f:: with SMTP id a76mr7405710wme.64.1574905837637; Wed, 27 Nov 2019 17:50:37 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [PATCH 03/10] target/avr: Add missing definitions Date: Thu, 28 Nov 2019 02:50:23 +0100 Message-Id: <20191128015030.27543-4-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/avr/cpu.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/avr/cpu.h b/target/avr/cpu.h index a3e615a1eb..c1448a865f 100644 --- a/target/avr/cpu.h +++ b/target/avr/cpu.h @@ -26,6 +26,8 @@ =20 #define TCG_GUEST_DEFAULT_MO 0 =20 +#define AVR_CPU_TYPE_SUFFIX "-" TYPE_AVR_CPU +#define AVR_CPU_TYPE_NAME(name) (name AVR_CPU_TYPE_SUFFIX) #define CPU_RESOLVING_TYPE TYPE_AVR_CPU =20 /* --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906200; cv=none; d=zohomail.com; s=zohoarc; b=IQ0PgIibGgmrAAWy0q5cUPH8MI4aNRICoujhxMgPOFkvjJNzkDSWdpeOwcSQSsX84WhpZjyvmwwotlSyCKhPyMucN9RnwASEJNNh4FNtkGiasn39WDtKN9nHiFwFRqT6XyeNqwcf2Iom9ki0kN+XxpU0AyxA3Gm9aIno9cScuaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906200; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4v1ufCU3OmUo7Hl9SRgGbYrzRMi0K0vlNG4YbI/LyYw=; b=RpG5zWFjMJKBhKITptQQTryuj+/Ts7F8nTEmMHQ9BU5f1EFdUlzHAxDqA4vPcuFaeNuPrPXSbY2XkM0hcTOTbeuboqqPmGvrZR9chU3sH0DTAEFiXT2kuXNkBhY4LB2o9GMYHq+jH855JM1Rjin71U656VZbY5hr1Eg0sn4I8m4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906200150688.746336434167; Wed, 27 Nov 2019 17:56:40 -0800 (PST) Received: from localhost ([::1]:44680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia92r-0003qN-Lh for importer@patchew.org; Wed, 27 Nov 2019 20:56:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52165) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8x7-00060I-9e for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x6-0004Fm-BC for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:41 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:44770) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x6-0004Dp-4s for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:40 -0500 Received: by mail-wr1-x442.google.com with SMTP id i12so29015783wrn.11 for ; Wed, 27 Nov 2019 17:50:40 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:38 -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 :mime-version:content-transfer-encoding; bh=4v1ufCU3OmUo7Hl9SRgGbYrzRMi0K0vlNG4YbI/LyYw=; b=F+g86bRUIXqueZi0H88FMyG2aVI3z25sm1JzdeeSWJfLoHZyDGs7xkBAVyftClkWbi v0IzQm2sbB/PLUrLNwLwaNXBjOva18hIX2SKm7El2WIWKaJ1x30HCxH9cwVAa+M3y+3f uYyJkW15XFCt5umWi3jWPLZ1qtB+jo28SHiZt6Ua0FReNp5T8tg2kWW29Cm5aHuMx8is QTNvIUKBOrCEbyyUUv1X7g/BVWkcJrHE9kvC8EslNt144b4/GWUKFbJ/UF1RKZw+aGy5 YyO/KiXSTa45t9Jb0Zg1yck9BvudskxVM94pUMDRZDV9llSBPTtW/NwIl0QGYvCqbquT Sb9g== 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:mime-version:content-transfer-encoding; bh=4v1ufCU3OmUo7Hl9SRgGbYrzRMi0K0vlNG4YbI/LyYw=; b=Ajhr+2XN/WDtaiUv3QWEHeFOYkQZMBYQfuxh93uweZogL/BBCYkJQiZc2X7KU3dF4b ftZ4dSwcGmoJEElK+XQG9KpJchhTxT9PCdJWM32JouQfRY/SDRPiquijyRnADHLrNDIL bn3lbUHQuABsB1DhPtQvwb6WgXoOwY7+EDnDmFgzTAu8oEx9tH8VWtk9Hzl/2ibNKSHK +g8Sa/t+C08jh+KUmA37cwZGesjPA/GVz1Aq1K34cSmzrbCEvWWqtIGW+pLK0998w4fE Cl/SDoanKT9w5Pzxaa8TZw7qkfAtyL51dq/P2/OtGO0n/+olZcPKPm/oyRQ/xBV4UX1z e9UA== X-Gm-Message-State: APjAAAWErGaT/p9e893l2tRRg4di9f81zGYULoCvdmlHhCEjGlBP49dY SxFeLZPETdN4rC3Ugk8ln8UE5WI5 X-Google-Smtp-Source: APXvYqxsiilrpxy5/V3MbIeKGLjft1fXPUCy7ZZQqL+PjohRDedTcybCRVuvbVdzpwCvJaKLGLGxsA== X-Received: by 2002:a5d:5050:: with SMTP id h16mr48891832wrt.380.1574905839018; Wed, 27 Nov 2019 17:50:39 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [NOTFORMERGE PATCH 04/10] target/avr: Fix IRQ count Date: Thu, 28 Nov 2019 02:50:24 +0100 Message-Id: <20191128015030.27543-5-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Fix a SEGV when using IRQ#57 by expanding to 64 IRQs. 64 is a magic number. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/avr/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/avr/cpu.c b/target/avr/cpu.c index 52ec21dd16..8198f9d49c 100644 --- a/target/avr/cpu.c +++ b/target/avr/cpu.c @@ -129,7 +129,7 @@ static void avr_cpu_initfn(Object *obj) =20 #ifndef CONFIG_USER_ONLY /* Set the number of interrupts supported by the CPU. */ - qdev_init_gpio_in(DEVICE(cpu), avr_cpu_set_int, 57); + qdev_init_gpio_in(DEVICE(cpu), avr_cpu_set_int, 64); #endif } =20 --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574905959; cv=none; d=zohomail.com; s=zohoarc; b=hsJYD4tMYlBMNis9UEjUoBerUcHC6wgHfjCdc1aGlyF3UEc6iYHyTjU+cUJHieax3I7qmzxsMQYf75WHezlSDBJ4rgG0oM0p1Jey5ooNORdks+r+2IKOlSQ1VYHrRll7LnqyJdTdVZUla2lUU6DPlEHZ7/6JpZLEUdz7KP3o58w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574905959; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jb2tbtaquf5VPvDAi0c6Lc2EAVperS+YrEI9rjM8y3s=; b=MbZMC3cNkVlRkWitqnK15f4vIuLHIvOm+9sSPQBrYn7oNsy5chIAvvWGFLnYIZlnNz54cAlZIJWr4TFurb1xYBnXm31gZR9sWzQZj7XkA597u9vNGDbZRqpXbnki8xnXe/B8tU8Dq+IDjsF8vPUF0lw4JHAuqT9DzoHMqa5zVlw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574905959235468.64740915520326; Wed, 27 Nov 2019 17:52:39 -0800 (PST) Received: from localhost ([::1]:44650 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8yz-0007lP-Tq for importer@patchew.org; Wed, 27 Nov 2019 20:52:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52345) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8x9-00062h-Jy for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x7-0004Ih-Ji for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:43 -0500 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:35557) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x7-0004HD-Dl for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:41 -0500 Received: by mail-wm1-x343.google.com with SMTP id n5so9963121wmc.0 for ; Wed, 27 Nov 2019 17:50:41 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:39 -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 :mime-version:content-transfer-encoding; bh=jb2tbtaquf5VPvDAi0c6Lc2EAVperS+YrEI9rjM8y3s=; b=p50P8t8KmQXkFd4gXWDe51BHDwBJQeIarz6PfZ7ZE4rJMcJuAJ6ckTovmFHNa4TvEk FGi2jtnZV8pu7egesd7HeK2vfE4UB2uIcNK95r/8Imb8hysTrgV5DELmWtgZQ9wNHdN6 nvVkTLaw8WwOj//4xC/a7/I29vOOaMHXWOp2MYrXoQ7iFY8usyFhbwcn3B60qQmmcBJf rx9u/ylfTyno66P7ATNHnk04HVrbP359AbXAxAqHX7r9Y9o2VVpmRwA5PZdParTJ3ejz cwB82d6WHaHfT/VfpTfELi1t7+7eWMUFKUQ2cw2dCJM9IyvNDip9IwrrZrjBg9ejCttT N4sA== 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:mime-version:content-transfer-encoding; bh=jb2tbtaquf5VPvDAi0c6Lc2EAVperS+YrEI9rjM8y3s=; b=iDckRlyfEBGb8bQFg3krRrTUSkC37Ltr5T6ASI1CNw8ZG/jqQJ7Yb5n99HRx9eTz/q 9laEO53R6e+VauE6qiBpZndWOtCQnxepEf9Sg8qQZtSOYG0Wt532epMXp/Map9iQ3qSY CMBCPRdSd0tWIQv7QS4OA6ruL76sNMgtVwGcaHe01MpbVS/oh5Mwv1lNYCT5FDs+QuXR CqMw7klYNpnaGPlmpgR+jplZE3MYaemGY/AeIVJ4hA50yYtPKfmIg6s03x1Vb5xyHedm dGvig5mYyrrJLD3Qj6bKXbwomaIoxZd0lpzAgB8GeaUwaDoT66VMP3QaZqheEqlgSwxm HwYQ== X-Gm-Message-State: APjAAAVTqd/LWgKkZtg3zbgTff0YWInNRvveh3x9ht4sDOZj1jjg75Nu 8yUC0wE/bZb6Orf+55Ado5pgfJRB X-Google-Smtp-Source: APXvYqxbBzJYE08XuYkn3WvaGb5yc4wXkxMSc4VG3aOGwn3uCVC4M/bILGZOMqQYPJzdhsY4sqSizQ== X-Received: by 2002:a1c:ed05:: with SMTP id l5mr7471477wmh.161.1574905840352; Wed, 27 Nov 2019 17:50:40 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [RFC PATCH 05/10] hw/char/avr: Reduce USART I/O size Date: Thu, 28 Nov 2019 02:50:25 +0100 Message-Id: <20191128015030.27543-6-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Per the datasheet the USART uses 6 consecutive 8-bit registers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/char/avr_usart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/char/avr_usart.c b/hw/char/avr_usart.c index d039689c56..ba17bdd470 100644 --- a/hw/char/avr_usart.c +++ b/hw/char/avr_usart.c @@ -284,7 +284,7 @@ static void avr_usart_init(Object *obj) sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->rxc_irq); sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->dre_irq); sysbus_init_irq(SYS_BUS_DEVICE(obj), &s->txc_irq); - memory_region_init_io(&s->mmio, obj, &avr_usart_ops, s, TYPE_AVR_USART= , 8); + memory_region_init_io(&s->mmio, obj, &avr_usart_ops, s, TYPE_AVR_USART= , 6); sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->mmio); qdev_init_gpio_in(DEVICE(s), avr_usart_pr, 1); s->enabled =3D true; --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906341; cv=none; d=zohomail.com; s=zohoarc; b=CMawG6XVwETpBBTY11GTfYMk0FKTjmqtSntFTRya2VtIYXmqM/XUt8OZxK24mpAFcvy+YuBEhD3HbUko3N4c1dicMzcMrMuXWjzEowCREkeEnSs+eMdTChJbIL5Z8TWgskCCSiM/+Mae81EI6JjhhPRGEei/20kUObwhYXydZCg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906341; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zsf/xXMiGQcLboUtpvBenmiaUYMKFWdZMHx4kHR5SOc=; b=dIHW0JeGeUrAvP3JtQ2EzKyPFm68Kh+9Xsx7ot0fikzUgAxC2DpbbSR2jiET/1FJ5etjFdKzhVjWr8UrXemEujSBufH73d66iGB4uAFI+AmvGj1HX3jpEZxfi9MzZ3Gmszo/4imHxllLPaVuvBo5zIVRb/0VLPOWLJzsn3Ivk+g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906341858386.02102704822573; Wed, 27 Nov 2019 17:59:01 -0800 (PST) Received: from localhost ([::1]:44702 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia95A-0006oi-Gl for importer@patchew.org; Wed, 27 Nov 2019 20:59:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52504) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8xC-00065V-Ac for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8x9-0004Mx-Cr for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:45 -0500 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:33391) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8x9-0004Ks-35 for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:43 -0500 Received: by mail-wm1-x343.google.com with SMTP id y23so1647099wma.0 for ; Wed, 27 Nov 2019 17:50:43 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:41 -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 :mime-version:content-transfer-encoding; bh=zsf/xXMiGQcLboUtpvBenmiaUYMKFWdZMHx4kHR5SOc=; b=OGq0874Fc3lGU8bliehO9ORo7LtSKVZsoh6SNSiZQUJoyDUnG0PtC5WAFWPR2BeARr 3D4sjtK44qdOGU2TG0waD5jHROFgaWqNRGfkW4iQ1msOJboLV1WdHP74pkwgeIROaLGM 65pTRflNGHjro12r+IjVXi8ZPhTzWMS7hI3H54IIpxDxRukmBCQMzNoEis1svGEqjZQQ jQQrwYNbIj/RUXwa3TAwdLWMAWCctemZSEJuUSHlvGSizx223XKT1wy3D+s5R2kpovZj VPa0/TJvGUlVeHV9w0pMqKEfenzpB1wAT+VDeLKvvQ7Fg5XsKxlKk1BshdtRn8bY7sHg n+Dw== 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:mime-version:content-transfer-encoding; bh=zsf/xXMiGQcLboUtpvBenmiaUYMKFWdZMHx4kHR5SOc=; b=QSwUANVRNDa8AT/pADODzUfiyb2cIlDK4vg3jCHzSU0Hs6/BCvKp9FfgLj5RgWPQKw ICc3Q7kyQ5wC78dQiRcnRt8EHKPKn9I0tb27/czx3lpIA+EgJnd2brkD+Xl24+2z7vYa GhFh6h9rHp0jFV4b4KhAETXLsjscdb6Av0Klxm1u6kIXw9Alz0mY4mKkeoN/yNVrxzuJ XPG+TOUrWYDr0ql9RKet18GdAnNKxwIRr5EJKEvKTR4ERarOGgt4zWcn1ZePeV1D8vjt tLmJEPKmHcFgOb92yYpeTCLol6CMPXfVnqfWLCwzKRR2JMHBSU2t4EqkyJtZtPQBUF6s 57lw== X-Gm-Message-State: APjAAAWNEQhjmvLgmpb/g2LDU/Y7aDj5gXdMsFyNKcn3R9I5+F181Ybm tv1hxilj4Hx4BDSDI3mAd+LKi5GQ X-Google-Smtp-Source: APXvYqwHSu/0GlE42yJ8JDMouYdJXukXzLX/Fy1WivmLCRnEAHc3LURu7uzJW9yuBL1jLQMUm8SaQw== X-Received: by 2002:a7b:c001:: with SMTP id c1mr7188713wmb.96.1574905841694; Wed, 27 Nov 2019 17:50:41 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [RFC PATCH 06/10] hw/avr: Add ATmega microcontrollers Date: Thu, 28 Nov 2019 02:50:26 +0100 Message-Id: <20191128015030.27543-7-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add famous ATmega MCUs: - middle range: ATmega168 and ATmega328 - high range: ATmega1280 and ATmega2560 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/avr/atmega.h | 58 +++++++ hw/avr/atmega.c | 379 +++++++++++++++++++++++++++++++++++++++++++ hw/avr/Makefile.objs | 1 + 3 files changed, 438 insertions(+) create mode 100644 hw/avr/atmega.h create mode 100644 hw/avr/atmega.c diff --git a/hw/avr/atmega.h b/hw/avr/atmega.h new file mode 100644 index 0000000000..d22d90a962 --- /dev/null +++ b/hw/avr/atmega.h @@ -0,0 +1,58 @@ +/* + * QEMU ATmega MCU + * + * Copyright (c) 2019 Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPLv2 or later. + * See the COPYING file in the top-level directory. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HW_AVR_ATMEGA_H +#define HW_AVR_ATMEGA_H + +#include "hw/char/avr_usart.h" +#include "hw/char/avr_usart.h" +#include "hw/timer/avr_timer16.h" +#include "hw/misc/avr_mask.h" +#include "target/avr/cpu.h" + +#define TYPE_ATMEGA "ATmega" +#define TYPE_ATMEGA168 "ATmega168" +#define TYPE_ATMEGA328 "ATmega328" +#define TYPE_ATMEGA1280 "ATmega1280" +#define TYPE_ATMEGA2560 "ATmega2560" +#define ATMEGA(obj) OBJECT_CHECK(AtmegaState, (obj), TYPE_ATMEGA) + +#define USART_MAX 4 +#define TIMER_MAX 6 + +typedef struct AtmegaState { + /*< private >*/ + SysBusDevice parent_obj; + /*< public >*/ + + AVRCPU cpu; + MemoryRegion flash; + MemoryRegion eeprom; + MemoryRegion sram; + DeviceState *io; + AVRMaskState pwr[2]; + AVRUsartState usart[USART_MAX]; + AVRTimer16State timer[TIMER_MAX]; + uint64_t xtal_freq_hz; +} AtmegaState; + +typedef struct AtmegaInfo AtmegaInfo; + +typedef struct AtmegaClass { + SysBusDeviceClass parent_class; + const AtmegaInfo *info; +} AtmegaClass; + +#define ATMEGA_CLASS(klass) \ + OBJECT_CLASS_CHECK(AtmegaClass, (klass), TYPE_ATMEGA) +#define ATMEGA_GET_CLASS(obj) \ + OBJECT_GET_CLASS(AtmegaClass, (obj), TYPE_ATMEGA) + +#endif /* HW_AVR_ATMEGA_H */ diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c new file mode 100644 index 0000000000..1f1b1246ef --- /dev/null +++ b/hw/avr/atmega.c @@ -0,0 +1,379 @@ +/* + * QEMU ATmega MCU + * + * Copyright (c) 2019 Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPLv2 or later. + * See the COPYING file in the top-level directory. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/module.h" +#include "qemu/units.h" +#include "qapi/error.h" +#include "exec/memory.h" +#include "exec/address-spaces.h" +#include "sysemu/sysemu.h" +#include "hw/qdev-properties.h" +#include "hw/sysbus.h" +#include "hw/boards.h" /* FIXME memory_region_allocate_system_memory for s= ram */ +#include "hw/misc/unimp.h" +#include "atmega.h" + +enum AtmegaIrq { + USART0_RXC_IRQ, USART0_DRE_IRQ, USART0_TXC_IRQ, + USART1_RXC_IRQ, USART1_DRE_IRQ, USART1_TXC_IRQ, + USART2_RXC_IRQ, USART2_DRE_IRQ, USART2_TXC_IRQ, + USART3_RXC_IRQ, USART3_DRE_IRQ, USART3_TXC_IRQ, + TIMER0_CAPT_IRQ, TIMER0_COMPA_IRQ, TIMER0_COMPB_IRQ, + TIMER0_COMPC_IRQ, TIMER0_OVF_IRQ, + TIMER1_CAPT_IRQ, TIMER1_COMPA_IRQ, TIMER1_COMPB_IRQ, + TIMER1_COMPC_IRQ, TIMER1_OVF_IRQ, + TIMER2_CAPT_IRQ, TIMER2_COMPA_IRQ, TIMER2_COMPB_IRQ, + TIMER2_COMPC_IRQ, TIMER2_OVF_IRQ, + TIMER3_CAPT_IRQ, TIMER3_COMPA_IRQ, TIMER3_COMPB_IRQ, + TIMER3_COMPC_IRQ, TIMER3_OVF_IRQ, + TIMER4_CAPT_IRQ, TIMER4_COMPA_IRQ, TIMER4_COMPB_IRQ, + TIMER4_COMPC_IRQ, TIMER4_OVF_IRQ, + TIMER5_CAPT_IRQ, TIMER5_COMPA_IRQ, TIMER5_COMPB_IRQ, + TIMER5_COMPC_IRQ, TIMER5_OVF_IRQ, +}; +#define IRQ_MAX 64 + +#define USART_RXC_IRQ(n) (3 * n + USART0_RXC_IRQ) +#define USART_DRE_IRQ(n) (3 * n + USART0_DRE_IRQ) +#define USART_TXC_IRQ(n) (3 * n + USART0_TXC_IRQ) +#define TIMER_CAPT_IRQ(n) (5 * n + TIMER0_CAPT_IRQ) +#define TIMER_COMPA_IRQ(n) (5 * n + TIMER0_COMPA_IRQ) +#define TIMER_COMPB_IRQ(n) (5 * n + TIMER0_COMPB_IRQ) +#define TIMER_COMPC_IRQ(n) (5 * n + TIMER0_COMPC_IRQ) +#define TIMER_OVF_IRQ(n) (5 * n + TIMER0_OVF_IRQ) + +static const uint8_t irq168_328[IRQ_MAX] =3D { + [TIMER2_COMPA_IRQ] =3D 8, + [TIMER2_COMPB_IRQ] =3D 9, + [TIMER2_OVF_IRQ] =3D 10, + [TIMER1_CAPT_IRQ] =3D 11, + [TIMER1_COMPA_IRQ] =3D 12, + [TIMER1_COMPB_IRQ] =3D 13, + [TIMER1_OVF_IRQ] =3D 14, + [TIMER0_COMPA_IRQ] =3D 15, + [TIMER0_COMPB_IRQ] =3D 16, + [TIMER0_OVF_IRQ] =3D 17, + [USART0_RXC_IRQ] =3D 19, + [USART0_DRE_IRQ] =3D 20, + [USART0_TXC_IRQ] =3D 21, +}, irq1280_2560[IRQ_MAX] =3D { + [TIMER2_COMPA_IRQ] =3D 14, + [TIMER2_COMPB_IRQ] =3D 15, + [TIMER2_OVF_IRQ] =3D 16, + [TIMER1_CAPT_IRQ] =3D 17, + [TIMER1_COMPA_IRQ] =3D 18, + [TIMER1_COMPB_IRQ] =3D 19, + [TIMER1_COMPC_IRQ] =3D 20, + [TIMER1_OVF_IRQ] =3D 21, + [TIMER0_COMPA_IRQ] =3D 22, + [TIMER0_COMPB_IRQ] =3D 23, + [TIMER0_OVF_IRQ] =3D 24, + [USART0_RXC_IRQ] =3D 26, + [USART0_DRE_IRQ] =3D 27, + [USART0_TXC_IRQ] =3D 28, + [TIMER3_CAPT_IRQ] =3D 32, + [TIMER3_COMPA_IRQ] =3D 33, + [TIMER3_COMPB_IRQ] =3D 34, + [TIMER3_COMPC_IRQ] =3D 35, + [TIMER3_OVF_IRQ] =3D 36, + [USART1_RXC_IRQ] =3D 37, + [USART1_DRE_IRQ] =3D 38, + [USART1_TXC_IRQ] =3D 39, + [USART2_RXC_IRQ] =3D 52, + [USART2_DRE_IRQ] =3D 53, + [USART2_TXC_IRQ] =3D 54, + [USART3_RXC_IRQ] =3D 55, + [USART3_DRE_IRQ] =3D 56, + [USART3_TXC_IRQ] =3D 57, +}; + +enum AtmegaPeripheralAddress { + USART0, USART1, USART2, USART3, + TIMER0, TIMER1, TIMER2, TIMER3, TIMER4, TIMER5, + DEV_MAX +}; + +#define USART_ADDR(n) (n + USART0) +#define TIMER_ADDR(n) (n + TIMER0) + +typedef struct { + uint16_t addr; + uint16_t prr_addr; + uint8_t prr_bit; + /* timer specific */ + uint16_t intmask_addr; + uint16_t intflag_addr; + bool is_timer16; +} peripheral_cfg; + +static const peripheral_cfg dev168_328[DEV_MAX] =3D { + [TIMER0] =3D { 0x24, 0x64, 5, 0x6e, 0x35, false }, + [TIMER1] =3D { 0x80, 0x64, 3, 0x6f, 0x36, true }, + [TIMER2] =3D { 0xb0, 0x64, 6, 0x70, 0x37, false }, + [USART0] =3D { 0xc0, 0x64, 1 }, +}, dev1280_2560[DEV_MAX] =3D { + [TIMER0] =3D { 0x24, 0x64, 5, 0x6e, 0x35, false }, + [TIMER1] =3D { 0x80, 0x64, 3, 0x6f, 0x36, true }, + [TIMER3] =3D { 0x90, 0x65, 3, 0x71, 0x38, true }, + [TIMER4] =3D { 0xa0, 0x65, 4, 0x72, 0x39, true }, + [TIMER2] =3D { 0xb0, 0x64, 6, 0x70, 0x37, false }, + [USART0] =3D { 0xc0, 0x64, 1 }, + [USART1] =3D { 0xc8, 0x65, 0 }, + [USART2] =3D { 0xd0, 0x65, 1 }, + [TIMER5] =3D { 0x120, 0x65, 5, 0x73, 0x3a, true }, + [USART3] =3D { 0x130, 0x65, 2 }, +}; + +struct AtmegaInfo { + const char *uc_name; + const char *cpu_type; + size_t flash_size; + size_t eeprom_size; + size_t sram_size; + size_t io_size; + size_t uart_count; + size_t timer_count; + size_t gpio_count; + size_t adc_count; + const uint8_t *irq; + const peripheral_cfg *dev; +}; + +static const AtmegaInfo atmega_mcu[] =3D { + { + .uc_name =3D TYPE_ATMEGA168, + .cpu_type =3D AVR_CPU_TYPE_NAME("avr5"), + .flash_size =3D 16 * KiB, + .eeprom_size =3D 512, + .sram_size =3D 1 * KiB, + .io_size =3D 256, + .uart_count =3D 1, + .gpio_count =3D 23, + .adc_count =3D 6, + .irq =3D irq168_328, + .dev =3D dev168_328, + }, + { + .uc_name =3D TYPE_ATMEGA328, + .cpu_type =3D AVR_CPU_TYPE_NAME("avr5"), + .flash_size =3D 32 * KiB, + .eeprom_size =3D 1 * KiB, + .sram_size =3D 2 * KiB, + .io_size =3D 256, + .uart_count =3D 1, + .timer_count =3D 3, + .gpio_count =3D 23, + .adc_count =3D 6, + .irq =3D irq168_328, + .dev =3D dev168_328, + }, + { + .uc_name =3D TYPE_ATMEGA1280, + .cpu_type =3D AVR_CPU_TYPE_NAME("avr6"), + .flash_size =3D 128 * KiB, + .eeprom_size =3D 4 * KiB, + .sram_size =3D 8 * KiB, + .io_size =3D 512, + .uart_count =3D 4, + .timer_count =3D 6, + .gpio_count =3D 86, + .adc_count =3D 16, + .irq =3D irq1280_2560, + .dev =3D dev1280_2560, + }, + { + .uc_name =3D TYPE_ATMEGA2560, + .cpu_type =3D AVR_CPU_TYPE_NAME("avr6"), + .flash_size =3D 256 * KiB, + .eeprom_size =3D 4 * KiB, + .sram_size =3D 8 * KiB, + .io_size =3D 512, + .uart_count =3D 4, + .timer_count =3D 6, + .gpio_count =3D 54, + .adc_count =3D 16, + .irq =3D irq1280_2560, + .dev =3D dev1280_2560, + }, +}; + +static void connect_nonnull_irq(SysBusDevice *sbd, DeviceState *dev, + int n, int irq) +{ + if (irq) { + sysbus_connect_irq(sbd, n, qdev_get_gpio_in(dev, irq)); + } +} + +static void connect_pr_irq(AtmegaState *s, const AtmegaInfo *info, + DeviceState *dev, int index) +{ + sysbus_connect_irq(SYS_BUS_DEVICE(&s->pwr[info->dev[index].prr_addr & = 1]), + info->dev[index].prr_bit, + qdev_get_gpio_in(dev, 0)); +} + +static void atmega_realize(DeviceState *dev, Error **errp) +{ + AtmegaState *s =3D ATMEGA(dev); + AtmegaClass *bc =3D ATMEGA_GET_CLASS(dev); + const AtmegaInfo *info =3D bc->info; + DeviceState *cpudev; + SysBusDevice *sbd; + Error *err =3D NULL; + char *devname; + size_t i; + + if (!s->xtal_freq_hz) { + error_setg(errp, "\"xtal-frequency-hz\" property must be provided.= "); + return; + } + + /* CPU */ + object_initialize_child(OBJECT(dev), "cpu", &s->cpu, sizeof(s->cpu), + info->cpu_type, &err, NULL); + if (err) { + error_propagate(errp, err); + return; + } + object_property_set_bool(OBJECT(&s->cpu), true, "realized", &error_abo= rt); + cpudev =3D DEVICE(&s->cpu); + + /* SRAM */ + memory_region_allocate_system_memory(&s->sram, OBJECT(dev), + "sram", info->sram_size); + memory_region_add_subregion(get_system_memory(), + OFFSET_DATA + 0x200, &s->sram); + + /* Flash */ + memory_region_init_rom(&s->flash, OBJECT(dev), + "flash", info->flash_size, &error_fatal); + memory_region_add_subregion(get_system_memory(), OFFSET_CODE, &s->flas= h); + + /* I/O */ + s->io =3D qdev_create(NULL, TYPE_UNIMPLEMENTED_DEVICE); + qdev_prop_set_string(s->io, "name", "I/O"); + qdev_prop_set_uint64(s->io, "size", info->io_size); + qdev_init_nofail(s->io); + sysbus_mmio_map_overlap(SYS_BUS_DEVICE(s->io), 0, OFFSET_DATA, -1234); + + /* Power */ + for (i =3D 0; i < ARRAY_SIZE(s->pwr); i++) { + devname =3D g_strdup_printf("pwr%zu", i); + object_initialize_child(OBJECT(dev), devname, + &s->pwr[i], sizeof(s->pwr[i]), + TYPE_AVR_MASK, &error_abort, NULL); + object_property_set_bool(OBJECT(&s->pwr[i]), true, "realized", + &error_abort); + sysbus_mmio_map(SYS_BUS_DEVICE(&s->pwr[i]), 0, OFFSET_DATA + 0x64 = + i); + g_free(devname); + } + + /* USART */ + for (i =3D 0; i < info->uart_count; i++) { + devname =3D g_strdup_printf("usart%zu", i); + object_initialize_child(OBJECT(dev), devname, + &s->usart[i], sizeof(s->usart[i]), + TYPE_AVR_USART, &error_abort, NULL); + qdev_prop_set_chr(DEVICE(&s->usart[i]), "chardev", serial_hd(i)); + object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", + &error_abort); + sbd =3D SYS_BUS_DEVICE(&s->usart[i]); + sysbus_mmio_map(sbd, 0, OFFSET_DATA + info->dev[USART_ADDR(i)].add= r); + connect_nonnull_irq(sbd, cpudev, 0, info->irq[USART_RXC_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 1, info->irq[USART_DRE_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 2, info->irq[USART_TXC_IRQ(i)]); + connect_pr_irq(s, info, DEVICE(&s->usart[i]), 0); + g_free(devname); + } + + /* Timer */ + for (i =3D 0; i < info->timer_count; i++) { + int idx =3D TIMER_ADDR(i); + if (!info->dev[idx].is_timer16) { + create_unimplemented_device("avr-timer8", + OFFSET_DATA + info->dev[idx].addr,= 7); + create_unimplemented_device("avr-timer8-intmask", + OFFSET_DATA + + info->dev[idx].intmask_addr, 1); + create_unimplemented_device("avr-timer8-intflag", + OFFSET_DATA + + info->dev[idx].intflag_addr, 1); + continue; + } + devname =3D g_strdup_printf("timer%zu", i); + object_initialize_child(OBJECT(dev), devname, + &s->timer[i], sizeof(s->timer[i]), + TYPE_AVR_TIMER16, &error_abort, NULL); + object_property_set_uint(OBJECT(&s->timer[i]), s->xtal_freq_hz, + "cpu-frequency-hz", &error_abort); + object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", + &error_abort); + sbd =3D SYS_BUS_DEVICE(&s->timer[i]); + sysbus_mmio_map(sbd, 0, OFFSET_DATA + info->dev[idx].addr); + sysbus_mmio_map(sbd, 1, OFFSET_DATA + info->dev[idx].intmask_addr); + sysbus_mmio_map(sbd, 2, OFFSET_DATA + info->dev[idx].intflag_addr); + connect_nonnull_irq(sbd, cpudev, 0, info->irq[TIMER_CAPT_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 1, info->irq[TIMER_COMPA_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 2, info->irq[TIMER_COMPB_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 3, info->irq[TIMER_COMPC_IRQ(i)]); + connect_nonnull_irq(sbd, cpudev, 4, info->irq[TIMER_OVF_IRQ(i)]); + connect_pr_irq(s, info, DEVICE(&s->timer[i]), 0); + g_free(devname); + } +} + +static Property atmega_props[] =3D { + DEFINE_PROP_UINT64("xtal-frequency-hz", AtmegaState, + xtal_freq_hz, 0), + DEFINE_PROP_END_OF_LIST() +}; + +static void atmega_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + AtmegaClass *bc =3D ATMEGA_CLASS(oc); + + bc->info =3D data; + dc->realize =3D atmega_realize; + dc->props =3D atmega_props; + /* Reason: Mapped at fixed location on the system bus */ + dc->user_creatable =3D false; +} + +static const TypeInfo atmega_type_info =3D { + .name =3D TYPE_ATMEGA, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(AtmegaState), + .class_size =3D sizeof(AtmegaClass), + .abstract =3D true, +}; + +static void atmega_register_types(void) +{ + size_t i; + + type_register_static(&atmega_type_info); + for (i =3D 0; i < ARRAY_SIZE(atmega_mcu); i++) { + assert(atmega_mcu[i].io_size <=3D 0x200); + assert(atmega_mcu[i].uart_count <=3D USART_MAX); + assert(atmega_mcu[i].timer_count <=3D TIMER_MAX); + TypeInfo ti =3D { + .name =3D atmega_mcu[i].uc_name, + .parent =3D TYPE_ATMEGA, + .class_init =3D atmega_class_init, + .class_data =3D (void *) &atmega_mcu[i], + }; + type_register(&ti); + } +} + +type_init(atmega_register_types) diff --git a/hw/avr/Makefile.objs b/hw/avr/Makefile.objs index 626b7064b3..4b6b911820 100644 --- a/hw/avr/Makefile.objs +++ b/hw/avr/Makefile.objs @@ -1 +1,2 @@ obj-y +=3D sample.o +obj-y +=3D atmega.o --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906207; cv=none; d=zohomail.com; s=zohoarc; b=W7UNLNXM15DyVhein4ed2w9Tx1tv8crXZ+GQ97ucpY5/Zu1Mz1hFhHLg1QB6JRBdHor6ZbItI95Qn/cfkOhQw8chNZQD5OnGA2PknqP5xC3wfTcYf1NBweza+zobMrtr+LMOYoXWP/ey+tPtnAOyMzchUaJhmr0erNHsAdoEiok= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906207; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IfenfcTVCoFvmoP5t3zC9KPTOFcafxM1N4sFnXaSYhI=; b=OMmGwXgZu/pPzwXroEb51X3E67/5ol71N2HMzUczYzTYwm9xWU15cWOHbyArUA7W/cWnBAjF3OHupUYzlHrNOxrOvD07PTDjVql0sDnIVGYe9cz8t2uFXzc/xJqXch4Iroj0vdg+vm9SDRrBdZ9K2E93VtCtOa/mdYBO6OLtZ0A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906207024853.2807697960128; Wed, 27 Nov 2019 17:56:47 -0800 (PST) Received: from localhost ([::1]:44684 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia92z-00045F-Gs for importer@patchew.org; Wed, 27 Nov 2019 20:56:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52553) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8xC-00066M-Ut for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8xB-0004Qg-01 for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:46 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:39431) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8xA-0004OM-PP for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:44 -0500 Received: by mail-wr1-x442.google.com with SMTP id y11so25954951wrt.6 for ; Wed, 27 Nov 2019 17:50:44 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:42 -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 :mime-version:content-transfer-encoding; bh=IfenfcTVCoFvmoP5t3zC9KPTOFcafxM1N4sFnXaSYhI=; b=ExVMW93qY2EA69/TeJjbrGPl4NZFi/wTt0blciufBU0KYkjEDJNK/L4ao5xS7ksMJS tKJNy1YMVA54fuZgu1J6nY0vWYoUxHh/5rx+pKAClhnq2ORHK4lqZxIm+uPXMLT6K578 KXbhUMTRQ3r/o89pxKlMXGeNwK7b79Oh4ZKu1pdea09y0yInKqMhdAxR0cOTcQGdf72T NOn5Sawhaw6cD1Mr3zYAaXYVlZz0y5m1ITGBILNigBIBzeQX7ROWTIzg5FXjjTLGF5vu 0komCtKY4zt4SpIzX5PI98ZGr7ofxAPAQgoM7zm3rGS5igBabFOnJDdgnm3UWRv86Hmx p5KA== 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:mime-version:content-transfer-encoding; bh=IfenfcTVCoFvmoP5t3zC9KPTOFcafxM1N4sFnXaSYhI=; b=Jy00aUstsIKzugwAGwYKhWe7Z2xbSfeQY7Zx6DxEZA4P+cvXa209ZAcz9VbFdhHoeM Jsch+D3onCUIYWzgf46YobWxuEXx2DNkwVi8nr1b6BrHwiDAyrkHKddktQp04oENJEiT PL6o6wOxpFAaiFG+lvRauu5MwQhAAAWgckJw1lDDdIdohXg+s7PMFiUcjaiYfHOJ8HE5 Oz4XAv/o+GcTl9Mtzo4HV23LXBiO7VNN8EC0JGa82irXnZXxbJb6viRbGGzybRSarEZy hRtRrCbO4/wgb48Hzl0XINaNvgW4l8Xn9s0t/Zvg9mj81rCL5ckwnX764RuDPapVv6ob tgDg== X-Gm-Message-State: APjAAAWWXx8/x4kES1tHQzwpHfSd/v5oiEZo8eiTD83q+vqETId3f3Nv Uu8gXI2xSoXeo8TVpwDZ6x7ZKMCU X-Google-Smtp-Source: APXvYqzufHnlEewaR+WvkclMGnLkP1hUDEWoENhRwbYvLVFIZjd86GUEQc2dUsiukUnQr4mNLnWpKQ== X-Received: by 2002:a5d:5273:: with SMTP id l19mr45504775wrc.175.1574905843626; Wed, 27 Nov 2019 17:50:43 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [RFC PATCH 07/10] hw/avr: Add few Arduino boards Date: Thu, 28 Nov 2019 02:50:27 +0100 Message-Id: <20191128015030.27543-8-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add famous Arduino boards: - Arduino Duemilanove - Arduino Mega Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/avr/arduino.c | 173 +++++++++++++++++++++++++++++++++++++++++++ hw/avr/Makefile.objs | 1 + 2 files changed, 174 insertions(+) create mode 100644 hw/avr/arduino.c diff --git a/hw/avr/arduino.c b/hw/avr/arduino.c new file mode 100644 index 0000000000..191193d614 --- /dev/null +++ b/hw/avr/arduino.c @@ -0,0 +1,173 @@ +/* + * QEMU Arduino boards + * + * Copyright (c) 2019 Philippe Mathieu-Daud=C3=A9 + * + * This work is licensed under the terms of the GNU GPLv2 or later. + * See the COPYING file in the top-level directory. + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +/* TODO: Implement the use of EXTRAM */ + +#include "qemu/osdep.h" +#include "qemu-common.h" +#include "qapi/error.h" +#include "hw/boards.h" +#include "hw/loader.h" +#include "elf.h" +#include "atmega.h" + +typedef struct ArduinoBoardConfig { + const char *name; + const char *desc; + const char *alias; + const char *mcu_type; + uint64_t xtal_hz; + size_t extram_size; + bool is_default; +} ArduinoBoardConfig; + +static const ArduinoBoardConfig arduino_boards[] =3D { + { + /* https://www.arduino.cc/en/Main/ArduinoBoardDuemilanove */ + .name =3D MACHINE_TYPE_NAME("arduino-duemilanove"), + .desc =3D "Arduino Duemilanove (ATmega168)", + .alias =3D "2009", + .mcu_type =3D TYPE_ATMEGA168, + .xtal_hz =3D 16 * 1000 * 1000, + }, { + /* https://store.arduino.cc/arduino-uno-rev3 */ + .name =3D MACHINE_TYPE_NAME("arduino-uno"), + .desc =3D "Arduino Duemilanove (ATmega328P)", + .alias =3D "UNO", + .mcu_type =3D TYPE_ATMEGA328, + .xtal_hz =3D 16 * 1000 * 1000, + }, { + /* https://www.arduino.cc/en/Main/ArduinoBoardMega */ + .name =3D MACHINE_TYPE_NAME("arduino-mega"), + .desc =3D "Arduino Mega (ATmega1280)", + .alias =3D "MEGA", + .mcu_type =3D TYPE_ATMEGA1280, + .xtal_hz =3D 16 * 1000 * 1000, + }, { + /* https://store.arduino.cc/arduino-mega-2560-rev3 */ + .name =3D MACHINE_TYPE_NAME("arduino-mega-2560-v3"), + .desc =3D "Arduino Mega 2560 (ATmega2560)", + .alias =3D "MEGA2560", + .mcu_type =3D TYPE_ATMEGA2560, + .xtal_hz =3D 16 * 1000 * 1000, /* CSTCE16M0V53-R0 */ + .is_default =3D true, + }, +}; + +typedef struct ArduinoMachineState { + /*< private >*/ + MachineState parent_obj; + /*< public >*/ + AtmegaState mcu; + MemoryRegion extram; +} ArduinoMachineState; + +typedef struct ArduinoMachineClass { + /*< private >*/ + MachineClass parent_class; + /*< public >*/ + const ArduinoBoardConfig *config; +} ArduinoMachineClass; + +#define TYPE_ARDUINO_MACHINE \ + MACHINE_TYPE_NAME("arduino") +#define ARDUINO_MACHINE(obj) \ + OBJECT_CHECK(ArduinoMachineState, (obj), TYPE_ARDUINO_MACHINE) +#define ARDUINO_MACHINE_CLASS(klass) \ + OBJECT_CLASS_CHECK(ArduinoMachineClass, (klass), TYPE_ARDUINO_MACH= INE) +#define ARDUINO_MACHINE_GET_CLASS(obj) \ + OBJECT_GET_CLASS(ArduinoMachineClass, (obj), TYPE_ARDUINO_MACHINE) + +static void load_firmware(const char *firmware, uint64_t flash_size) +{ + const char *filename; + int bytes_loaded; + + /* Load firmware (contents of flash) trying to auto-detect format */ + filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, firmware); + if (filename =3D=3D NULL) { + error_report("Unable to find %s", firmware); + exit(1); + } + + bytes_loaded =3D load_elf(filename, NULL, NULL, NULL, NULL, NULL, NULL, + 0, EM_NONE, 0, 0); + if (bytes_loaded < 0) { + bytes_loaded =3D load_image_targphys(filename, OFFSET_CODE, flash_= size); + } + if (bytes_loaded < 0) { + error_report("Unable to load firmware image %s as ELF or raw binar= y", + firmware); + exit(1); + } +} + +static void arduino_machine_init(MachineState *machine) +{ + ArduinoMachineClass *amc =3D ARDUINO_MACHINE_GET_CLASS(machine); + ArduinoMachineState *ams =3D ARDUINO_MACHINE(machine); + + sysbus_init_child_obj(OBJECT(machine), "mcu", &ams->mcu, sizeof(ams->m= cu), + amc->config->mcu_type); + object_property_set_uint(OBJECT(&ams->mcu), amc->config->xtal_hz, + "xtal-frequency-hz", &error_abort); + object_property_set_bool(OBJECT(&ams->mcu), true, "realized", + &error_abort); + + if (machine->firmware) { + load_firmware(machine->firmware, memory_region_size(&ams->mcu.flas= h)); + } +} + +static void arduino_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + ArduinoMachineClass *amc =3D ARDUINO_MACHINE_CLASS(oc); + const ArduinoBoardConfig *cfg =3D data; + + mc->desc =3D cfg->desc; + mc->alias =3D cfg->alias; + mc->init =3D arduino_machine_init; + mc->default_cpus =3D 1; + mc->min_cpus =3D mc->default_cpus; + mc->max_cpus =3D mc->default_cpus; + mc->no_floppy =3D 1; + mc->no_cdrom =3D 1; + mc->no_parallel =3D 1; + mc->is_default =3D cfg->is_default; + mc->default_ram_size =3D cfg->extram_size; + amc->config =3D cfg; +} + +static const TypeInfo arduino_machine_type =3D { + .name =3D TYPE_ARDUINO_MACHINE, + .parent =3D TYPE_MACHINE, + .instance_size =3D sizeof(ArduinoMachineState), + .class_size =3D sizeof(ArduinoMachineClass), + .abstract =3D true, +}; + +static void arduino_machine_types(void) +{ + size_t i; + + type_register_static(&arduino_machine_type); + for (i =3D 0; i < ARRAY_SIZE(arduino_boards); ++i) { + TypeInfo ti =3D { + .name =3D arduino_boards[i].name, + .parent =3D TYPE_ARDUINO_MACHINE, + .class_init =3D arduino_machine_class_init, + .class_data =3D (void *)&arduino_boards[i], + }; + type_register(&ti); + } +} + +type_init(arduino_machine_types) diff --git a/hw/avr/Makefile.objs b/hw/avr/Makefile.objs index 4b6b911820..39ee3c32b2 100644 --- a/hw/avr/Makefile.objs +++ b/hw/avr/Makefile.objs @@ -1,2 +1,3 @@ obj-y +=3D sample.o obj-y +=3D atmega.o +obj-y +=3D arduino.o --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906348; cv=none; d=zohomail.com; s=zohoarc; b=PDml9gZ9+JGJlV7yaWs6g2QZMTBGS2cfewR4AXiBTgpxyiLG1lWkn/IFakGnhcAN2/GumP5yF77FotsZH+AuEgjor8G45YhO1ElWiUAVjpNpbPJvrPA/kXaLqEzF7DNzBEJNzAtAt5KgATS05PClLmogbsubleQ7WkuuCDtNGc4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906348; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3BT3meJheG4+qZxzcdyTyi7aZ+LLbjh+2zS7fhUeV8o=; b=CCoZ+pG/ZDds5GjetVj3twJ5rv6waDI9/oNfuhjN4DUyNV6kwBl9KT/wTl2tUCvBANp7irt6RQnmTChBSDRc5RlyvWZtjdi5LAXT0wyvVwsyKjoHQD8hJy1/M/00QLeuZslKQTyCYaQzOaR1Y7zoYy9QZUBVvqzCpSh66W+n6n0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906348503817.7028116920825; Wed, 27 Nov 2019 17:59:08 -0800 (PST) Received: from localhost ([::1]:44704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia95H-0006wl-2q for importer@patchew.org; Wed, 27 Nov 2019 20:59:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52595) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8xD-00067T-Lj for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8xC-0004Sw-F3 for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:47 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:33406) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8xC-0004Ri-8E for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:46 -0500 Received: by mail-wr1-x442.google.com with SMTP id w9so29149335wrr.0 for ; Wed, 27 Nov 2019 17:50:46 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:44 -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 :mime-version:content-transfer-encoding; bh=3BT3meJheG4+qZxzcdyTyi7aZ+LLbjh+2zS7fhUeV8o=; b=V7lxyamULmYm0JNSFEaEm5URDVCz11S7Smo2ba4Fpy2j4A+iB2kD3bNkL2zAN2lkgw ss46HPEUX0OHpAv9anJzZGdK7dbH4u0AF+frvglp190qsIGiAB/iNlgS96oYmWxFyEII F5CUHlTK1e4HvNhgairh+Oj/I/ow07GUNDupjjy1MS44Xw6M+0cNMZuh0AISP2WiZZv6 03O5MRgpX5ntrIGGppQy3auaQ7yIUP018XMzrV2SinoxavDFOZod9En304MjWhRnAJir TgPO4l02mAY77CNblDirea4zYp6u72mbKshsIsvRyQfD+8VkTMxY45TfvEMKvV4qpC8o 2fZg== 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:mime-version:content-transfer-encoding; bh=3BT3meJheG4+qZxzcdyTyi7aZ+LLbjh+2zS7fhUeV8o=; b=aIWHGKhvPt35TY6ghjZ61z5UA81T+3ZobnUfgNJ8nY3w+j8VjbHgouTq9dEIO6c2TM 7ZLiNYUPxupKPoOePrIXaIGGsg/xz2z8BtOxyDqsJU3GfRvrsPx8LID7Qv9oga7ThGsk SRU4cMa+hy1vmb4u6676euXmqEQKu3/kt7BMNEsnysLg08TWob4B5pJZX6zviuo0ZDaN +GsxYALE9jRGP2q+qKngNIUwpV7NsLHj/6GbIWkkma3CTdRwdaFG1T5HpuQxD9wj0KRV rP2JeDZJwuhiKnO6Zd3bYMJFdPueXoAaZ4DYJWZ+6AszhGKf2AYK099cB2cXBBlV05bt jXiQ== X-Gm-Message-State: APjAAAXD4nf7BrXWZopwbwzTka1Lfp/iwfCP4wMR1AW2q8Asym6YQ0+E 1xl0778kbmTEdCLA/EwngDV38fvR X-Google-Smtp-Source: APXvYqx2jYNlrywBT4RRgikYXDDz5RNk+//Py3wtRrzfM/DmLJZ2f8XScZTGwC3gSC6Pau5+GAep4w== X-Received: by 2002:adf:dd10:: with SMTP id a16mr21946010wrm.213.1574905845092; Wed, 27 Nov 2019 17:50:45 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [PATCH 08/10] tests/acceptance: Keep multilines comment consistent with other tests Date: Thu, 28 Nov 2019 02:50:28 +0100 Message-Id: <20191128015030.27543-9-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/acceptance/machine_avr6.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/acceptance/machine_avr6.py b/tests/acceptance/machine_av= r6.py index ba1f47dd70..2ef4a9ac2c 100644 --- a/tests/acceptance/machine_avr6.py +++ b/tests/acceptance/machine_avr6.py @@ -37,9 +37,9 @@ class AVR6Machine(Test): https://github.com/seharris/qemu-avr-tests/raw/master/free-rtos/De= mo/AVR_ATMega2560_GCC/demo.elf constantly prints out 'ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRS= TUVWX' """ - rom_url =3D 'https://github.com/seharris/qemu-avr-tests' - rom_sha1=3D '36c3e67b8755dcf37e06af6730ef5d477b8ed16d' - rom_url +=3D '/raw/' + rom_sha1 + '/free-rtos/Demo/AVR_ATMega2560_= GCC/demo.elf' + rom_url =3D ('https://github.com/seharris/qemu-avr-tests' + '/raw/36c3e67b8755dcf/free-rtos/Demo' + '/AVR_ATMega2560_GCC/demo.elf') rom_hash =3D '7eb521f511ca8f2622e0a3c5e8dd686efbb911d4' rom_path =3D self.fetch_asset(rom_url, asset_hash=3Drom_hash) =20 --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906421; cv=none; d=zohomail.com; s=zohoarc; b=TFdqvm7hTEgzhLZtJiprgTMEtY0KoBRximHGMTJaBLfvKrDOXA1eX335j0moQAGB1tXKvNS5qXwLeGu2XfqP1WkOvKVaPrIt4DYDXdN9AHwT/Z/ZyYIk9GxOOBU2z8ri0taH4RTfJvoQANe+Ak+QmXoCog3IH6+sk0481j1OPEw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906421; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MeneIUJW45nIc1M+4lSDNKGAKyXAqLAJa4tJHuB730k=; b=V3jsY4EutKawGcGxdTOnfMZUNlQYj0eoXUv9TRPaHBj5ctpKFexekD9t7r0ctbHNJ2EIQ2QEQjNf5+ZV+nFNkpo5f/0ffN+15ZMXqb4q/qoUTyq/k55Bl3loqQPlw7TzQP9H3nBvN5h6HLAngZAW3qYIIdm93y/Q4nlPN4QpV7o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906421379108.89259706036876; Wed, 27 Nov 2019 18:00:21 -0800 (PST) Received: from localhost ([::1]:44722 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia96S-0008Cx-2S for importer@patchew.org; Wed, 27 Nov 2019 21:00:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52713) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8xI-0006AS-2o for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8xF-0004XO-Sr for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:51 -0500 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:44772) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8xD-0004UY-Nl for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:47 -0500 Received: by mail-wr1-x443.google.com with SMTP id i12so29016006wrn.11 for ; Wed, 27 Nov 2019 17:50:47 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:46 -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 :mime-version:content-transfer-encoding; bh=MeneIUJW45nIc1M+4lSDNKGAKyXAqLAJa4tJHuB730k=; b=veDcFGtv+xoR++oyKZceUVyygMMClmOguktgvuNl1Eq8jbIpsgH+dt7ev8GEIb7h9s htcGipvD/Cm9lUBzvXkMLpfTczuplpvWDoewsNtMpY/A2IteH69juDltHv0IlYQ7Canr ZINyqGkkyuOQCZ5SW7NTFBzQ9zwU6o8BgAy5lRbe0Nxb7IVBhRA+ikKDt3uCiipnoSEe xXv9uqGj+Ugxo5pLK6xwzwdvegKBvInhpwFoVreHmvFRPtGJA5o2SSHN5c31HhtuVU9q lMu6mWth3TiL11BOgQc/GbDiqSF3KdZdCgIKPZ+CMePVvVFMDpT9dvPwPsS/SAhDLKTF 4kyg== 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:mime-version:content-transfer-encoding; bh=MeneIUJW45nIc1M+4lSDNKGAKyXAqLAJa4tJHuB730k=; b=AvvM20Jn58WgtEevlAEFkjj1Ifl3urW5Ur4J121KoARFhQs4E4kuO6itSQ8oW5Fndx RBJfJskUoHtjGSdEYyRqlJWlHbmy2YPFKonUdRjIw5wFICh1HYyZsa06rmTVD9bebS/s 8lqB7HBSa3Y5ayUYI9rqsCRuuqoQfQXQZA5qywkJm5Bk0HIdXwTZSRLMAYH8ai+S3YZO b6qYTuhAqX3mAi9eTFXXj78DuWInDGpMNKAE4CUh83/lnXZEyBShRU2gLt6Ym9URnd6V 1qu4oe+2CLB2sdiat1ydB7dN2d1WtXu0Cmtt2zvYgagKeiBbcuFjcR15bGvaf3xnz+Ht WseA== X-Gm-Message-State: APjAAAUwpG4gdAMbV0M91wikozlVkdA7w9uzwkKN8oP2THwn+nj6OnXX Cst86o5vLCyfboKrKEReITbBfQif X-Google-Smtp-Source: APXvYqyIuf3OzieLbC8xUxlQddVDWf3Xngn7Lo+hrS2E5qxRPvGX3tpzfERuXgBxmwl5qSbSEMhAoQ== X-Received: by 2002:adf:fe8d:: with SMTP id l13mr48117810wrr.287.1574905846585; Wed, 27 Nov 2019 17:50:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [RFC PATCH 09/10] tests/acceptance: Use the ATmega2560 board Date: Thu, 28 Nov 2019 02:50:29 +0100 Message-Id: <20191128015030.27543-10-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/acceptance/machine_avr6.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/acceptance/machine_avr6.py b/tests/acceptance/machine_av= r6.py index 2ef4a9ac2c..abe8d45b65 100644 --- a/tests/acceptance/machine_avr6.py +++ b/tests/acceptance/machine_avr6.py @@ -31,7 +31,7 @@ class AVR6Machine(Test): def test_freertos(self): """ :avocado: tags=3Darch:avr - :avocado: tags=3Dmachine:sample + :avocado: tags=3Dmachine:arduino-mega-2560-v3 """ """ https://github.com/seharris/qemu-avr-tests/raw/master/free-rtos/De= mo/AVR_ATMega2560_GCC/demo.elf @@ -43,7 +43,7 @@ class AVR6Machine(Test): rom_hash =3D '7eb521f511ca8f2622e0a3c5e8dd686efbb911d4' rom_path =3D self.fetch_asset(rom_url, asset_hash=3Drom_hash) =20 - self.vm.set_machine('sample') + self.vm.set_machine('arduino-mega-2560-v3') self.vm.add_args('-bios', rom_path) self.vm.add_args('-nographic') self.vm.launch() --=20 2.21.0 From nobody Mon May 6 09:41:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1574906561; cv=none; d=zohomail.com; s=zohoarc; b=FbCdowparepXnmusrOBQuFWRMM5eZsfg5X5+IdtytinPZOc8B/DA6APPPKQaSuI6BD3naEzML994657XVJzx7A29y9RAyMXhnwXLnTDDDaauDrXpvxUV5/XOsBzluPTb0bMIXRspmvdpQE5upZ/RhFV+eVsh7USfuwXY7HulyOE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1574906561; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=18J1QKv1JXyfly4F+sWQAX57l7kF5m0Ye34ys/P39T8=; b=MyAw9vT5h6vFdsUcSaUijxDy73LWeT22dnYMoX9K8vH2+4hfDRBRfEzlLjXgEhVkqZbMw2BOvjzr92ydcODsCKYz0dhTs7t3NNn/FbG4FyqRbz9Rj5hjYEUqmORkuxsmat7qsFJ4TSlFoisqn2GChLep20A7nBoe0aRzTGDusFM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1574906561694310.2229773208454; Wed, 27 Nov 2019 18:02:41 -0800 (PST) Received: from localhost ([::1]:44736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia98i-0000zf-Bj for importer@patchew.org; Wed, 27 Nov 2019 21:02:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52890) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia8xK-0006E8-A5 for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia8xH-0004Zi-Vt for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:54 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:42681) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia8xF-0004Wi-OY for qemu-devel@nongnu.org; Wed, 27 Nov 2019 20:50:49 -0500 Received: by mail-wr1-x442.google.com with SMTP id a15so29093021wrf.9 for ; Wed, 27 Nov 2019 17:50:49 -0800 (PST) Received: from x1w.redhat.com (182.red-88-21-103.staticip.rima-tde.net. [88.21.103.182]) by smtp.gmail.com with ESMTPSA id k16sm8738061wru.0.2019.11.27.17.50.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Nov 2019 17:50:47 -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 :mime-version:content-transfer-encoding; bh=18J1QKv1JXyfly4F+sWQAX57l7kF5m0Ye34ys/P39T8=; b=AkJRcSa11WFkMYf3ndj1ADMeIJTvzQA9nfDFFpW292RNs+YpV0k59JpclY6MXgLgqk c5L+7pnLA7Qz7In7SM9lhUrxOMvt3rxYnI6J798wnOIaXJJY3z4OmHLcjb/zMzhjSzT1 xDL4EIuDADPznVHqnXlWDtxQlqo/BmiQz63LTPR7IIw2QVc9Ws1vGSGYPoIK9W0Y83r6 YIXWk6SOPPH5nkFmCCSPzjebcsdbUcuENV+MpymBesBpFxGiXJIz7hJYmCd3kjpl5+BG HWU5WJoSbe1roIgWEXe+HAOmYHM2QbFs5TqTDScjtMMAdD/YbVyxYnWSPJIjOErm+0dn gL1A== 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:mime-version:content-transfer-encoding; bh=18J1QKv1JXyfly4F+sWQAX57l7kF5m0Ye34ys/P39T8=; b=ktDbfIv+6AS7MOsJd1Qc+912qseMfLxR9peJFfTkyVmKnN5CXqbdLI+h94sY8ncqWO g6XY69Pvt+jrAk4k2jj4EhS3PSjB7yiTrDIkqD3AmgVtSdzijbL8SgFVGYf6AU6WHcrn rNyxJGFKdL5U1A60HDcqDsMdiB5udTFGG/+6svzjpLTucuT0qOZLCcFQ7W+7dqO/qnv2 ya3lI5SJGgiY/LbDhBYoOdxQHOmpHeHGjzQwGRtYTB1zN3SWrpVW0SMe9wOJwdi9DkC+ nGaFcvw1VmfmDezuInBb4DdbtE5YQm3l3yTJ52I0May3wNTuFOGQdsZGH9YMXcZkHb2B TjHg== X-Gm-Message-State: APjAAAXPym3ZXY4qnob+ouNCblbLZCRBGWQxcPA/5o8eXjaOhrupfZtQ +L5UAJTpI1IIqr0S7P/HngYMsQVs X-Google-Smtp-Source: APXvYqzE25plzXjoOSBYkp6rUraaQ2cTbG8R8zPqXSNhUTPwL/7hEFSwKDGFnZOR4pl36WaTJe+SnQ== X-Received: by 2002:a5d:40d0:: with SMTP id b16mr48628297wrq.232.1574905847966; Wed, 27 Nov 2019 17:50:47 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org, Michael Rolnik Subject: [NOTFORMERGE PATCH 10/10] hw/avr: Remove the 'sample' board Date: Thu, 28 Nov 2019 02:50:30 +0100 Message-Id: <20191128015030.27543-11-f4bug@amsat.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20191128015030.27543-1-f4bug@amsat.org> References: <20191128015030.27543-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 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: Sarah Harris , Igor Mammedov , Thomas Huth , Joaquin de Andres , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pavel Dovgalyuk , Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Aleksandar Markovic Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We introduce real world boards with proper schematics, let's remove this. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- Patch meant to squash on 'target/avr: Add example board configuration' --- hw/avr/sample.c | 282 ------------------------------------------- hw/avr/Makefile.objs | 1 - 2 files changed, 283 deletions(-) delete mode 100644 hw/avr/sample.c diff --git a/hw/avr/sample.c b/hw/avr/sample.c deleted file mode 100644 index 2295ec1b79..0000000000 --- a/hw/avr/sample.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - * QEMU AVR CPU - * - * Copyright (c) 2019 Michael Rolnik - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see - * - */ - -/* - * NOTE: - * This is not a real AVR board, this is an example! - * The CPU is an approximation of an ATmega2560, but is missing vario= us - * built-in peripherals. - * - * This example board loads provided binary file into flash memory and - * executes it from 0x00000000 address in the code memory space. - * - * Currently used for AVR CPU validation - * - */ - -#include "qemu/osdep.h" -#include "qapi/error.h" -#include "qemu-common.h" -#include "cpu.h" -#include "hw/hw.h" -#include "sysemu/sysemu.h" -#include "sysemu/qtest.h" -#include "ui/console.h" -#include "hw/boards.h" -#include "hw/loader.h" -#include "qemu/error-report.h" -#include "exec/address-spaces.h" -#include "include/hw/sysbus.h" -#include "include/hw/char/avr_usart.h" -#include "include/hw/timer/avr_timer16.h" -#include "include/hw/misc/avr_mask.h" -#include "elf.h" -#include "hw/misc/unimp.h" - -#define SIZE_FLASH 0x00040000 -#define SIZE_SRAM 0x00002000 -/* - * Size of additional "external" memory, as if the AVR were configured to = use - * an external RAM chip. - * Note that the configuration registers that normally enable this feature= are - * unimplemented. - */ -#define SIZE_EXMEM 0x00000000 - -/* Offsets of peripherals in emulated memory space (i.e. not host addresse= s) */ -#define PRR0_BASE 0x64 -#define PRR1_BASE 0x65 -#define USART_BASE 0xc0 -#define TIMER1_BASE 0x80 -#define TIMER1_IMSK_BASE 0x6f -#define TIMER1_IFR_BASE 0x36 - -/* Interrupt numbers used by peripherals */ -#define USART_RXC_IRQ 24 -#define USART_DRE_IRQ 25 -#define USART_TXC_IRQ 26 - -#define TIMER1_CAPT_IRQ 15 -#define TIMER1_COMPA_IRQ 16 -#define TIMER1_COMPB_IRQ 17 -#define TIMER1_COMPC_IRQ 18 -#define TIMER1_OVF_IRQ 19 - -/* Power reduction */ -#define PRR1_BIT_PRTIM5 0x05 /* Timer/Counter5 */ -#define PRR1_BIT_PRTIM4 0x04 /* Timer/Counter4 */ -#define PRR1_BIT_PRTIM3 0x03 /* Timer/Counter3 */ -#define PRR1_BIT_PRUSART3 0x02 /* USART3 */ -#define PRR1_BIT_PRUSART2 0x01 /* USART2 */ -#define PRR1_BIT_PRUSART1 0x00 /* USART1 */ - -#define PRR0_BIT_PRTWI 0x06 /* TWI */ -#define PRR0_BIT_PRTIM2 0x05 /* Timer/Counter2 */ -#define PRR0_BIT_PRTIM0 0x04 /* Timer/Counter0 */ -#define PRR0_BIT_PRTIM1 0x03 /* Timer/Counter1 */ -#define PRR0_BIT_PRSPI 0x02 /* Serial Peripheral Interface */ -#define PRR0_BIT_PRUSART0 0x01 /* USART0 */ -#define PRR0_BIT_PRADC 0x00 /* ADC */ - -typedef struct { - MachineClass parent; -} SampleMachineClass; - -typedef struct { - MachineState parent; - MemoryRegion *ram; - MemoryRegion *flash; - AVRUsartState *usart0; - AVRTimer16State *timer1; - AVRMaskState *prr[2]; -} SampleMachineState; - -#define TYPE_SAMPLE_MACHINE MACHINE_TYPE_NAME("sample") - -#define SAMPLE_MACHINE(obj) \ - OBJECT_CHECK(SampleMachineState, obj, TYPE_SAMPLE_MACHINE) -#define SAMPLE_MACHINE_GET_CLASS(obj) \ - OBJECT_GET_CLASS(SampleMachineClass, obj, TYPE_SAMPLE_MACHINE) -#define SAMPLE_MACHINE_CLASS(klass) \ - OBJECT_CLASS_CHECK(SampleMachineClass, klass, TYPE_SAMPLE_MACHINE) - -static void sample_init(MachineState *machine) -{ - SampleMachineState *sms =3D SAMPLE_MACHINE(machine); - MemoryRegion *system_memory =3D get_system_memory(); - AVRCPU *cpu; - const char *firmware =3D NULL; - const char *filename; - int bytes_loaded; - SysBusDevice *busdev; - DeviceState *cpudev; - - system_memory =3D get_system_memory(); - sms->ram =3D g_new(MemoryRegion, 1); - sms->flash =3D g_new(MemoryRegion, 1); - - cpu =3D AVR_CPU(cpu_create(machine->cpu_type)); - cpudev =3D DEVICE(cpu); - - - memory_region_init_rom(sms->flash, NULL, "avr.flash", SIZE_FLASH, - &error_fatal); - memory_region_add_subregion(system_memory, OFFSET_CODE, sms->flash); - - /* following are atmel2560 device */ - create_unimplemented_device("usart 3", OFFSET_DATA + 0x0130, 0x0007); - create_unimplemented_device("timer-counter-16bit 5", - OFFSET_DATA + 0x0120, 0x000e); - create_unimplemented_device("gpio L", OFFSET_DATA + 0x0109, 0x0003); - create_unimplemented_device("gpio K", OFFSET_DATA + 0x0106, 0x0003); - create_unimplemented_device("gpio J", OFFSET_DATA + 0x0103, 0x0003); - create_unimplemented_device("gpio H", OFFSET_DATA + 0x0100, 0x0003); - create_unimplemented_device("usart 2", OFFSET_DATA + 0x00d0, 0x0007); - create_unimplemented_device("usart 1", OFFSET_DATA + 0x00c8, 0x0007); - create_unimplemented_device("usart 0", OFFSET_DATA + 0x00c0, 0x0007); - create_unimplemented_device("twi", OFFSET_DATA + 0x00b8, 0x0006); - create_unimplemented_device("timer-counter-async-8bit 2", - OFFSET_DATA + 0x00b0, 0x0007); - create_unimplemented_device("timer-counter-16bit 4", - OFFSET_DATA + 0x00a0, 0x000e); - create_unimplemented_device("timer-counter-16bit 3", - OFFSET_DATA + 0x0090, 0x000e); - create_unimplemented_device("timer-counter-16bit 1", - OFFSET_DATA + 0x0080, 0x000e); - create_unimplemented_device("ac / adc", - OFFSET_DATA + 0x0078, 0x0008); - create_unimplemented_device("ext-mem-iface", - OFFSET_DATA + 0x0074, 0x0002); - create_unimplemented_device("int-controller", - OFFSET_DATA + 0x0068, 0x000c); - create_unimplemented_device("sys", - OFFSET_DATA + 0x0060, 0x0007); - create_unimplemented_device("spi", - OFFSET_DATA + 0x004c, 0x0003); - create_unimplemented_device("ext-mem-iface", - OFFSET_DATA + 0x004a, 0x0002); - create_unimplemented_device("timer-counter-pwm-8bit 0", - OFFSET_DATA + 0x0043, 0x0006); - create_unimplemented_device("ext-mem-iface", - OFFSET_DATA + 0x003e, 0x0005); - create_unimplemented_device("int-controller", - OFFSET_DATA + 0x0035, 0x0009); - create_unimplemented_device("gpio G", OFFSET_DATA + 0x0032, 0x0003); - create_unimplemented_device("gpio F", OFFSET_DATA + 0x002f, 0x0003); - create_unimplemented_device("gpio E", OFFSET_DATA + 0x002c, 0x0003); - create_unimplemented_device("gpio D", OFFSET_DATA + 0x0029, 0x0003); - create_unimplemented_device("gpio C", OFFSET_DATA + 0x0026, 0x0003); - create_unimplemented_device("gpio B", OFFSET_DATA + 0x0023, 0x0003); - create_unimplemented_device("gpio A", OFFSET_DATA + 0x0020, 0x0003); - - memory_region_allocate_system_memory( - sms->ram, NULL, "avr.ram", SIZE_SRAM + SIZE_EXMEM); - memory_region_add_subregion(system_memory, OFFSET_DATA + 0x200, sms->r= am); - - /* Power Reduction built-in peripheral */ - sms->prr[0] =3D AVR_MASK(sysbus_create_simple(TYPE_AVR_MASK, - OFFSET_DATA + PRR0_BASE, NULL)); - sms->prr[1] =3D AVR_MASK(sysbus_create_simple(TYPE_AVR_MASK, - OFFSET_DATA + PRR1_BASE, NULL)); - - /* USART 0 built-in peripheral */ - sms->usart0 =3D AVR_USART(object_new(TYPE_AVR_USART)); - busdev =3D SYS_BUS_DEVICE(sms->usart0); - qdev_prop_set_chr(DEVICE(sms->usart0), "chardev", serial_hd(0)); - object_property_set_bool(OBJECT(sms->usart0), true, "realized", - &error_fatal); - sysbus_mmio_map(busdev, 0, OFFSET_DATA + USART_BASE); - /* - * These IRQ numbers don't match the datasheet because we're counting = from - * zero and not including reset. - */ - sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(cpudev, USART_RXC_IRQ)); - sysbus_connect_irq(busdev, 1, qdev_get_gpio_in(cpudev, USART_DRE_IRQ)); - sysbus_connect_irq(busdev, 2, qdev_get_gpio_in(cpudev, USART_TXC_IRQ)); - sysbus_connect_irq(SYS_BUS_DEVICE(sms->prr[1]), PRR1_BIT_PRUSART1, - qdev_get_gpio_in(DEVICE(sms->usart0), 0)); - - /* Timer 1 built-in periphal */ - sms->timer1 =3D AVR_TIMER16(object_new(TYPE_AVR_TIMER16)); - object_property_set_bool(OBJECT(sms->timer1), true, "realized", - &error_fatal); - busdev =3D SYS_BUS_DEVICE(sms->timer1); - sysbus_mmio_map(busdev, 0, OFFSET_DATA + TIMER1_BASE); - sysbus_mmio_map(busdev, 1, OFFSET_DATA + TIMER1_IMSK_BASE); - sysbus_mmio_map(busdev, 2, OFFSET_DATA + TIMER1_IFR_BASE); - sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(cpudev, TIMER1_CAPT_IRQ= )); - sysbus_connect_irq(busdev, 1, qdev_get_gpio_in(cpudev, TIMER1_COMPA_IR= Q)); - sysbus_connect_irq(busdev, 2, qdev_get_gpio_in(cpudev, TIMER1_COMPB_IR= Q)); - sysbus_connect_irq(busdev, 3, qdev_get_gpio_in(cpudev, TIMER1_COMPC_IR= Q)); - sysbus_connect_irq(busdev, 4, qdev_get_gpio_in(cpudev, TIMER1_OVF_IRQ)= ); - sysbus_connect_irq(SYS_BUS_DEVICE(sms->prr[0]), PRR0_BIT_PRTIM1, - qdev_get_gpio_in(DEVICE(sms->timer1), 0)); - - /* Load firmware (contents of flash) trying to auto-detect format */ - firmware =3D machine->firmware; - if (firmware !=3D NULL) { - filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, firmware); - if (filename =3D=3D NULL) { - error_report("Unable to find %s", firmware); - exit(1); - } - - bytes_loaded =3D load_elf( - filename, NULL, NULL, NULL, NULL, NULL, NULL, 0, EM_NONE, 0, 0= ); - if (bytes_loaded < 0) { - bytes_loaded =3D load_image_targphys( - filename, OFFSET_CODE, SIZE_FLASH); - } - if (bytes_loaded < 0) { - error_report( - "Unable to load firmware image %s as ELF or raw binary", - firmware); - exit(1); - } - } -} - -static void sample_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc =3D MACHINE_CLASS(oc); - - mc->desc =3D "AVR sample/example board (ATmega2560)"; - mc->init =3D sample_init; - mc->default_cpus =3D 1; - mc->min_cpus =3D mc->default_cpus; - mc->max_cpus =3D mc->default_cpus; - mc->default_cpu_type =3D "avr6-avr-cpu"; /* ATmega2560. */ - mc->is_default =3D 1; -} - -static const TypeInfo sample_info =3D { - .name =3D TYPE_SAMPLE_MACHINE, - .parent =3D TYPE_MACHINE, - .instance_size =3D sizeof(SampleMachineState), - .class_size =3D sizeof(SampleMachineClass), - .class_init =3D sample_class_init, -}; - -static void sample_machine_init(void) -{ - type_register_static(&sample_info); -} - -type_init(sample_machine_init); diff --git a/hw/avr/Makefile.objs b/hw/avr/Makefile.objs index 39ee3c32b2..f2de4a066d 100644 --- a/hw/avr/Makefile.objs +++ b/hw/avr/Makefile.objs @@ -1,3 +1,2 @@ -obj-y +=3D sample.o obj-y +=3D atmega.o obj-y +=3D arduino.o --=20 2.21.0