From owner-svn-src-head@freebsd.org Sun Feb 28 09:44:29 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 484F8AB74BB; Sun, 28 Feb 2016 09:44:29 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 12E7A150A; Sun, 28 Feb 2016 09:44:29 +0000 (UTC) (envelope-from onwahe@gmail.com) Received: by mail-ig0-x22b.google.com with SMTP id hb3so58370199igb.0; Sun, 28 Feb 2016 01:44:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=M8DVR0Mye1oY/QoMz7pIUbq2hjDe6kQ/hnapmdrTPfs=; b=KXDQhZzyEL9RFeZ/RBwqW8tD8nYcKui1kKwlKgM9rYxX56XHdPaw1CIt06HiRwUdeE Esu+xu+MqOdX6h0TzWXKetIfUICEZgA+Qm+B3YkvdVb2/UTyb0HPBeH27q+Hr/FSoB0o Tjzwx/pcQ3vZ8oRWa/oSuhi1teaKPFHDEqoRdz37wPHp0DxpPvq0xid7gcy/gvzP3NrX SkgVSLyDRKPZMKNPUTLcQtW/Az4VJaL5OFx9z/2SJ4M7YV4UceevoDkWrx7TQl0W1HRs +QPzGApzctUi6W5pF9+ZwjoiMp+EZ1OqsDFR1Wp/5JdVgmeB0ZxkNaA/9znnTwlHbiJT enFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=M8DVR0Mye1oY/QoMz7pIUbq2hjDe6kQ/hnapmdrTPfs=; b=EqDQi+rrnmdWf7LlYmhM9qrvRO6dQWXJRKKTMMDopVsow/BsWiJ4y89asiOsuBsVel Jv4Geqjjrlw7y1Ax8rcqgXOuTP66J7im+Vdjiqh0SC28CHoZPjh1cUMJJ8+U/0+eqC6l TvG4T4nSr/2vDAJknPSJY9Y/Ti5rqY9B2sNLnQbrFT+cxxHhIoU7dTupplPoMXvLwvaY KQmhnUMSwCIZt+Aox7UpjM29Pwk5UtzNTtCCzXadvtCEgA/1Yi6O5Qj8umDPwRtEFXbo Nw+kI4GjnYtXij1wGdB1jgTJd2gPrIK97KJgHsBBWC3RKkX6Xk6IS8uNBMkIOEgFX7Lc Ghsg== X-Gm-Message-State: AD7BkJL54LdrEcyGStUbR6vkfjGk0s/sha7Gwj56YVN7u2Aeq4iy63Oh+oki6EpdkjyB1fTLqu5fakrmjg9Tlg== MIME-Version: 1.0 X-Received: by 10.50.4.1 with SMTP id g1mr4980949igg.42.1456652667888; Sun, 28 Feb 2016 01:44:27 -0800 (PST) Received: by 10.64.126.104 with HTTP; Sun, 28 Feb 2016 01:44:27 -0800 (PST) In-Reply-To: <20160227232455.739ee997@kan> References: <201602271203.u1RC37xT075430@repo.freebsd.org> <20160227232455.739ee997@kan> Date: Sun, 28 Feb 2016 10:44:27 +0100 Message-ID: Subject: Re: svn commit: r296138 - in head/sys: arm/arm arm/include kern sys From: Svatopluk Kraus To: Alexander Kabaev Cc: Adrian Chadd , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Feb 2016 09:44:29 -0000 On Sun, Feb 28, 2016 at 5:24 AM, Alexander Kabaev wrote: > On Sat, 27 Feb 2016 16:57:03 -0800 > Adrian Chadd wrote: > >> hi, >> >> I think this was mostly shared with kan's MIPS work on the CI20 as the >> IPI stuff via the gic is effectively the same. >> >> Can we make this (again) something we can share, but optionally? >> >> > > Nope, mips shares no IPI code with ARM and probably shouldn't too, > since IPI delivery and mapping between IPI types and IRQs are very > platform specific. > > -- > Alexander Kabaev IMO, it's better for MIPS IPI stuff to not be bound to ARM one in the beginning and vice versa. Let them evolve for some time separately to see if there are really some common parts or not. The ARM IPI stuff was made too general with a try to fit into interrupt framework. Thus struct intr_irqsrc was used for an IPI description, but it does not mean that an IPI must be bounded to PIC methods. Very likely, the meaning of AISHF_NOALLOC flag in intr_ipi_set_handler() was not stressed enough. If used, an IPI description (filter, argument, name, counters) is created and saved in struct intr_irqsrc, but the IPI is not bounded to any PIC and no PIC method is called. This struct can be looked at by intr_ipi_lookup() and intr_ipi_dispatch() can be used on any place when an IPI should be dispatched. An IPI can be send in any way. It means that no PIC must be involved. That said, there is some plan to make IPI stuff on ARM more clear and simple.