File: cpumask_const_reference.h

package info (click to toggle)
linux-kernel-headers 2.5.999-test7-bk-17
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 28,268 kB
  • ctags: 214,024
  • sloc: ansic: 324,929; cpp: 783; makefile: 79; asm: 61; sh: 61
file content (29 lines) | stat: -rw-r--r-- 1,100 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef __ASM_GENERIC_CPUMASK_CONST_REFERENCE_H
#define __ASM_GENERIC_CPUMASK_CONST_REFERENCE_H

struct cpumask_ref {
	const cpumask_t *val;
};

typedef const struct cpumask_ref cpumask_const_t;

#define mk_cpumask_const(map)		((cpumask_const_t){ &(map) })
#define cpu_isset_const(cpu, map)	cpu_isset(cpu, *(map).val)

#define cpus_and_const(dst,src1,src2)	cpus_and(dst,*(src1).val,*(src2).val)
#define cpus_or_const(dst,src1,src2)	cpus_or(dst,*(src1).val,*(src2).val)

#define cpus_equal_const(map1, map2)	cpus_equal(*(map1).val, *(map2).val)

#define cpus_copy_const(map1, map2)	bitmap_copy((map1).mask, (map2).val->mask, NR_CPUS)

#define cpus_empty_const(map)		cpus_empty(*(map).val)
#define cpus_weight_const(map)		cpus_weight(*(map).val)
#define first_cpu_const(map)		first_cpu(*(map).val)
#define next_cpu_const(cpu, map)	next_cpu(cpu, *(map).val)

/* only ever use this for things that are _never_ used on large boxen */
#define cpus_coerce_const(map)		cpus_coerce(*(map).val)
#define any_online_cpu_const(map)	any_online_cpu(*(map).val)

#endif /* __ASM_GENERIC_CPUMASK_CONST_REFERENCE_H */