[ENBD] 2.2.29

Peter T. Breuer ptb@it.uc3m.es
Mon, 6 Nov 2000 15:12:51 +0100 (MET)


"A month of sundays ago Adrian Turcu wrote:"
> "Peter T. Breuer" wrote:
> I downloaded your latest version of ENBD and I compiled under
> 2.2.16 kernel, but without success. Because, when I tried to "make test"
> nothing works, I mean I got the following error messages:
> 
> /tmp/nbd.o: unresolved symbol __global_cli
> /tmp/nbd.o: unresolved symbol tqueue_lock
> /tmp/nbd.o: unresolved symbol __global_save_flags
> /tmp/nbd.o: unresolved symbol __global_restore_flags

These are your foulups, not mine! At least I suppose so.

> What kernel are you using, please ? And where I can find this kernel ?

You can find it anywhere. It's a standard kernel. global_cli is in the
kernel. You couldn't possibly have compiled the module unless that were
so! The type-checker would have made a big noise.

  barney:/usr/oboe/ptb/lang/c/nbd/nbd-2.4.16% grep _cli /proc/ksyms
  c010c264 __global_cli
 
  barney:/usr/oboe/ptb/lang/c/nbd/nbd-2.4.16% uname -a
  Linux barney 2.2.18pre18-SMP #8 SMP Fri Nov 3 21:02:30 CET 2000 i686
  unknown

Mind you, that's an SMP kernel. Are you by any chance compiling an SMP
module and trying to install it in a non-SMP kernel?

In asm/system.h:


#ifdef __SMP__
extern void __global_cli(void);
extern void __global_sti(void);
extern unsigned long __global_save_flags(void);
extern void __global_restore_flags(unsigned long);
#define cli() __global_cli()
#define sti() __global_sti()
#define save_flags(x) ((x)=__global_save_flags())
#define restore_flags(x) __global_restore_flags(x)
#else
#define cli() __cli()
#define sti() __sti()
#define save_flags(x) __save_flags(x)
#define restore_flags(x) __restore_flags(x)
#endif




Peter