From owner-freebsd-current@FreeBSD.ORG Wed Apr 10 07:21:16 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 41FC2751; Wed, 10 Apr 2013 07:21:16 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wi0-x230.google.com (mail-wi0-x230.google.com [IPv6:2a00:1450:400c:c05::230]) by mx1.freebsd.org (Postfix) with ESMTP id 8CD23918; Wed, 10 Apr 2013 07:21:15 +0000 (UTC) Received: by mail-wi0-f176.google.com with SMTP id hm14so4479843wib.15 for ; Wed, 10 Apr 2013 00:21:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=dG5DpLkoC4uov/Tx1RBom2zvVlsPkGy76TjoApcXnbg=; b=fxXyHJpBU1UwNBydx6Np1+h979BDbplDN9HrogW4f+MbeJV6T1+i+Utl7ush2iZMli wRZeC808mLD838WqnuIjKAZvRsNTOtlu12zYsuyzWVOyNsJBoFoVG+ko2v1peNB7VoWD vPvzu+ps4gxIxVaWsnVakd6yKUBoHM2VzdHKP0wkHgd3gUa5Pbq9+iJUwWhlKfJlBdpA VxAXxn/rjMgVAgPYZQw+KwU1a4Asw+SZ7c0KF3ZWYNKHs7qOzxvtgu+tj9BHSLUTlrUh SmSMFEM/HzjEjK2c4HxISI31BGKhoFEJn3yT3ddHCdZfR4UgQw2of29Bj5vhPJ4JosVM r2dw== MIME-Version: 1.0 X-Received: by 10.194.88.138 with SMTP id bg10mr1301405wjb.13.1365578474823; Wed, 10 Apr 2013 00:21:14 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.217.121.136 with HTTP; Wed, 10 Apr 2013 00:21:14 -0700 (PDT) In-Reply-To: <1659145198.20130410102838@serebryakov.spb.ru> References: <229402991.20130407172016@serebryakov.spb.ru> <201304091608.09257.jhb@freebsd.org> <105818341.20130410004451@serebryakov.spb.ru> <201304091658.22810.jhb@freebsd.org> <1659145198.20130410102838@serebryakov.spb.ru> Date: Wed, 10 Apr 2013 00:21:14 -0700 X-Google-Sender-Auth: bkfSSJxTIse8sxenroAR8hl5xRA Message-ID: Subject: Re: Intel D2500CC motherboard and strange RS232/UART behavior From: Adrian Chadd To: lev@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: Poul-Henning Kamp , freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Apr 2013 07:21:16 -0000 On 9 April 2013 23:28, Lev Serebryakov wrote: > Hello, John. > You wrote 10 =D0=B0=D0=BF=D1=80=D0=B5=D0=BB=D1=8F 2013 =D0=B3., 0:58:22: > >>> Problem is, that every uart device now is independent from each >>> other in good "OOP" style, and it looks like interrupt sharing we >>> need one interrupt handler per irq (not per device), which will now >>> about several UARTs. Something like "multiport" device, bot not >>> exactly. > JB> No, the interrupt code itself will handle shared interrupts (it will > JB> call all handlers). I think in practice that uart is setting > And what will happen, if there is two UARTs asserting interrupt in > same time? First one returns "FILTER_HANDLED", will second handler be > called? > > ISA interrupt sharing IS NOT so simple. sio contains a lot of > obscure code to work. .. surely it's solvable with a bit of ugliness? Eg, looping over them until they all return "not handled" or you hit a limit, or something equally ew. .. assuming that it is broken in the first place, that is. Adrian