From: Marcus Brinkmann <[EMAIL PROTECTED]>
Subject: messy patch for oskit-mach
Date: Sun, 30 Jul 2000 18:33:10 +0200
> picinit()
> {
> - cli();
> +asm("cli");
I think this is dangerous in SMP machines, since the Linux code does
more things, if the SMP support is enabled. In Linux, if SMP is turned
on, cli is defined as __global_cli and the definition is (in 2.2.x):
void __global_cli(void)
{
unsigned int flags;
__save_flags(flags);
if (flags & (1 << EFLAGS_IF_SHIFT)) {
int cpu = smp_processor_id();
__cli();
if (!local_irq_count[cpu])
get_irqlock(cpu);
}
}
I don't know how the Linux drivers work in OSKit, though.
Okuji