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
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.
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
{
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 */