Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2008 16:03:09 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Oleksandr Tymoshenko <gonzo@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 138427 for review
Message-ID:  <200803241603.09252.jhb@freebsd.org>
In-Reply-To: <200803241417.m2OEHVLp083423@repoman.freebsd.org>
References:  <200803241417.m2OEHVLp083423@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 24 March 2008 10:17:31 am Oleksandr Tymoshenko wrote:
> http://perforce.freebsd.org/chv.cgi?CH=138427
> 
> Change 138427 by gonzo@gonzo_jeeves on 2008/03/24 14:17:07
> 
> 	o Provide bogus mips_mask_irq/mips_unmask_irq functions
> 	o Fix intr_event_create calls to conform new API, use
> 	    mips_mask_irq/mips_unmask_irq as arguments.

You shouldn't need an EOI routine at all.  That is a bug in the current arm 
code.

> Affected files ...
> 
> .. //depot/projects/mips2-jnpr/src/sys/mips/include/intr.h#6 edit
> .. //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#8 edit
> .. //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/gt_pci.c#3 edit
> 
> Differences ...
> 
> ==== //depot/projects/mips2-jnpr/src/sys/mips/include/intr.h#6 (text+ko) 
====
> 
> @@ -73,6 +73,11 @@
>  
>  extern struct mips_intr_handler intr_handlers[];
>  
> +typedef void (*mask_fn)(void *);
> +
> +void mips_mask_irq(void);
> +void mips_unmask_irq(void);
> +
>  struct trapframe;
>  void	mips_set_intr(int pri, uint32_t mask,
>  	    uint32_t (*int_hand)(uint32_t, struct trapframe *));
> 
> ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#8 
(text+ko) ====
> 
> @@ -53,6 +53,20 @@
>  static int last_printed = 0;
>  #endif
>  
> +void 
> +mips_mask_irq(void)
> +{
> +
> +	printf("Unimplemented: %s\n", __func__);
> +}
> +
> +void 
> +mips_unmask_irq(void)
> +{
> +
> +	printf("Unimplemented: %s\n", __func__);
> +}
> +
>  void
>  cpu_establish_hardintr(const char *name, driver_filter_t *filt, 
>      void (*handler)(void*), void *arg, int irq, int flags, 
> @@ -71,7 +85,8 @@
>          event = hardintr_events[irq];
>          if (event == NULL) {
>                  error = intr_event_create(&event, (void *)irq, 0,
> -                    (void (*)(void *))NULL, "hard intr%d:", irq);
> +		    (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq,
> +		    (mask_fn)mips_unmask_irq, NULL, "hard intr%d:", irq);
>                  if (error)
>                          return;
>                  hardintr_events[irq] = event;
> @@ -108,7 +123,8 @@
>          event = softintr_events[irq];
>          if (event == NULL) {
>                  error = intr_event_create(&event, (void *)irq, 0,
> -                    (void (*)(void *))NULL, "intr%d:", irq);
> +		    (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq,
> +		    (mask_fn)mips_unmask_irq, NULL, "intr%d:", irq);
>                  if (error)
>                          return;
>                  softintr_events[irq] = event;
> 
> ==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/malta/gt_pci.c#3 
(text+ko) ====
> 
> @@ -657,8 +657,9 @@
>  
>  	event = sc->sc_eventstab[irq];
>  	if (event == NULL) {
> -		error = intr_event_create(&event, (void *)irq, 0,
> -		    (void (*)(void *))NULL, "gt_pci intr%d:", irq);
> +                error = intr_event_create(&event, (void *)irq, 0,
> +		    (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq,
> +		    (mask_fn)mips_unmask_irq, NULL, "gt_pci intr%d:", irq);
>  		if (error)
>  			return 0;
>  		sc->sc_eventstab[irq] = event;
> 



-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803241603.09252.jhb>