From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OARfM-0007dk-BZ for qemu-devel@nongnu.org; Fri, 07 May 2010 13:48:48 -0400 Received: from [140.186.70.92] (port=46943 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OARfK-0007bc-3B for qemu-devel@nongnu.org; Fri, 07 May 2010 13:48:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OARfG-0001is-UT for qemu-devel@nongnu.org; Fri, 07 May 2010 13:48:45 -0400 Received: from liberdade.minaslivre.org ([72.232.254.139]:43610) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OARfG-0001iV-Qh for qemu-devel@nongnu.org; Fri, 07 May 2010 13:48:42 -0400 Received: from barata.holoscopio.com (unknown [201.80.215.42]) by liberdade.minaslivre.org (Postfix) with ESMTPSA id A06CF262C6 for ; Fri, 7 May 2010 14:39:44 -0300 (BRT) Date: Fri, 7 May 2010 14:48:33 -0300 From: Thadeu Lima de Souza Cascardo Message-ID: <20100507174832.GA3227@barata.holoscopio.com> References: <1269968333-9464-1-git-send-email-cascardo@holoscopio.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="SLDf9lqlvOQaIe6s" Content-Disposition: inline In-Reply-To: <1269968333-9464-1-git-send-email-cascardo@holoscopio.com> Subject: [Qemu-devel] Re: [PATCH] mcf: add simr/cimr registers to interrupt controller for 5208 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --SLDf9lqlvOQaIe6s Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Mar 30, 2010 at 01:58:53PM -0300, Thadeu Lima de Souza Cascardo wro= te: > The registers SIMR and CIMR allow interrupts to be masked/unsmasked > without a read-modify-write. Linux m68knommu port uses this for some > platforms. Without this patch, a m5208evb_defconfig won't boot. With > this patch, I could get Linux to boot and get some output in the serial. >=20 > Signed-off-by: Thadeu Lima de Souza Cascardo > --- Is there anyone who can take this? Regards, Cascardo. > hw/mcf_intc.c | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) >=20 > diff --git a/hw/mcf_intc.c b/hw/mcf_intc.c > index f01bd32..21c0f42 100644 > --- a/hw/mcf_intc.c > +++ b/hw/mcf_intc.c > @@ -62,6 +62,10 @@ static uint32_t mcf_intc_read(void *opaque, target_phy= s_addr_t addr) > return (uint32_t)(s->ifr >> 32); > case 0x14: > return (uint32_t)s->ifr; > + /* Reading from SIMR and CIMR return 0 */ > + case 0x1c: > + case 0x1d: > + return 0; > case 0xe0: /* SWIACK. */ > return s->active_vector; > case 0xe1: case 0xe2: case 0xe3: case 0xe4: > @@ -98,6 +102,20 @@ static void mcf_intc_write(void *opaque, target_phys_= addr_t addr, uint32_t val) > case 0x0c: > s->imr =3D (s->imr & 0xffffffff00000000ull) | (uint32_t)val; > break; > + /* SIMR allows to easily mask interrupts */ > + case 0x1c: > + if (val & 0x40) > + s->imr =3D ~0ull; > + else > + s->imr |=3D (1 << (val & 0x3f)); > + break; > + /* CIMR allows to easily unmask interrupts */ > + case 0x1d: > + if (val & 0x40) > + s->imr =3D 0ull; > + else > + s->imr &=3D ~(1 << (val & 0x3f)); > + break; > default: > hw_error("mcf_intc_write: Bad write offset %d\n", offset); > break; > --=20 > 1.6.6.1 >=20 --SLDf9lqlvOQaIe6s Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJL5FJvAAoJEEWxSg7udFZIRj0P/3p1LOzcBIOeLL7SIvnsI9TY x8QFq70Nw2wBSNot3Q1iGXwl6jPkDt7jMSGZqsRr7ZQY4qebT4l6ffAt59LSKneV cwzujxM8yfDKeQwkoZxKzaVXv+DL5WkpTW/2o8kBX2LvjIUz7CpXDWAE36JGd8f5 NhO7BAZeoFpMvvlJ4V5MgXe0WEjSeyglf6b8UQ8BKyD38UDnoxm6PTzE89RSYMHh VLxYq/tEAfVCK1QjBscItu4gkE7RFTN/mfYqyu3WG24VVFxthItg6r47SWeEfXOW LHvjOrH4/fmPsMfJ9CITDYPVEVqdyQcvrQDwBFqVq6reE1uvejkK+B/TlHBTjAcx 3vVfRyhco8Jj50zi/a3y4JwzBohD17Qvzh77GjqGe9bmZib1MgrxPXaRd3GIiZA7 A2RJiidrio+cU8vRu+eon40i5UZNdxWI5EC4WGm+Pfu8FtKbSS+zNsBDe79vzpbn K6EfuBGXYokHWCdyVutlGP3PXpQPac2IbM7nj0z84Vl8/ZO57dcnU/b7JUc7ZSiy vkiq9vYTKrpRCQnecyQvWwf8icYtbRNpuXliS6SPw6YB2orRWETodDtbB9S0fUxd s7UgKA5HB+Q0lLHnfZxIMgjewc22PwPtKPnkudSJomqXjXQgdxcexOGq74tbDymt 8qoerHItTPh9pS2HUkzg =mKuj -----END PGP SIGNATURE----- --SLDf9lqlvOQaIe6s--