亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rtl8139.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* Loads values of tally counters from VM state file */static void RTL8139TallyCounters_load(QEMUFile* f, RTL8139TallyCounters *tally_counters){    qemu_get_be64s(f, &tally_counters->TxOk);    qemu_get_be64s(f, &tally_counters->RxOk);    qemu_get_be64s(f, &tally_counters->TxERR);    qemu_get_be32s(f, &tally_counters->RxERR);    qemu_get_be16s(f, &tally_counters->MissPkt);    qemu_get_be16s(f, &tally_counters->FAE);    qemu_get_be32s(f, &tally_counters->Tx1Col);    qemu_get_be32s(f, &tally_counters->TxMCol);    qemu_get_be64s(f, &tally_counters->RxOkPhy);    qemu_get_be64s(f, &tally_counters->RxOkBrd);    qemu_get_be32s(f, &tally_counters->RxOkMul);    qemu_get_be16s(f, &tally_counters->TxAbt);    qemu_get_be16s(f, &tally_counters->TxUndrn);}/* Saves values of tally counters to VM state file */static void RTL8139TallyCounters_save(QEMUFile* f, RTL8139TallyCounters *tally_counters){    qemu_put_be64s(f, &tally_counters->TxOk);    qemu_put_be64s(f, &tally_counters->RxOk);    qemu_put_be64s(f, &tally_counters->TxERR);    qemu_put_be32s(f, &tally_counters->RxERR);    qemu_put_be16s(f, &tally_counters->MissPkt);    qemu_put_be16s(f, &tally_counters->FAE);    qemu_put_be32s(f, &tally_counters->Tx1Col);    qemu_put_be32s(f, &tally_counters->TxMCol);    qemu_put_be64s(f, &tally_counters->RxOkPhy);    qemu_put_be64s(f, &tally_counters->RxOkBrd);    qemu_put_be32s(f, &tally_counters->RxOkMul);    qemu_put_be16s(f, &tally_counters->TxAbt);    qemu_put_be16s(f, &tally_counters->TxUndrn);}static void rtl8139_ChipCmd_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: ChipCmd write val=0x%08x\n", val));    if (val & CmdReset)    {        DEBUG_PRINT(("RTL8139: ChipCmd reset\n"));        rtl8139_reset(s);    }    if (val & CmdRxEnb)    {        DEBUG_PRINT(("RTL8139: ChipCmd enable receiver\n"));        s->currCPlusRxDesc = 0;    }    if (val & CmdTxEnb)    {        DEBUG_PRINT(("RTL8139: ChipCmd enable transmitter\n"));        s->currCPlusTxDesc = 0;    }    /* mask unwriteable bits */    val = SET_MASKED(val, 0xe3, s->bChipCmdState);    /* Deassert reset pin before next read */    val &= ~CmdReset;    s->bChipCmdState = val;}static int rtl8139_RxBufferEmpty(RTL8139State *s){    int unread = MOD2(s->RxBufferSize + s->RxBufAddr - s->RxBufPtr, s->RxBufferSize);    if (unread != 0)    {        DEBUG_PRINT(("RTL8139: receiver buffer data available 0x%04x\n", unread));        return 0;    }    DEBUG_PRINT(("RTL8139: receiver buffer is empty\n"));    return 1;}static uint32_t rtl8139_ChipCmd_read(RTL8139State *s){    uint32_t ret = s->bChipCmdState;    if (rtl8139_RxBufferEmpty(s))        ret |= RxBufEmpty;    DEBUG_PRINT(("RTL8139: ChipCmd read val=0x%04x\n", ret));    return ret;}static void rtl8139_CpCmd_write(RTL8139State *s, uint32_t val){    val &= 0xffff;    DEBUG_PRINT(("RTL8139C+ command register write(w) val=0x%04x\n", val));    /* mask unwriteable bits */    val = SET_MASKED(val, 0xff84, s->CpCmd);    s->CpCmd = val;}static uint32_t rtl8139_CpCmd_read(RTL8139State *s){    uint32_t ret = s->CpCmd;    DEBUG_PRINT(("RTL8139C+ command register read(w) val=0x%04x\n", ret));    return ret;}static void rtl8139_IntrMitigate_write(RTL8139State *s, uint32_t val){    DEBUG_PRINT(("RTL8139C+ IntrMitigate register write(w) val=0x%04x\n", val));}static uint32_t rtl8139_IntrMitigate_read(RTL8139State *s){    uint32_t ret = 0;    DEBUG_PRINT(("RTL8139C+ IntrMitigate register read(w) val=0x%04x\n", ret));    return ret;}static int rtl8139_config_writeable(RTL8139State *s){    if (s->Cfg9346 & Cfg9346_Unlock)    {        return 1;    }    DEBUG_PRINT(("RTL8139: Configuration registers are write-protected\n"));    return 0;}static void rtl8139_BasicModeCtrl_write(RTL8139State *s, uint32_t val){    val &= 0xffff;    DEBUG_PRINT(("RTL8139: BasicModeCtrl register write(w) val=0x%04x\n", val));    /* mask unwriteable bits */    uint32_t mask = 0x4cff;    if (1 || !rtl8139_config_writeable(s))    {        /* Speed setting and autonegotiation enable bits are read-only */        mask |= 0x3000;        /* Duplex mode setting is read-only */        mask |= 0x0100;    }    val = SET_MASKED(val, mask, s->BasicModeCtrl);    s->BasicModeCtrl = val;}static uint32_t rtl8139_BasicModeCtrl_read(RTL8139State *s){    uint32_t ret = s->BasicModeCtrl;    DEBUG_PRINT(("RTL8139: BasicModeCtrl register read(w) val=0x%04x\n", ret));    return ret;}static void rtl8139_BasicModeStatus_write(RTL8139State *s, uint32_t val){    val &= 0xffff;    DEBUG_PRINT(("RTL8139: BasicModeStatus register write(w) val=0x%04x\n", val));    /* mask unwriteable bits */    val = SET_MASKED(val, 0xff3f, s->BasicModeStatus);    s->BasicModeStatus = val;}static uint32_t rtl8139_BasicModeStatus_read(RTL8139State *s){    uint32_t ret = s->BasicModeStatus;    DEBUG_PRINT(("RTL8139: BasicModeStatus register read(w) val=0x%04x\n", ret));    return ret;}static void rtl8139_Cfg9346_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Cfg9346 write val=0x%02x\n", val));    /* mask unwriteable bits */    val = SET_MASKED(val, 0x31, s->Cfg9346);    uint32_t opmode = val & 0xc0;    uint32_t eeprom_val = val & 0xf;    if (opmode == 0x80) {        /* eeprom access */        int eecs = (eeprom_val & 0x08)?1:0;        int eesk = (eeprom_val & 0x04)?1:0;        int eedi = (eeprom_val & 0x02)?1:0;        prom9346_set_wire(s, eecs, eesk, eedi);    } else if (opmode == 0x40) {        /* Reset.  */        val = 0;        rtl8139_reset(s);    }    s->Cfg9346 = val;}static uint32_t rtl8139_Cfg9346_read(RTL8139State *s){    uint32_t ret = s->Cfg9346;    uint32_t opmode = ret & 0xc0;    if (opmode == 0x80)    {        /* eeprom access */        int eedo = prom9346_get_wire(s);        if (eedo)        {            ret |=  0x01;        }        else        {            ret &= ~0x01;        }    }    DEBUG_PRINT(("RTL8139: Cfg9346 read val=0x%02x\n", ret));    return ret;}static void rtl8139_Config0_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Config0 write val=0x%02x\n", val));    if (!rtl8139_config_writeable(s))        return;    /* mask unwriteable bits */    val = SET_MASKED(val, 0xf8, s->Config0);    s->Config0 = val;}static uint32_t rtl8139_Config0_read(RTL8139State *s){    uint32_t ret = s->Config0;    DEBUG_PRINT(("RTL8139: Config0 read val=0x%02x\n", ret));    return ret;}static void rtl8139_Config1_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Config1 write val=0x%02x\n", val));    if (!rtl8139_config_writeable(s))        return;    /* mask unwriteable bits */    val = SET_MASKED(val, 0xC, s->Config1);    s->Config1 = val;}static uint32_t rtl8139_Config1_read(RTL8139State *s){    uint32_t ret = s->Config1;    DEBUG_PRINT(("RTL8139: Config1 read val=0x%02x\n", ret));    return ret;}static void rtl8139_Config3_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Config3 write val=0x%02x\n", val));    if (!rtl8139_config_writeable(s))        return;    /* mask unwriteable bits */    val = SET_MASKED(val, 0x8F, s->Config3);    s->Config3 = val;}static uint32_t rtl8139_Config3_read(RTL8139State *s){    uint32_t ret = s->Config3;    DEBUG_PRINT(("RTL8139: Config3 read val=0x%02x\n", ret));    return ret;}static void rtl8139_Config4_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Config4 write val=0x%02x\n", val));    if (!rtl8139_config_writeable(s))        return;    /* mask unwriteable bits */    val = SET_MASKED(val, 0x0a, s->Config4);    s->Config4 = val;}static uint32_t rtl8139_Config4_read(RTL8139State *s){    uint32_t ret = s->Config4;    DEBUG_PRINT(("RTL8139: Config4 read val=0x%02x\n", ret));    return ret;}static void rtl8139_Config5_write(RTL8139State *s, uint32_t val){    val &= 0xff;    DEBUG_PRINT(("RTL8139: Config5 write val=0x%02x\n", val));    /* mask unwriteable bits */    val = SET_MASKED(val, 0x80, s->Config5);    s->Config5 = val;}static uint32_t rtl8139_Config5_read(RTL8139State *s){    uint32_t ret = s->Config5;    DEBUG_PRINT(("RTL8139: Config5 read val=0x%02x\n", ret));    return ret;}static void rtl8139_TxConfig_write(RTL8139State *s, uint32_t val){    if (!rtl8139_transmitter_enabled(s))    {        DEBUG_PRINT(("RTL8139: transmitter disabled; no TxConfig write val=0x%08x\n", val));        return;    }    DEBUG_PRINT(("RTL8139: TxConfig write val=0x%08x\n", val));    val = SET_MASKED(val, TxVersionMask | 0x8070f80f, s->TxConfig);    s->TxConfig = val;}static void rtl8139_TxConfig_writeb(RTL8139State *s, uint32_t val){    DEBUG_PRINT(("RTL8139C TxConfig via write(b) val=0x%02x\n", val));    uint32_t tc = s->TxConfig;    tc &= 0xFFFFFF00;    tc |= (val & 0x000000FF);    rtl8139_TxConfig_write(s, tc);}static uint32_t rtl8139_TxConfig_read(RTL8139State *s){    uint32_t ret = s->TxConfig;    DEBUG_PRINT(("RTL8139: TxConfig read val=0x%04x\n", ret));    return ret;}static void rtl8139_RxConfig_write(RTL8139State *s, uint32_t val){    DEBUG_PRINT(("RTL8139: RxConfig write val=0x%08x\n", val));    /* mask unwriteable bits */    val = SET_MASKED(val, 0xf0fc0040, s->RxConfig);    s->RxConfig = val;    /* reset buffer size and read/write pointers */    rtl8139_reset_rxring(s, 8192 << ((s->RxConfig >> 11) & 0x3));    DEBUG_PRINT(("RTL8139: RxConfig write reset buffer size to %d\n", s->RxBufferSize));}static uint32_t rtl8139_RxConfig_read(RTL8139State *s){    uint32_t ret = s->RxConfig;    DEBUG_PRINT(("RTL8139: RxConfig read val=0x%08x\n", ret));    return ret;}static void rtl8139_transfer_frame(RTL8139State *s, const uint8_t *buf, int size, int do_interrupt){    if (!size)    {        DEBUG_PRINT(("RTL8139: +++ empty ethernet frame\n"));        return;    }    if (TxLoopBack == (s->TxConfig & TxLoopBack))    {        DEBUG_PRINT(("RTL8139: +++ transmit loopback mode\n"));        rtl8139_do_receive(s, buf, size, do_interrupt);    }    else    {        qemu_send_packet(s->vc, buf, size);    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品理论在线观看| 在线观看91av| 欧美韩日一区二区三区| 国产精品一线二线三线| 久久精品一区二区三区四区| 国产盗摄一区二区三区| 国产精品家庭影院| 91福利视频久久久久| 亚洲国产成人高清精品| 91精品国产品国语在线不卡| 理论电影国产精品| 中文字幕精品一区| 欧美亚洲自拍偷拍| 卡一卡二国产精品 | 欧美日韩一区视频| 日本不卡的三区四区五区| www国产精品av| 粉嫩久久99精品久久久久久夜| 中文字幕在线观看一区二区| 欧美网站一区二区| 国产美女av一区二区三区| 国产精品国产自产拍高清av| 欧美亚男人的天堂| 激情久久久久久久久久久久久久久久| 国产亚洲一区二区三区四区| 91一区在线观看| 日韩av一二三| 最新日韩av在线| 日韩视频免费观看高清完整版 | 日韩一区二区三区视频| 国产精品一区免费视频| 亚洲综合免费观看高清在线观看| 日韩一区国产二区欧美三区| 国产成人精品影视| 五月天激情小说综合| 欧美极品aⅴ影院| 欧美精品xxxxbbbb| 成人高清av在线| 蜜桃一区二区三区在线| 亚洲美女视频一区| 久久综合999| 777欧美精品| 91蝌蚪porny| 国产99精品国产| 蜜桃视频在线观看一区二区| 一区二区高清免费观看影视大全| 26uuu欧美日本| 6080亚洲精品一区二区| 色综合欧美在线视频区| 国产一区二区三区不卡在线观看| 亚洲va国产va欧美va观看| 国产精品人人做人人爽人人添| 日韩一级黄色片| 欧美精品第1页| 欧美日韩一区 二区 三区 久久精品| 成人深夜在线观看| 国产精品一二三四五| 全国精品久久少妇| 亚洲精品乱码久久久久| 国产精品亲子伦对白| 精品国产乱码久久| 日韩欧美二区三区| 欧美精品久久久久久久多人混战 | 韩国女主播成人在线观看| 亚洲一区二区在线观看视频| 国产精品蜜臀在线观看| 久久亚洲一级片| 欧美r级在线观看| 日韩一区二区三区免费观看| 制服丝袜亚洲播放| 91麻豆精品91久久久久同性| 欧美四级电影在线观看| 91成人免费在线视频| 色综合久久久久久久久久久| 9人人澡人人爽人人精品| 成人免费观看av| 不卡在线观看av| 99视频国产精品| 色呦呦国产精品| 在线观看一区二区视频| 在线精品视频一区二区| 欧美精品色一区二区三区| 欧美一区在线视频| 日韩精品一区二区三区视频播放 | 粉嫩绯色av一区二区在线观看 | www.亚洲国产| 91亚洲精华国产精华精华液| aaa亚洲精品| 欧美日韩一级视频| 欧美一区二区三区思思人| 欧美一级免费观看| 久久日一线二线三线suv| 久久婷婷成人综合色| 中文字幕中文字幕一区| 一区二区国产视频| 日韩**一区毛片| 国内精品伊人久久久久av影院 | 一区二区三区欧美| 婷婷久久综合九色国产成人| 蜜桃传媒麻豆第一区在线观看| 精品制服美女久久| av亚洲精华国产精华精华| 欧洲亚洲精品在线| 91精品国模一区二区三区| 欧美刺激脚交jootjob| 国产欧美日韩精品a在线观看| 亚洲天堂2014| 日韩av网站免费在线| 成人在线视频首页| 欧美精品九九99久久| 欧美国产一区二区在线观看| 亚洲一区二区在线免费观看视频| 裸体健美xxxx欧美裸体表演| 成人晚上爱看视频| 91精品欧美综合在线观看最新 | 欧美成人激情免费网| 亚洲欧洲av一区二区三区久久| 亚洲成人动漫av| 国产一区二区福利视频| 日本精品一区二区三区高清| 日韩欧美的一区| 一区二区久久久久| 国产不卡在线播放| 91精品国产综合久久福利| 中文字幕永久在线不卡| 毛片av一区二区| 99re成人精品视频| 26uuu精品一区二区在线观看| 一区二区在线免费观看| 国产精品一区在线观看你懂的| 欧美日韩大陆一区二区| 国产精品美女久久久久久2018| 石原莉奈在线亚洲二区| 91丨九色丨尤物| 精品国产一二三| 丝袜美腿亚洲色图| 99久久精品一区二区| 26uuu亚洲综合色| 免费观看在线综合| 欧美亚洲日本国产| 中文字幕一区二区三区在线不卡| 精品一区二区三区视频在线观看| 欧美亚洲综合色| 亚洲日穴在线视频| 成人激情av网| 久久综合九色综合欧美就去吻| 日本欧美加勒比视频| 欧美视频在线一区| 一区二区在线观看视频| 成人在线视频首页| 国产人成亚洲第一网站在线播放 | 成人中文字幕在线| 久久久影视传媒| 国产一区二区视频在线| 日韩一区二区三区免费观看| 亚洲国产精品欧美一二99| 91成人免费在线| 一个色在线综合| 91久久精品一区二区三区| 国产精品传媒入口麻豆| 懂色av中文一区二区三区| 国产视频视频一区| 国产精品一区二区黑丝| 久久精品免视看| 成人一区二区在线观看| 久久精品人人做| 风间由美一区二区三区在线观看| 国产女人18毛片水真多成人如厕| 国产丶欧美丶日本不卡视频| 国产亚洲va综合人人澡精品| 国产盗摄视频一区二区三区| 国产无人区一区二区三区| 精品一区二区三区在线观看国产| 日韩免费视频线观看| 狠狠色狠狠色综合日日91app| 久久久蜜桃精品| av在线一区二区三区| 亚洲精品中文在线观看| 欧美日韩三级一区二区| 日韩精品成人一区二区在线| 日韩一区二区精品| 国产主播一区二区| 亚洲欧洲精品天堂一级| 色综合久久久网| 日产国产欧美视频一区精品| 日韩三区在线观看| 国产激情一区二区三区桃花岛亚洲| 久久久精品一品道一区| 成人av在线播放网站| 亚洲一卡二卡三卡四卡五卡| 4438x亚洲最大成人网| 国产一区三区三区| 国产精品高清亚洲| 欧美日韩一卡二卡三卡| 国内精品久久久久影院一蜜桃| 国产精品免费观看视频| 欧美色男人天堂| 国产在线国偷精品免费看| 1000精品久久久久久久久| 91精品视频网|