public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Question about wbinvd
@ 2002-06-04  7:45 Takanori Kawano
  2002-06-04 12:02 ` Matthew Wilcox
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Takanori Kawano @ 2002-06-04  7:45 UTC (permalink / raw)
  To: linux-ia64

Hello,

I have a question about wbinvd in acpi code.

In 2.4.18, wbinvd is implemented in drivers/acpi/include/platform/acgcc.h
 as follows.

static inline void
wbinvd (void)
{
        unsigned long flags, vector, position = 0;
        long status;

        do {
                ia64_clear_ic(flags);
                status = ia64_pal_cache_flush(0x3, (PAL_CACHE_FLUSH_INVALIDATE
                                                    | PAL_CACHE_FLUSH_CHK_INTRS)
,
                                              &position, &vector);
                local_irq_restore(flags);
                if (status = 1) {
                        ia64_eoi();
                        hw_resend_irq(NULL, vector);
                }
        } while (status = 1);
}

I think it may cause infinite loop if PAL_CACHE_FLUSH continues to 
exit for a pending interrupt without flushing any lines. 
Is it correct to call hw_resend_irq as is?

regards,
---
Takanori Kawano
Hitachi Ltd,
Internet Systems Platform Division
t-kawano@ebina.hitachi.co.jp


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-06-05  5:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-04  7:45 [Linux-ia64] Question about wbinvd Takanori Kawano
2002-06-04 12:02 ` Matthew Wilcox
2002-06-04 17:13 ` Grover, Andrew
2002-06-04 18:36 ` David Mosberger
2002-06-05  5:33 ` Takanori Kawano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox