Subject: Re: Joranda 720 and bluetooth
To: None <firstname.lastname@example.org>
From: IWAMOTO Toshihiro <email@example.com>
Date: 07/15/2006 22:01:53
At Fri, 14 Jul 2006 11:04:00 +0200,
Peter Postma wrote:
> [1 <text/plain; us-ascii (7bit)>]
> On Wed, Jul 12, 2006 at 12:44:50PM +0200, wrzymski wrote:
> > Looks hpcarm is missing splraiseipl. This 3com card 3CRWB6096 have
> > pocketpc 2002 drivers that should work under HPC 2000 after small cabs
> > and dlls hacks. I don't have card yet but with netbsd support it could
> > be graet expansion for Jornada.
> The attached diff should fix that. The hpcarm interrupt code looks a bit
> old when compared to other arm ports, maybe it needs to be reworked.
I heard splraiseipl is a new API and isn't ready for general
> [2 raiseipl.diff <text/plain; us-ascii (7bit)>]
> Index: hpcarm/intr.c
> RCS file: /cvsroot/src/sys/arch/hpcarm/hpcarm/intr.c,v
> retrieving revision 1.10
> diff -u -r1.10 intr.c
> --- hpcarm/intr.c 11 Dec 2005 12:17:33 -0000 1.10
> +++ hpcarm/intr.c 12 Jul 2006 21:19:22 -0000
> @@ -155,6 +155,17 @@
> u_int spl_smasks[_SPL_LEVELS];
> int safepri = _SPL_0;
> +splraiseipl(int ipl)
> + int old;
> + old = current_spl_level;
> + current_spl_level |= imask[ipl];
> + return old;
IIRC, current_spl_level is not a bitmask.
Moreover, if you change a spl level, a hardware interrupt mask needs
to be set by calling irq_setmasks().