Fixed warnings in smp.c.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1125 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2002-09-23 03:06:24 +00:00
parent f200ef51c2
commit fcbbd36ed5

View File

@ -33,7 +33,7 @@ struct smp_msg {
unsigned long data3; unsigned long data3;
void *data_ptr; void *data_ptr;
int flags; int flags;
int ref_count; int32 ref_count;
volatile bool done; volatile bool done;
unsigned int proc_bitmap; unsigned int proc_bitmap;
int lock; int lock;
@ -60,34 +60,39 @@ static int smp_num_cpus = 1;
static int smp_process_pending_ici(int curr_cpu); static int smp_process_pending_ici(int curr_cpu);
void acquire_spinlock(spinlock_t *lock) void
acquire_spinlock(spinlock_t *lock)
{ {
if(smp_num_cpus > 1) { if (smp_num_cpus > 1) {
int curr_cpu = smp_get_current_cpu(); int curr_cpu = smp_get_current_cpu();
if(are_interrupts_enabled()) if (are_interrupts_enabled())
panic("acquire_spinlock: attempt to acquire lock %p with interrupts enabled\n", lock); panic("acquire_spinlock: attempt to acquire lock %p with interrupts enabled\n", lock);
while(1) { while (1) {
while(*lock != 0) while (*lock != 0)
smp_process_pending_ici(curr_cpu); smp_process_pending_ici(curr_cpu);
if(atomic_set(lock, 1) == 0) if (atomic_set((int32 *)lock, 1) == 0)
break; break;
} }
} }
} }
static void acquire_spinlock_nocheck(spinlock_t *lock)
static void
acquire_spinlock_nocheck(spinlock_t *lock)
{ {
if(smp_num_cpus > 1) { if (smp_num_cpus > 1) {
while(1) { while (1) {
while(*lock != 0) while(*lock != 0)
; ;
if(atomic_set(lock, 1) == 0) if (atomic_set((int32 *)lock, 1) == 0)
break; break;
} }
} }
} }
void release_spinlock(spinlock_t *lock)
void
release_spinlock(spinlock_t *lock)
{ {
*lock = 0; *lock = 0;
} }
@ -172,7 +177,9 @@ static struct smp_msg *smp_check_for_message(int curr_cpu, int *source_mailbox)
return msg; return msg;
} }
static void smp_finish_message_processing(int curr_cpu, struct smp_msg *msg, int source_mailbox)
static void
smp_finish_message_processing(int curr_cpu, struct smp_msg *msg, int source_mailbox)
{ {
int old_refcount; int old_refcount;