/[guss]/guss/guss/i386/i386-mop.c
ViewVC logotype

Diff of /guss/guss/i386/i386-mop.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by jrydberg, Sun Sep 7 15:40:06 2003 UTC revision 1.4 by jrydberg, Sun Sep 14 19:12:35 2003 UTC
# Line 314  movsi_t1_desc_limit (void) Line 314  movsi_t1_desc_limit (void)
314    T1 = us->limit;    T1 = us->limit;
315  }  }
316    
317    void OPPROTO
318    invlpg_a0 (void)
319    {
320      mtcache_flush_addr (&mtcache_data_read, A0);
321      mtcache_flush_addr (&mtcache_data_write, A0);
322    }
323    
324  /* Write program counter value back to register file.  */  /* Write program counter value back to register file.  */
325    
326  void OPPROTO  void OPPROTO
# Line 1296  static UWI XCONCAT2(compute_all_add, nam Line 1303  static UWI XCONCAT2(compute_all_add, nam
1303    cc |= ((mode) CC_DST == 0) << 6;                                      \    cc |= ((mode) CC_DST == 0) << 6;                                      \
1304    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1305    cc |= lshift ((src1 ^ src2 ^ -1) & (src1 ^ CC_DST), 12 - bits) & CC_O;\    cc |= lshift ((src1 ^ src2 ^ -1) & (src1 ^ CC_DST), 12 - bits) & CC_O;\
1306    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1307  }                                                                       \  }                                                                       \
1308  static UWI XCONCAT2(compute_c_add, name) (void)                         \  static UWI XCONCAT2(compute_c_add, name) (void)                         \
1309  {                                                                       \  {                                                                       \
# Line 1313  static UWI XCONCAT2(compute_all_adc, nam Line 1320  static UWI XCONCAT2(compute_all_adc, nam
1320    cc |= ((U##mode) CC_DST == 0) << 6;                                   \    cc |= ((U##mode) CC_DST == 0) << 6;                                   \
1321    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1322    cc |= lshift ((src1 ^ src2 ^ -1) & (src1 ^ CC_DST), 12 - bits) & CC_O;\    cc |= lshift ((src1 ^ src2 ^ -1) & (src1 ^ CC_DST), 12 - bits) & CC_O;\
1323    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1324  }                                                                       \  }                                                                       \
1325  static UWI XCONCAT2(compute_c_adc, name) (void)                         \  static UWI XCONCAT2(compute_c_adc, name) (void)                         \
1326  {                                                                       \  {                                                                       \
# Line 1330  static UWI XCONCAT2(compute_all_sub, nam Line 1337  static UWI XCONCAT2(compute_all_sub, nam
1337    cc |= ((U##mode) CC_DST == 0) << 6;                                   \    cc |= ((U##mode) CC_DST == 0) << 6;                                   \
1338    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1339    cc |= lshift ((src1 ^ src2) & (src1 ^ CC_DST), 12 - bits) & CC_O;     \    cc |= lshift ((src1 ^ src2) & (src1 ^ CC_DST), 12 - bits) & CC_O;     \
1340    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1341  }                                                                       \  }                                                                       \
1342  static UWI XCONCAT2(compute_c_sub, name) (void)                         \  static UWI XCONCAT2(compute_c_sub, name) (void)                         \
1343  {                                                                       \  {                                                                       \
# Line 1347  static UWI XCONCAT2(compute_all_sbb, nam Line 1354  static UWI XCONCAT2(compute_all_sbb, nam
1354    cc |= ((U##mode) CC_DST == 0) << 6;                                   \    cc |= ((U##mode) CC_DST == 0) << 6;                                   \
1355    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1356    cc |= lshift ((src1 ^ src2) & (src1 ^ CC_DST), 12 - bits) & CC_O;     \    cc |= lshift ((src1 ^ src2) & (src1 ^ CC_DST), 12 - bits) & CC_O;     \
1357    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1358  }                                                                       \  }                                                                       \
1359  static UWI XCONCAT2(compute_c_sbb, name) (void)                         \  static UWI XCONCAT2(compute_c_sbb, name) (void)                         \
1360  {                                                                       \  {                                                                       \
# Line 1360  static UWI XCONCAT2 (compute_all_log, na Line 1367  static UWI XCONCAT2 (compute_all_log, na
1367    cc |= paritytable[(UQI)CC_DST];                                       \    cc |= paritytable[(UQI)CC_DST];                                       \
1368    cc |= ((U##mode) CC_DST == 0) << 6;                                   \    cc |= ((U##mode) CC_DST == 0) << 6;                                   \
1369    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1370    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1371  }                                                                       \  }                                                                       \
1372  static UWI XCONCAT2(compute_c_log, name) (void)                         \  static UWI XCONCAT2(compute_c_log, name) (void)                         \
1373  {                                                                       \  {                                                                       \
# Line 1376  static UWI XCONCAT2(compute_all_shl, nam Line 1383  static UWI XCONCAT2(compute_all_shl, nam
1383    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1384    /* of is defined if shift count == 1 */                               \    /* of is defined if shift count == 1 */                               \
1385    cc |= lshift (CC_SRC ^ CC_DST, 12 - bits) & CC_O;                     \    cc |= lshift (CC_SRC ^ CC_DST, 12 - bits) & CC_O;                     \
1386    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1387  }                                                                       \  }                                                                       \
1388  static UWI XCONCAT2(compute_c_shl, name) (void)                         \  static UWI XCONCAT2(compute_c_shl, name) (void)                         \
1389  {                                                                       \  {                                                                       \
# Line 1392  static UWI XCONCAT2(compute_all_sar, nam Line 1399  static UWI XCONCAT2(compute_all_sar, nam
1399    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1400    /* of is defined if shift count == 1 */                               \    /* of is defined if shift count == 1 */                               \
1401    cc |= lshift (CC_SRC ^ CC_DST, 12 - bits) & CC_O;                     \    cc |= lshift (CC_SRC ^ CC_DST, 12 - bits) & CC_O;                     \
1402    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1403  }                                                                       \  }                                                                       \
1404  static UWI XCONCAT2(compute_all_inc, name) (void)                       \  static UWI XCONCAT2(compute_all_inc, name) (void)                       \
1405  {                                                                       \  {                                                                       \
# Line 1404  static UWI XCONCAT2(compute_all_inc, nam Line 1411  static UWI XCONCAT2(compute_all_inc, nam
1411    cc |= ((U##mode) CC_DST == 0) << 6;                                   \    cc |= ((U##mode) CC_DST == 0) << 6;                                   \
1412    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \    cc |= lshift (CC_DST, 8 - bits) & 0x80;                               \
1413    cc |= ((CC_DST & mask) == (1 << (bits - 1))) << 11;                   \    cc |= ((CC_DST & mask) == (1 << (bits - 1))) << 11;                   \
1414    return cc;                                                            \    return (cc & EFL_CC);                                                 \
1415  }                                                                       \  }                                                                       \
1416  static UWI XCONCAT2(compute_c_inc, name) (void)                         \  static UWI XCONCAT2(compute_c_inc, name) (void)                         \
1417  {                                                                       \  {                                                                       \
# Line 2003  cpuid (void) Line 2010  cpuid (void)
2010    i386_cpuid (current_cpu);    i386_cpuid (current_cpu);
2011  }  }
2012    
2013    void OPPROTO
2014    rdts (void)
2015    {
2016      i386_rdts (current_cpu);
2017    }
2018    
2019  /* Input/output related micro-ops */  /* Input/output related micro-ops */
2020    
2021  /* Port number in t0, value in t1.  */  /* Port number in t0, value in t1.  */

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26