Wed Dec 2 08:31:57 2009 UTC ()
Declare global pointers as extern, otherwise they become common symbols.
Fix mips build in lib/librumpnet.


(uebayasi)
diff -r1.37 -r1.38 src/sys/rump/librump/rumpkern/rump_private.h

cvs diff -r1.37 -r1.38 src/sys/rump/librump/rumpkern/rump_private.h (switch to unified diff)

--- src/sys/rump/librump/rumpkern/rump_private.h 2009/12/01 09:50:51 1.37
+++ src/sys/rump/librump/rumpkern/rump_private.h 2009/12/02 08:31:56 1.38
@@ -1,109 +1,109 @@ @@ -1,109 +1,109 @@
1/* $NetBSD: rump_private.h,v 1.37 2009/12/01 09:50:51 pooka Exp $ */ 1/* $NetBSD: rump_private.h,v 1.38 2009/12/02 08:31:56 uebayasi 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
15 * documentation and/or other materials provided with the distribution. 15 * documentation and/or other materials provided with the distribution.
16 * 16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
18 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE. 27 * SUCH DAMAGE.
28 */ 28 */
29 29
30#ifndef _SYS_RUMP_PRIVATE_H_ 30#ifndef _SYS_RUMP_PRIVATE_H_
31#define _SYS_RUMP_PRIVATE_H_ 31#define _SYS_RUMP_PRIVATE_H_
32 32
33#include <sys/param.h> 33#include <sys/param.h>
34#include <sys/cpu.h> 34#include <sys/cpu.h>
35#include <sys/lwp.h> 35#include <sys/lwp.h>
36#include <sys/proc.h> 36#include <sys/proc.h>
37#include <sys/systm.h> 37#include <sys/systm.h>
38#include <sys/types.h> 38#include <sys/types.h>
39 39
40#include <uvm/uvm.h> 40#include <uvm/uvm.h>
41#include <uvm/uvm_object.h> 41#include <uvm/uvm_object.h>
42#include <uvm/uvm_page.h> 42#include <uvm/uvm_page.h>
43 43
44#include <rump/rump.h> 44#include <rump/rump.h>
45#include <rump/rumpuser.h> 45#include <rump/rumpuser.h>
46 46
47#include "rumpkern_if_priv.h" 47#include "rumpkern_if_priv.h"
48 48
49extern kauth_cred_t rump_cred; 49extern kauth_cred_t rump_cred;
50extern struct vmspace rump_vmspace; 50extern struct vmspace rump_vmspace;
51 51
52extern struct rumpuser_mtx *rump_giantlock; 52extern struct rumpuser_mtx *rump_giantlock;
53 53
54#define UIO_VMSPACE_SYS (&rump_vmspace) 54#define UIO_VMSPACE_SYS (&rump_vmspace)
55 55
56#define RUMP_LMUTEX_MAGIC ((kmutex_t *)0x101) 56#define RUMP_LMUTEX_MAGIC ((kmutex_t *)0x101)
57#define RUMP_VFSROOTDEV ((struct device *)-11) 57#define RUMP_VFSROOTDEV ((struct device *)-11)
58 58
59extern int rump_threads; 59extern int rump_threads;
60 60
61extern struct sysent rump_sysent[]; 61extern struct sysent rump_sysent[];
62 62
63void rumpvm_init(void); 63void rumpvm_init(void);
64void rump_sleepers_init(void); 64void rump_sleepers_init(void);
65struct vm_page *rumpvm_makepage(struct uvm_object *, voff_t); 65struct vm_page *rumpvm_makepage(struct uvm_object *, voff_t);
66 66
67void rumpvm_enterva(vaddr_t addr, struct vm_page *); 67void rumpvm_enterva(vaddr_t addr, struct vm_page *);
68void rumpvm_flushva(struct uvm_object *); 68void rumpvm_flushva(struct uvm_object *);
69 69
70void rump_gettime(struct timespec *); 70void rump_gettime(struct timespec *);
71void rump_getuptime(struct timespec *); 71void rump_getuptime(struct timespec *);
72 72
73void rump_lwp_free(struct lwp *); 73void rump_lwp_free(struct lwp *);
74lwpid_t rump_nextlid(void); 74lwpid_t rump_nextlid(void);
75void rump_set_vmspace(struct vmspace *); 75void rump_set_vmspace(struct vmspace *);
76 76
77typedef void (*rump_proc_vfs_init_fn)(struct proc *); 77typedef void (*rump_proc_vfs_init_fn)(struct proc *);
78typedef void (*rump_proc_vfs_release_fn)(struct proc *); 78typedef void (*rump_proc_vfs_release_fn)(struct proc *);
79rump_proc_vfs_init_fn rump_proc_vfs_init; 79extern rump_proc_vfs_init_fn rump_proc_vfs_init;
80rump_proc_vfs_release_fn rump_proc_vfs_release; 80extern rump_proc_vfs_release_fn rump_proc_vfs_release;
81 81
82extern struct cpu_info *rump_cpu; 82extern struct cpu_info *rump_cpu;
83 83
84extern rump_sysproxy_t rump_sysproxy; 84extern rump_sysproxy_t rump_sysproxy;
85extern void *rump_sysproxy_arg; 85extern void *rump_sysproxy_arg;
86 86
87int rump_sysproxy_copyout(const void *, void *, size_t); 87int rump_sysproxy_copyout(const void *, void *, size_t);
88int rump_sysproxy_copyin(const void *, void *, size_t); 88int rump_sysproxy_copyin(const void *, void *, size_t);
89 89
90void rump_scheduler_init(void); 90void rump_scheduler_init(void);
91void rump_schedule(void); 91void rump_schedule(void);
92void rump_unschedule(void); 92void rump_unschedule(void);
93void rump_schedule_cpu(struct lwp *); 93void rump_schedule_cpu(struct lwp *);
94void rump_unschedule_cpu(struct lwp *); 94void rump_unschedule_cpu(struct lwp *);
95void rump_unschedule_cpu1(struct lwp *); 95void rump_unschedule_cpu1(struct lwp *);
96 96
97void rump_user_schedule(int); 97void rump_user_schedule(int);
98void rump_user_unschedule(int, int *); 98void rump_user_unschedule(int, int *);
99 99
100void rump_cpu_bootstrap(struct cpu_info *); 100void rump_cpu_bootstrap(struct cpu_info *);
101 101
102bool kernel_biglocked(void); 102bool kernel_biglocked(void);
103void kernel_unlock_allbutone(int *); 103void kernel_unlock_allbutone(int *);
104void kernel_ununlock_allbutone(int); 104void kernel_ununlock_allbutone(int);
105 105
106void rump_intr_init(void); 106void rump_intr_init(void);
107void rump_softint_run(struct cpu_info *); 107void rump_softint_run(struct cpu_info *);
108 108
109#endif /* _SYS_RUMP_PRIVATE_H_ */ 109#endif /* _SYS_RUMP_PRIVATE_H_ */