1 |
dpavlin |
4 |
/* |
2 |
|
|
* Cisco Router Simulation platform. |
3 |
|
|
* Copyright (c) 2005,2006 Christophe Fillot (cf@utc.fr) |
4 |
|
|
*/ |
5 |
|
|
|
6 |
|
|
#ifndef __DEV_GT_H__ |
7 |
|
|
#define __DEV_GT_H__ |
8 |
|
|
|
9 |
|
|
#include <sys/types.h> |
10 |
|
|
#include "utils.h" |
11 |
|
|
#include "mips64.h" |
12 |
|
|
#include "cpu.h" |
13 |
|
|
#include "device.h" |
14 |
|
|
#include "net_io.h" |
15 |
|
|
#include "vm.h" |
16 |
|
|
|
17 |
|
|
/* Forward declaration for Galilo controller private data */ |
18 |
|
|
struct gt_data; |
19 |
|
|
|
20 |
|
|
/* Create a new GT64010 controller */ |
21 |
|
|
int dev_gt64010_init(vm_instance_t *vm,char *name, |
22 |
|
|
m_uint64_t paddr,m_uint32_t len,u_int irq); |
23 |
|
|
|
24 |
|
|
/* Create a new GT64120 controller */ |
25 |
|
|
int dev_gt64120_init(vm_instance_t *vm,char *name, |
26 |
|
|
m_uint64_t paddr,m_uint32_t len,u_int irq); |
27 |
|
|
|
28 |
|
|
/* Create a new GT96100 controller */ |
29 |
|
|
int dev_gt96100_init(vm_instance_t *vm,char *name, |
30 |
|
|
m_uint64_t paddr,m_uint32_t len, |
31 |
dpavlin |
11 |
u_int int0_irq,u_int int1_irq, |
32 |
|
|
u_int serint0_irq,u_int serint1_irq); |
33 |
dpavlin |
4 |
|
34 |
dpavlin |
11 |
/* Set NIO for a MPSC channel */ |
35 |
|
|
int dev_gt96100_mpsc_set_nio(struct gt_data *d,u_int chan_id, |
36 |
|
|
netio_desc_t *nio); |
37 |
dpavlin |
4 |
|
38 |
dpavlin |
11 |
/* Unset NIO for a MPSC channel */ |
39 |
|
|
int dev_gt96100_mpsc_unset_nio(struct gt_data *d,u_int chan_id); |
40 |
dpavlin |
4 |
|
41 |
dpavlin |
11 |
/* Set a VTTY for a MPSC channel */ |
42 |
|
|
int dev_gt96100_mpsc_set_vtty(struct gt_data *d,u_int chan_id,vtty_t *vtty); |
43 |
|
|
|
44 |
|
|
/* Unset a VTTY for a MPSC channel */ |
45 |
|
|
int dev_gt96100_mpsc_unset_vtty(struct gt_data *d,u_int chan_id); |
46 |
|
|
|
47 |
|
|
/* Bind a NIO to GT96100 Ethernet device */ |
48 |
|
|
int dev_gt96100_eth_set_nio(struct gt_data *d,u_int port_id,netio_desc_t *nio); |
49 |
|
|
|
50 |
|
|
/* Unbind a NIO from a GT96100 Ethernet device */ |
51 |
|
|
int dev_gt96100_eth_unset_nio(struct gt_data *d,u_int port_id); |
52 |
|
|
|
53 |
|
|
/* Show debugging information */ |
54 |
|
|
int dev_gt96100_show_info(struct gt_data *d); |
55 |
|
|
|
56 |
dpavlin |
4 |
#endif |