Changeset 1016 for branches/reconfiguration/modules/dspin_router/caba/test/simple_segment_recovery_test/main.c
- Timestamp:
- Sep 14, 2015, 9:42:16 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/reconfiguration/modules/dspin_router/caba/test/simple_segment_recovery_test/main.c
r947 r1016 25 25 /* configure the routers around the blackhole (1, 1) to define a cycle-free 26 26 * contour */ 27 const int PATH_RECOVERY = 1;27 const int RECOVERY = 1; 28 28 uint32_t val; 29 29 30 30 printf("router(0, 2): configuring as NW\n"); 31 assert(xcu_get_register(0, 2, XICU_CFG_REG, 0) == BH_NONE); 32 val = (PATH_RECOVERY << 7) | (REQ_SOUTH << 4) | BH_NW; 31 val = (REQ_SOUTH << 5) | (RECOVERY << 4) | NW_OF_X; 33 32 xcu_set_register(0, 2, XICU_CFG_REG, 0, val); /* configure NW */ 34 33 35 34 printf("router(0, 1): configuring as W\n"); 36 assert(xcu_get_register(0, 1, XICU_CFG_REG, 0) == BH_NONE); 37 val = (PATH_RECOVERY << 7) | (REQ_LOCAL << 4) | BH_W; 35 val = (REQ_LOCAL << 5) | (RECOVERY << 4) | W_OF_X; 38 36 xcu_set_register(0, 1, XICU_CFG_REG, 0, val); /* configure W */ 39 37 40 38 printf("router(0, 0): configuring as SW\n"); 41 assert(xcu_get_register(0, 0, XICU_CFG_REG, 0) == BH_NONE); 42 val = (PATH_RECOVERY << 7) | (REQ_NORTH << 4) | BH_SW; 39 val = (REQ_NORTH << 5) | (RECOVERY << 4) | SW_OF_X; 43 40 xcu_set_register(0, 0, XICU_CFG_REG, 0, val); /* configure SW */ 44 41 45 42 printf("router(1, 2): configuring as N\n"); 46 assert(xcu_get_register(1, 2, XICU_CFG_REG, 0) == BH_NONE); 47 val = (PATH_RECOVERY << 7) | (REQ_WEST << 4) | BH_N; 43 val = (REQ_WEST << 5) | (RECOVERY << 4) | N_OF_X; 48 44 xcu_set_register(1, 2, XICU_CFG_REG, 0, val); /* configure N */ 49 45 50 46 printf("router(2, 2): configuring as NE\n"); 51 assert(xcu_get_register(2, 2, XICU_CFG_REG, 0) == BH_NONE); 52 val = (PATH_RECOVERY << 7) | (REQ_WEST << 4) | BH_NE; 47 val = (REQ_WEST << 5) | (RECOVERY << 4) | NE_OF_X; 53 48 xcu_set_register(2, 2, XICU_CFG_REG, 0, val); /* configure NE */ 54 49 55 50 printf("router(2, 1): configuring as E\n"); 56 assert(xcu_get_register(2, 1, XICU_CFG_REG, 0) == BH_NONE); 57 val = (PATH_RECOVERY << 7) | (REQ_SOUTH << 4) | BH_E; 51 val = (REQ_SOUTH << 5) | (RECOVERY << 4) | E_OF_X; 58 52 xcu_set_register(2, 1, XICU_CFG_REG, 0, val); /* configure E */ 59 53 60 54 printf("router(2, 0): configuring as SE\n"); 61 assert(xcu_get_register(2, 0, XICU_CFG_REG, 0) == BH_NONE); 62 val = (PATH_RECOVERY << 7) | (REQ_WEST << 4) | BH_SE; 55 val = (REQ_WEST << 5) | (RECOVERY << 4) | SE_OF_X; 63 56 xcu_set_register(2, 0, XICU_CFG_REG, 0, val); /* configure SE */ 64 57 65 58 printf("router(1, 0): configuring as S\n"); 66 assert(xcu_get_register(1, 0, XICU_CFG_REG, 0) == BH_NONE); 67 val = (PATH_RECOVERY << 7) | (REQ_WEST << 4) | BH_S; 59 val = (REQ_WEST << 5) | (RECOVERY << 4) | S_OF_X; 68 60 xcu_set_register(1, 0, XICU_CFG_REG, 0, val); /* configure S */ 69 61 70 assert((xcu_get_register(0, 2, XICU_CFG_REG, 0) & 0xF) == BH_NW);71 assert((xcu_get_register(0, 1, XICU_CFG_REG, 0) & 0xF) == BH_W);72 assert((xcu_get_register(0, 0, XICU_CFG_REG, 0) & 0xF) == BH_SW);73 assert((xcu_get_register(1, 2, XICU_CFG_REG, 0) & 0xF) == BH_N);74 assert((xcu_get_register(2, 2, XICU_CFG_REG, 0) & 0xF) == BH_NE);75 assert((xcu_get_register(2, 1, XICU_CFG_REG, 0) & 0xF) == BH_E);76 assert((xcu_get_register(2, 0, XICU_CFG_REG, 0) & 0xF) == BH_SE);77 assert((xcu_get_register(1, 0, XICU_CFG_REG, 0) & 0xF) == BH_S);62 assert((xcu_get_register(0, 2, XICU_CFG_REG, 0) & 0xF) == NW_OF_X); 63 assert((xcu_get_register(0, 1, XICU_CFG_REG, 0) & 0xF) == W_OF_X); 64 assert((xcu_get_register(0, 0, XICU_CFG_REG, 0) & 0xF) == SW_OF_X); 65 assert((xcu_get_register(1, 2, XICU_CFG_REG, 0) & 0xF) == N_OF_X); 66 assert((xcu_get_register(2, 2, XICU_CFG_REG, 0) & 0xF) == NE_OF_X); 67 assert((xcu_get_register(2, 1, XICU_CFG_REG, 0) & 0xF) == E_OF_X); 68 assert((xcu_get_register(2, 0, XICU_CFG_REG, 0) & 0xF) == SE_OF_X); 69 assert((xcu_get_register(1, 0, XICU_CFG_REG, 0) & 0xF) == S_OF_X); 78 70 79 71 /* Test the recovered segment that has been migrated to the EAST cluster */
Note: See TracChangeset
for help on using the changeset viewer.