From nobody Mon Apr 17 17:03:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q0YL629G7z44vWH; Mon, 17 Apr 2023 17:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q0YL61Pcwz49C6; Mon, 17 Apr 2023 17:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681751038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S+URsO8KmmIBuL9BZFtfv8It0YA84st/c8ciy2Hj8XA=; b=P/8bTPBpL44beDwXiO4bg2sMjAjyR0A47m6Cwz0Mcf56lZkK+PEniWFdBR/1yZN1sT8Q37 OvYt5xVP5gtjmsMG15+mVKRYQm/+la940Wy2fKE5KgwU7iIU134GBIaY9XOoxtRYUhaWyW 9+oIwo/ElNJfQuO8YIuEVeTbadtKdAW7+9vjbM0AjrdskJV+6gmM8V5F0y8EzC2dS2gc+k tHsbJsDYl5V7HzlSL2NgYmXgqczRVrofwVuOl6ipieloe64fCqN90S+R1oTSwbYd4DJHvO jV3yNolbHevL8oDYvW5UrrTkoWaGCL3bqhP+s5wmWcbhhcg23kx2DTAhuEJ0SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681751038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S+URsO8KmmIBuL9BZFtfv8It0YA84st/c8ciy2Hj8XA=; b=LBV0zgNq+kmPOKYoWIYZqt7iKpmfg+5RDuej3UHQMvkPEDAEUyO4OCixN2Vwda2/n5lm0H /t0wZxwxctpDM7SViLiCTs1ckWSn/15py/PNqS2RF3DL4C+FVy4DiibKxA09BnXk3RmKt1 9IkOhPXQF/672oVkek5t2Xh4YcnEd91XX4CG2Ki/1WAlb+gSkL1KN0euy6Lwgk6jHQC5KX SGpdM75QpgR/srDqZlluM/ZjPVIaVaur4zX0tK25yAa1eur0JhjQVcY0SeSPhT8uz6gw74 U1rcuz8kVz0s7q6+6CfCvHJkO59fCMkDHuEbvnHOsEOjZ9GbtYM0hssSLmOcGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681751038; a=rsa-sha256; cv=none; b=hfK6txNf6QLLIalxs675dk8FgTKfoCyE5QgT51MK3sZEqouiWHwwuJaTdjdQxQ/xEP/uI6 kZy8+mkFpWGyDlxxDtEA84zmuPSphv/VyI5LIdaynGLEL+FRTmE2hbJo4n7zNaF9GCb83y bV0TsWAFp6vfS78nXnelimdAm3cqGRD3Iz/S7wvrJK7aWGa6MJE23tWHy/or6keD2mvQoJ bhtsgJHwDv05dMlq1So/Szkdq/M37ES2W+yVrsBN9mFZykl2Y/RMOgwPKvv9vaUa8+xZFt rx3S1mr+JGb7K5zP2dusqeF9fqMGU3Escx8CcmPeuzZlampV7mTKfefCDN1Ycg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q0YL60VQ2zd4c; Mon, 17 Apr 2023 17:03:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33HH3vxK002489; Mon, 17 Apr 2023 17:03:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33HH3vlC002488; Mon, 17 Apr 2023 17:03:57 GMT (envelope-from git) Date: Mon, 17 Apr 2023 17:03:57 GMT Message-Id: <202304171703.33HH3vlC002488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mitchell Horne Subject: git: 0edbab45af5d - stable/13 - arm: add an interrupt rman to nexus List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0edbab45af5d36596b77e7d6da71c3b529b09bc1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=0edbab45af5d36596b77e7d6da71c3b529b09bc1 commit 0edbab45af5d36596b77e7d6da71c3b529b09bc1 Author: Mitchell Horne AuthorDate: 2021-12-05 15:27:50 +0000 Commit: Mitchell Horne CommitDate: 2023-04-17 16:02:56 +0000 arm: add an interrupt rman to nexus Allow the nexus bus to own and manage interrupt resources. Currently, interrupt resources on this architecture are managed completely by ofwbus, but it is desirable that system-wide memory and interrupt resources be managed by the top-level bus. This is a pre-requisite to moving this resource management out of ofwbus. Reviewed By: ian, Elliott Mitchell MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D32357 (cherry picked from commit 1d03c3578d05b011dc714ec0735a5783c421530b) --- sys/arm/arm/nexus.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index be84ab82d43f..f2506dfb3cb5 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -77,6 +77,7 @@ struct nexus_device { #define DEVTONX(dev) ((struct nexus_device *)device_get_ivars(dev)) static struct rman mem_rman; +static struct rman irq_rman; static int nexus_probe(device_t); static int nexus_attach(device_t); @@ -171,6 +172,12 @@ nexus_attach(device_t dev) if (rman_init(&mem_rman) || rman_manage_region(&mem_rman, 0, BUS_SPACE_MAXADDR)) panic("nexus_probe mem_rman"); + irq_rman.rm_start = 0; + irq_rman.rm_end = ~0; + irq_rman.rm_type = RMAN_ARRAY; + irq_rman.rm_descr = "Interrupts"; + if (rman_init(&irq_rman) || rman_manage_region(&irq_rman, 0, ~0)) + panic("nexus_attach irq_rman"); /* * First, deal with the children we know about already @@ -227,6 +234,10 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, flags &= ~RF_ACTIVE; switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_MEMORY: case SYS_RES_IOPORT: rm = &mem_rman;