[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