Sun Jan 9 12:20:10 2011 UTC ()
Allow multiple RUMP_COMPONENT() in one file.


(pooka)
diff -r1.66 -r1.67 src/sys/rump/librump/rumpkern/rump_private.h

cvs diff -r1.66 -r1.67 src/sys/rump/librump/rumpkern/rump_private.h (expand / switch to unified diff)

--- src/sys/rump/librump/rumpkern/rump_private.h 2011/01/07 15:10:22 1.66
+++ src/sys/rump/librump/rumpkern/rump_private.h 2011/01/09 12:20:10 1.67
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: rump_private.h,v 1.66 2011/01/07 15:10:22 pooka Exp $ */ 1/* $NetBSD: rump_private.h,v 1.67 2011/01/09 12:20:10 pooka Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2007 Antti Kantee. All Rights Reserved. 4 * Copyright (c) 2007 Antti Kantee. All Rights Reserved.
5 * 5 *
6 * Development of this software was supported by Google Summer of Code. 6 * Development of this software was supported by Google Summer of Code.
7 * 7 *
8 * Redistribution and use in source and binary forms, with or without 8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions 9 * modification, are permitted provided that the following conditions
10 * are met: 10 * are met:
11 * 1. Redistributions of source code must retain the above copyright 11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer. 12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright 13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the 14 * notice, this list of conditions and the following disclaimer in the
@@ -56,33 +56,33 @@ extern struct sysent rump_sysent[]; @@ -56,33 +56,33 @@ extern struct sysent rump_sysent[];
56 56
57enum rump_component_type { 57enum rump_component_type {
58 RUMP_COMPONENT_DEV, 58 RUMP_COMPONENT_DEV,
59 RUMP_COMPONENT_NET, RUMP_COMPONENT_NET_ROUTE, RUMP_COMPONENT_NET_IF, 59 RUMP_COMPONENT_NET, RUMP_COMPONENT_NET_ROUTE, RUMP_COMPONENT_NET_IF,
60 RUMP_COMPONENT_VFS, 60 RUMP_COMPONENT_VFS,
61 RUMP_COMPONENT_KERN, RUMP_COMPONENT_KERN_VFS, 61 RUMP_COMPONENT_KERN, RUMP_COMPONENT_KERN_VFS,
62 RUMP_COMPONENT_MAX, 62 RUMP_COMPONENT_MAX,
63}; 63};
64struct rump_component { 64struct rump_component {
65 enum rump_component_type rc_type; 65 enum rump_component_type rc_type;
66 void (*rc_init)(void); 66 void (*rc_init)(void);
67}; 67};
68#define RUMP_COMPONENT(type) \ 68#define RUMP_COMPONENT(type) \
69static void rumpcompinit(void); \ 69static void rumpcompinit##type(void); \
70static const struct rump_component rumpcomp = { \ 70static const struct rump_component rumpcomp##type = { \
71 .rc_type = type, \ 71 .rc_type = type, \
72 .rc_init = rumpcompinit, \ 72 .rc_init = rumpcompinit##type, \
73}; \ 73}; \
74__link_set_add_rodata(rump_components, rumpcomp); \ 74__link_set_add_rodata(rump_components, rumpcomp##type); \
75static void rumpcompinit(void) 75static void rumpcompinit##type(void)
76 76
77#define FLAWLESSCALL(call) \ 77#define FLAWLESSCALL(call) \
78do { \ 78do { \
79 int att_error; \ 79 int att_error; \
80 if ((att_error = call) != 0) \ 80 if ((att_error = call) != 0) \
81 panic("\"%s\" failed", #call); \ 81 panic("\"%s\" failed", #call); \
82} while (/*CONSTCOND*/0) 82} while (/*CONSTCOND*/0)
83 83
84#define RUMPMEM_UNLIMITED ((unsigned long)-1) 84#define RUMPMEM_UNLIMITED ((unsigned long)-1)
85extern unsigned long rump_physmemlimit; 85extern unsigned long rump_physmemlimit;
86 86
87void rump_component_init(enum rump_component_type); 87void rump_component_init(enum rump_component_type);
88int rump_component_count(enum rump_component_type); 88int rump_component_count(enum rump_component_type);