コード例 #1
0
ファイル: time.c プロジェクト: mato/solo5
/* return wall time in nsecs */
solo5_time_t solo5_clock_wall(void)
{
    if (use_pvclock)
        return pvclock_monotonic() + pvclock_epochoffset();
    else
        return tscclock_monotonic() + tscclock_epochoffset();
}
コード例 #2
0
ファイル: muen-net.c プロジェクト: djwillia/solo5
void generate_mac_addr(uint8_t *addr)
{
    const char *subject_name = muen_get_subject_name();
    uint64_t data;
    int i;

    data  = (muen_get_sched_start() << 32) | muen_get_sched_end();
    data ^= tscclock_epochoffset();

    for (i = 0; i < 6; i++)
    {
        addr[i]  = subject_name[i];
        addr[i] ^= (uint8_t)(data >> (i * 8));
    }

    /* clear multicast and set local assignment bit */
    addr[0] &= 0xfe;
    addr[0] |= 0x02;
}