[netfilter-cvslog] r4227 - in trunk/nfsim/kernelenv: . include

laforge at netfilter.org laforge at netfilter.org
Sun Aug 7 18:09:39 CEST 2005


Author: laforge at netfilter.org
Date: 2005-08-07 18:09:38 +0200 (Sun, 07 Aug 2005)
New Revision: 4227

Modified:
   trunk/nfsim/kernelenv/include/kernelenv.h
   trunk/nfsim/kernelenv/kernelenv.c
Log:
add some more kernelenv functions required by recent kernels:
- for_each_cpu()
- test_and_set_bit()
- preempt_{en,dis}able()


Modified: trunk/nfsim/kernelenv/include/kernelenv.h
===================================================================
--- trunk/nfsim/kernelenv/include/kernelenv.h	2005-08-07 14:55:15 UTC (rev 4226)
+++ trunk/nfsim/kernelenv/include/kernelenv.h	2005-08-07 16:09:38 UTC (rev 4227)
@@ -179,6 +179,7 @@
 
 #define NR_CPUS 1
 #define num_possible_cpus() 1
+#define for_each_cpu(cpu) for ((cpu) = 0; (cpu) < 1; (cpu)++)
 #define  SMP_CACHE_BYTES (1<<7)
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
 #define cpu_possible(cpu)	((cpu) == 0)
@@ -193,6 +194,9 @@
 #define local_bh_disable()
 #define local_bh_enable()
 
+#define preempt_disable()
+#define preempt_enable()
+
 #define stricmp strcasecmp
 #define strnicmp strncasecmp
 
@@ -1047,6 +1051,7 @@
 int set_bit(int nr, unsigned long *addr);
 #define __set_bit set_bit
 int clear_bit(int nr, unsigned long *addr);
+int test_and_set_bit(int nr, unsigned long *addr);
 
 /* random */
 void get_random_bytes(void *buf, int nbytes);

Modified: trunk/nfsim/kernelenv/kernelenv.c
===================================================================
--- trunk/nfsim/kernelenv/kernelenv.c	2005-08-07 14:55:15 UTC (rev 4226)
+++ trunk/nfsim/kernelenv/kernelenv.c	2005-08-07 16:09:38 UTC (rev 4227)
@@ -734,6 +734,15 @@
 	return retval;
 }
 
+int test_and_set_bit(int nr, unsigned long *addr)
+{
+	/* FIXME: this is not atomic */
+	int ret = test_bit(nr, addr);
+	set_bit(nr, addr);
+
+	return ret;
+}
+
 int clear_bit(int nr, unsigned long *addr)
 {
 	int     mask, retval;




More information about the netfilter-cvslog mailing list