RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / mips / include / asm / vpe.h
blobe5e403370c3dbc07f78d55efdcb49451bb5db703
1 /*
2 * Copyright (C) 2005 MIPS Technologies, Inc. All rights reserved.
4 * This program is free software; you can distribute it and/or modify it
5 * under the terms of the GNU General Public License (Version 2) as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 * for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
19 #ifndef _ASM_VPE_H
20 #define _ASM_VPE_H
22 struct vpe_notifications {
23 void (*start)(int vpe);
24 void (*stop)(int vpe);
26 struct list_head list;
29 extern unsigned long physical_memsize;
30 extern int vpe_notify(int index, struct vpe_notifications *notify);
31 extern void save_gp_address(unsigned int secbase, unsigned int rel);
34 * libc style I/O support hooks
37 extern void *vpe_get_shared(int index);
38 extern int vpe_getuid(int index);
39 extern int vpe_getgid(int index);
40 extern char *vpe_getcwd(int index);
43 * Kernel/Kernel message passing support hooks
46 extern void *vpe_get_shared_area(int index, int type);
48 /* "Well-Known" Area Types */
50 #define VPE_SHARED_NULL 0
51 #define VPE_SHARED_RESERVED -1
53 struct vpe_shared_area {
54 int type;
55 void *addr;
59 * IRQ assignment and initialization hook for RP services.
62 int arch_get_xcpu_irq(void);
64 int vpe_send_interrupt(int v, int i);
65 #endif /* _ASM_VPE_H */