From patchwork Sat Mar 1 17:20:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brian Cain X-Patchwork-Id: 13997632 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 08EBEC021B8 for ; Sat, 1 Mar 2025 17:21:51 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1toQWK-00039I-1a; Sat, 01 Mar 2025 12:21:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1toQWH-00038l-KG for qemu-devel@nongnu.org; Sat, 01 Mar 2025 12:20:57 -0500 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1toQWF-0008QS-Ok for qemu-devel@nongnu.org; Sat, 01 Mar 2025 12:20:57 -0500 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5213MEH9026213 for ; Sat, 1 Mar 2025 17:20:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=7WDdMw7b6bXz+vkOUfh5HW xkW3Y6G+YNlQtba4fbb4M=; b=ZndEKg2Y0a4hUYVkNomIWjMR5mChOu9WgLJtpJ Ne1/laGHPCwbGLBRchpP+7MBQeUjtlx7OG55rV0NHSf4uCgbjsfD9XiAlghsNHf0 MkbZr49hVBVj2leqzFW94ZyKJWud+sw8rVTJl5jLxKMAg1Uu6qHD5Qe5uC7Twwwg 0UmCUsEq0dO8lIhyn+ZoCfKQSTT/5ovAR+F28ADl5ClP2x9EJiXTn3Ei8GaxCsVH ofVPusTApjgFrFbXHUKkYnWDN9k0b1KaOrpBUdMy1AMjzH092b3gb5DDhLIzPaXf eLIUxlVRz2j/Fo/I7e/ujOMY4WsKC+jLTypUvU/OY3JkiD0w== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 453t95s4ks-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 01 Mar 2025 17:20:53 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-22380c707d3so11457555ad.1 for ; Sat, 01 Mar 2025 09:20:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740849652; x=1741454452; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7WDdMw7b6bXz+vkOUfh5HWxkW3Y6G+YNlQtba4fbb4M=; b=T7PCcHT3s2Moajs07b5rLOjC+XIkvhZjAudsZCtjG31jhcqiZOSAp/X20WzeMr3aXY dGEkhfKuWG/jC2hr2SWLZaFEadwSVtns6he+EUwk/92F9R6UPYcx40CxXcNT+kkLJX9S k9WZkPDpOqv1BvgzCszIidzsoTCEhEJmelLpHpeKYPDH8a2kNiR/GLIqDV4VByTygarW B+IzRud+pqHSEB4OYw8Hvd4SI+TBnV+Jz35lw2eXefl3WtEwLmITX2QA67+jatSdR3Kb epboANdAex6QZj879mfQRiXqo8o1F+r39bal1/jWvfKDYKI/IDv8VzhDcsQ3pgL02bVB ajOA== X-Gm-Message-State: AOJu0YxY9BkiQn19EW/tjjJ9hhH91D1ioekj9dC0oQc1fRF6g/IbFTqe gMILSDjPCpM4QEBHpisYJRssi9DItoZ5tajTgPFOhBDAlJHiq/yOtwbuaBCc1gZj/beV72HdEKT ZusdcdT4/cvIhWFTwpx4ewonwGN1QVH5WzNWEZVhWAQ2n9xvbPJhGRbUryLLXhA== X-Gm-Gg: ASbGnctuLeNL7tYFd92hdf5oirSArolAmAtRAqaLdqEDxhYVgsej7lePJU2+x3Lz9Vl fRYb9LeB6khq8cBekhBCW+Gwd/8AxCf5oCKTEkCa4v6o3T+UHTj75Vv7tphXMZ5UobdYOfZp1BN YPVL9YejmmxLRCKwMLeP1/AkxATDQ0QJCmSkA2rPqaaCVp2LFiaQlygaD562cQrK0unPwev6Qst XdpHVFw16Rv8plwLSW3N4r6Fu1YFO9D9mWPJNxlOmTCNAZ6thHnLYEL0qzSzbM+amLxp54bosYx MLZJnKYDMpqTIFIR19AnUwGaTdMHShOlFtlZFs00UuaQWKi4fnxW1aV35ZVqMkT/ X-Received: by 2002:a17:902:ecd0:b0:223:3396:15e8 with SMTP id d9443c01a7336-22368f95a5cmr135754705ad.22.1740849651862; Sat, 01 Mar 2025 09:20:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IFsWYMaK+zD8IrnsuCCqNYn22UcplbxjlbvO6PzwHKyrXxgEdlMqq83f6t+564616y4DG1jNA== X-Received: by 2002:a17:902:ecd0:b0:223:3396:15e8 with SMTP id d9443c01a7336-22368f95a5cmr135754415ad.22.1740849651385; Sat, 01 Mar 2025 09:20:51 -0800 (PST) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-223501f9dacsm51308275ad.83.2025.03.01.09.20.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Mar 2025 09:20:51 -0800 (PST) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, richard.henderson@linaro.org, philmd@linaro.org, quic_mathbern@quicinc.com, ale@rev.ng, anjo@rev.ng, quic_mliebel@quicinc.com, ltaylorsimpson@gmail.com, alex.bennee@linaro.org, quic_mburton@quicinc.com, sidneym@quicinc.com Subject: [PATCH 0/8] hexagon system emu, part 3/3 Date: Sat, 1 Mar 2025 09:20:37 -0800 Message-Id: <20250301172045.1295412-1-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: IDzHNg1zFVyYC25q4yB2Fx3w2et9Pzn7 X-Proofpoint-GUID: IDzHNg1zFVyYC25q4yB2Fx3w2et9Pzn7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-01_07,2025-02-28_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxscore=0 phishscore=0 mlxlogscore=304 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 malwarescore=0 suspectscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502100000 definitions=main-2503010140 Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org hexagon architecture system emulation: part 3/3 This series contains some initial machine definitions, an interrupt controller device and a test case. Hexagon "Standalone OS" is used by the Hexagon SDK to create simple baremetal bootable programs that can be run on QEMU or the instruction set simulator included with the Hexagon SDK. These programs generally depend on semihosting support, which will come later. Brian Cain (6): hw/hexagon: Add machine configs for sysemu hw/hexagon: Add v68, sa8775-cdsp0 defs hw/hexagon: Modify "Standalone" symbols target/hexagon: add build config for softmmu hw/hexagon: Define hexagon "virt" machine tests/functional: Add a hexagon minivm test Sid Manning (2): hw/intc: Add l2vic interrupt controller hw/hexagon: Add support for cfgbase MAINTAINERS | 6 + docs/devel/hexagon-l2vic.rst | 59 +++ docs/devel/index-internals.rst | 1 + configs/devices/hexagon-softmmu/default.mak | 8 + configs/targets/hexagon-softmmu.mak | 7 + qapi/machine.json | 2 +- include/hw/hexagon/hexagon.h | 151 +++++++ include/hw/hexagon/virt.h | 41 ++ include/hw/intc/l2vic.h | 37 ++ target/hexagon/cpu.h | 1 + hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc | 64 +++ hw/hexagon/machine_cfg_v66g_1024.h.inc | 64 +++ hw/hexagon/machine_cfg_v68n_1024.h.inc | 65 +++ hw/hexagon/hexagon_dsp.c | 202 ++++++++++ hw/hexagon/virt.c | 395 ++++++++++++++++++ hw/intc/l2vic.c | 417 ++++++++++++++++++++ target/hexagon/cpu.c | 8 +- target/hexagon/machine.c | 1 - hw/Kconfig | 1 + hw/hexagon/Kconfig | 14 + hw/hexagon/meson.build | 7 + hw/intc/Kconfig | 3 + hw/intc/meson.build | 2 + hw/intc/trace-events | 4 + hw/meson.build | 1 + target/Kconfig | 1 + target/hexagon/Kconfig | 2 + target/hexagon/meson.build | 9 + tests/functional/meson.build | 8 + tests/functional/test_hexagon_minivm.py | 42 ++ 30 files changed, 1620 insertions(+), 3 deletions(-) create mode 100644 docs/devel/hexagon-l2vic.rst create mode 100644 configs/devices/hexagon-softmmu/default.mak create mode 100644 configs/targets/hexagon-softmmu.mak create mode 100644 include/hw/hexagon/hexagon.h create mode 100644 include/hw/hexagon/virt.h create mode 100644 include/hw/intc/l2vic.h create mode 100644 hw/hexagon/machine_cfg_sa8775_cdsp0.h.inc create mode 100644 hw/hexagon/machine_cfg_v66g_1024.h.inc create mode 100644 hw/hexagon/machine_cfg_v68n_1024.h.inc create mode 100644 hw/hexagon/hexagon_dsp.c create mode 100644 hw/hexagon/virt.c create mode 100644 hw/intc/l2vic.c create mode 100644 hw/hexagon/Kconfig create mode 100644 hw/hexagon/meson.build create mode 100644 target/hexagon/Kconfig create mode 100755 tests/functional/test_hexagon_minivm.py