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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pci2.c

?? 移植到WLIT項目的redboot源代碼
?? C
字號:
//==========================================================================////        pci2.c////        Test PCI library's resource allocation.////==========================================================================//####COPYRIGHTBEGIN####//                                                                          // -------------------------------------------                              // The contents of this file are subject to the Red Hat eCos Public License // Version 1.1 (the "License"); you may not use this file except in         // compliance with the License.  You may obtain a copy of the License at    // http://www.redhat.com/                                                   //                                                                          // Software distributed under the License is distributed on an "AS IS"      // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the // License for the specific language governing rights and limitations under // the License.                                                             //                                                                          // The Original Code is eCos - Embedded Configurable Operating System,      // released September 30, 1998.                                             //                                                                          // The Initial Developer of the Original Code is Red Hat.                   // Portions created by Red Hat are                                          // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             // All Rights Reserved.                                                     // -------------------------------------------                              //                                                                          //####COPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     jskov// Contributors:  jskov// Date:          1999-03-17// Description: Simple test that prints out information about found//              PCI devices. Entirely passive - no configuration happens.// //####DESCRIPTIONEND#####include <pkgconf/system.h>#include <cyg/infra/diag.h>             // diag_printf#include <cyg/infra/testcase.h>         // test macros#include <cyg/infra/cyg_ass.h>          // assertion macros// Package requirements#if defined(CYGPKG_IO_PCI) && defined(CYGPKG_KERNEL)#include <pkgconf/kernel.h>#include <pkgconf/io_pci.h>#include <cyg/io/pci.h>#include <cyg/hal/hal_arch.h>// Package option requirements#if defined(CYGFUN_KERNEL_API_C) && defined(CYG_PCI_PRESENT)#include <cyg/kernel/kapi.h>unsigned char stack[CYGNUM_HAL_STACK_SIZE_TYPICAL];cyg_thread thread_data;cyg_handle_t thread_handle;voidpci_test( void ){    cyg_pci_device dev_info;    CYG_PCI_ADDRESS64 mem_base;    CYG_PCI_ADDRESS64 mem_assigned_addr;    CYG_PCI_ADDRESS32 io_base;    CYG_PCI_ADDRESS32 io_assigned_addr;    // Verify that space type requests are checked.    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO;    CYG_TEST_CHECK(!cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                  &mem_assigned_addr),                   "cyg_pci_allocate_memory_priv accepted IO request");    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_MEM;    CYG_TEST_CHECK(!cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                              &io_assigned_addr),                   "cyg_pci_allocate_io_priv accepted MEM request");    // Check allocation and alignment of IO space    io_base = 0x0000;    // Size 4    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xfffffffc;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                             &io_assigned_addr),                   "cyg_pci_allocate_io_priv(4) failed");    CYG_TEST_CHECK(0x0004 == io_base,                    "cyg_pci_allocate_io_priv(4) size failed");    CYG_TEST_CHECK(0x0000 == io_assigned_addr,                   "cyg_pci_allocate_io_priv(4) align failed");    // Size 8 (alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xfffffff8;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                             &io_assigned_addr),                   "cyg_pci_allocate_io_priv(8) failed");    CYG_TEST_CHECK(0x0010 == io_base,                    "cyg_pci_allocate_io_priv(8) size failed");    CYG_TEST_CHECK(0x0008 == io_assigned_addr,                   "cyg_pci_allocate_io_priv(8) align failed");    // Size 16 (no alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xfffffff0;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                             &io_assigned_addr),                   "cyg_pci_allocate_io_priv(16) failed");    CYG_TEST_CHECK(0x0020 == io_base,                    "cyg_pci_allocate_io_priv(16) size failed");    CYG_TEST_CHECK(0x0010 == io_assigned_addr,                   "cyg_pci_allocate_io_priv(16) align failed");    // Size 64 (alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xffffffc0;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                            &io_assigned_addr),                   "cyg_pci_allocate_io_priv(64) failed");    CYG_TEST_CHECK(0x0080 == io_base,                   "cyg_pci_allocate_io_priv(64) size failed");    CYG_TEST_CHECK(0x0040 == io_assigned_addr,                   "cyg_pci_allocate_io_priv(64) align failed");    // Size 256 (alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xffffff00;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                            &io_assigned_addr),                   "cyg_pci_allocate_io_priv(256) failed");    CYG_TEST_CHECK(0x0200 == io_base,                    "cyg_pci_allocate_io_priv(256) size failed");    CYG_TEST_CHECK(0x0100 == io_assigned_addr,                   "cyg_pci_allocate_io_priv(256) align failed");    // Check IO space limit    io_base = 0x100000-0x80;    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xffffff00;    CYG_TEST_CHECK(!cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                             &io_assigned_addr),                   "cyg_pci_allocate_io_priv overflow");    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_IO | 0xffffff80;    CYG_TEST_CHECK(cyg_pci_allocate_io_priv(&dev_info, 0, &io_base,                                            &io_assigned_addr),                   "cyg_pci_allocate_io_priv overflow (on limit)");    // Check allocation and alignment of MEM space    mem_base = 0x00000000;    // Size 16 (no alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_MEM | 0xfffffff0;    CYG_TEST_CHECK(cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                 &mem_assigned_addr),                   "cyg_pci_allocate_memory_priv(16) failed");    CYG_TEST_CHECK(0x00000010 == mem_base,                    "cyg_pci_allocate_memory_priv(16) size failed");    CYG_TEST_CHECK(0x00000000 == mem_assigned_addr,                   "cyg_pci_allocate_memory_priv(16) align failed");    // Size 64 (alignment required - <1MB)    dev_info.base_size[0] = (CYG_PCI_CFG_BAR_SPACE_MEM                              | CYG_PRI_CFG_BAR_MEM_TYPE_1M                             | 0xffffffc0);    CYG_TEST_CHECK(cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                 &mem_assigned_addr),                   "cyg_pci_allocate_memory_priv(64/<1MB) failed");    CYG_TEST_CHECK(0x00000080 == mem_base,                    "cyg_pci_allocate_memory_priv(64/<1MB) size failed");    CYG_TEST_CHECK(0x00000040 == mem_assigned_addr,                   "cyg_pci_allocate_memory_priv(64/<1MB) align failed");    // Size 1MB (alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_MEM | 0xfff00000;    CYG_TEST_CHECK(cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                 &mem_assigned_addr),                   "cyg_pci_allocate_memory_priv(1MB) failed");    CYG_TEST_CHECK(0x00200000 == mem_base,                    "cyg_pci_allocate_memory_priv(1MB) size failed");    CYG_TEST_CHECK(0x00100000 == mem_assigned_addr,                   "cyg_pci_allocate_memory_priv(1MB) align failed");    // Size 16MB (alignment required)    dev_info.base_size[0] = CYG_PCI_CFG_BAR_SPACE_MEM | 0xff000000;    CYG_TEST_CHECK(cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                 &mem_assigned_addr),                   "cyg_pci_allocate_memory_priv(16MB) failed");    CYG_TEST_CHECK(0x02000000 == mem_base,                    "cyg_pci_allocate_memory_priv(16MB) size failed");    CYG_TEST_CHECK(0x01000000 == mem_assigned_addr,                   "cyg_pci_allocate_memory_priv(16MB) align failed");    // Size 32 (no alignment required - <1MB - FAILS!)    // Note: When more clever allocation has been made for the bottom    // 1MB of PCI memory space, this test needs to be made more elaborate.    dev_info.base_size[0] = (CYG_PCI_CFG_BAR_SPACE_MEM                              | CYG_PRI_CFG_BAR_MEM_TYPE_1M                             | 0xffffffe0);    CYG_TEST_CHECK(!cyg_pci_allocate_memory_priv(&dev_info, 0, &mem_base,                                                  &mem_assigned_addr),                 "cyg_pci_allocate_memory_priv(32/<1MB) unexpectedly worked!");        // TBD: Check 64bit MEM allocation.    CYG_TEST_PASS_FINISH("pci2 test OK");}voidcyg_start(void){    CYG_TEST_INIT();    cyg_thread_create(10,                   // Priority - just a number                      (cyg_thread_entry_t*)pci_test,         // entry                      0,                    //                       "pci_thread",     // Name                      &stack[0],            // Stack                      CYGNUM_HAL_STACK_SIZE_TYPICAL,           // Size                      &thread_handle,       // Handle                      &thread_data          // Thread data structure        );    cyg_thread_resume(thread_handle);    cyg_scheduler_start();}#else // CYGFUN_KERNEL_API_C && CYG_PCI_PRESENT#define N_A_MSG "Needs kernel C API & PCI platform support"#endif#else // CYGPKG_IO_PCI && CYGPKG_KERNEL#define N_A_MSG "Needs IO/PCI and Kernel"#endif#ifdef N_A_MSGvoidcyg_start( void ){    CYG_TEST_INIT();    CYG_TEST_NA( N_A_MSG);}#endif // N_A_MSG// EOF pci1.c

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av一区二区三区免费看| 亚洲一区影音先锋| 精品亚洲成a人在线观看| 精品成人一区二区| 91欧美一区二区| 日本不卡高清视频| 国产精品天干天干在线综合| 欧美日韩在线播放三区四区| 韩国毛片一区二区三区| 亚洲精品乱码久久久久久| 亚洲精品在线免费播放| 精品日韩av一区二区| 色老汉av一区二区三区| 国产精品91xxx| 日本91福利区| 国产在线视频一区二区| 国产麻豆成人传媒免费观看| 肉色丝袜一区二区| 亚洲一区二区三区小说| 亚洲va国产va欧美va观看| 国产精品毛片久久久久久| 18欧美乱大交hd1984| 亚洲国产精品国自产拍av| 日韩精品在线一区二区| 欧美日韩亚洲国产综合| 日韩三级视频在线观看| 制服丝袜一区二区三区| 欧美这里有精品| 色综合 综合色| 99麻豆久久久国产精品免费 | 成人h动漫精品一区二| 日韩 欧美一区二区三区| 一区二区久久久久久| 国产精品毛片大码女人| 亚洲一区在线观看网站| 国产福利一区二区三区视频在线| 免费成人小视频| eeuss鲁片一区二区三区在线观看| 色诱视频网站一区| 精品日韩av一区二区| 一区二区在线观看免费视频播放| 日韩精品国产欧美| 国产成人精品在线看| 欧美视频你懂的| 欧美日韩国产不卡| 日韩一区二区视频| 亚洲免费资源在线播放| 一区二区三区久久| 国产久卡久卡久卡久卡视频精品| 欧美少妇性性性| 亚洲欧美色图小说| 国产精品亚洲成人| 欧美日韩高清一区二区不卡| 中文文精品字幕一区二区| 免费精品视频最新在线| 色婷婷激情久久| 国产午夜亚洲精品羞羞网站| 日韩一区欧美一区| 国产一区二区网址| 欧美va亚洲va| 日韩成人午夜电影| 91在线视频免费观看| 91麻豆精东视频| 日本一区二区三级电影在线观看 | 国产在线国偷精品产拍免费yy| 一本色道久久综合狠狠躁的推荐| 亚洲精品在线电影| 免费在线看一区| 欧美一区永久视频免费观看| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品嫩草99a| 久久国产综合精品| 成人免费视频网站在线观看| 91色婷婷久久久久合中文| 国产欧美视频一区二区| 国产裸体歌舞团一区二区| 日韩欧美一区二区在线视频| 日韩精品亚洲一区二区三区免费| 欧美色网一区二区| 亚洲精品水蜜桃| 91精品91久久久中77777| 亚洲色图一区二区三区| 一区二区三区在线播放| 色婷婷精品大在线视频| 亚洲一区二区精品3399| 欧美日韩精品一区二区三区四区 | 91精品国产aⅴ一区二区| 亚洲一区二区精品视频| 6080日韩午夜伦伦午夜伦| 日本在线不卡视频| 2020国产精品自拍| 午夜久久电影网| 91免费观看国产| 亚洲妇女屁股眼交7| 成人开心网精品视频| 亚洲四区在线观看| 欧美日本一区二区三区四区| 奇米在线7777在线精品| 久久久久久99精品| 色婷婷狠狠综合| 麻豆极品一区二区三区| 欧美性生活影院| 美女国产一区二区| 国产精品麻豆视频| 欧美日韩情趣电影| 激情深爱一区二区| 亚洲婷婷在线视频| 91精品国产综合久久香蕉的特点| 国产精品乡下勾搭老头1| 亚洲欧美另类小说| 欧美电影免费观看高清完整版在线观看 | 亚洲成人av一区二区三区| 欧美精品一区二区三区在线播放| jvid福利写真一区二区三区| 亚洲国产精品久久人人爱蜜臀| 精品少妇一区二区三区日产乱码 | 免费看日韩a级影片| 国产精品美女www爽爽爽| 欧美二区乱c少妇| 首页综合国产亚洲丝袜| 日本一区二区三区在线不卡| 欧美日韩中字一区| av在线播放一区二区三区| 日韩福利电影在线观看| 日韩一区在线免费观看| 久久久久久电影| 日韩视频一区二区在线观看| 91美女在线观看| 国产一区二区毛片| 视频一区视频二区中文字幕| 中文字幕日韩欧美一区二区三区| 日韩欧美高清dvd碟片| 91九色最新地址| 成人黄色电影在线 | 欧美私人免费视频| a美女胸又www黄视频久久| 精品一区二区在线免费观看| 香蕉乱码成人久久天堂爱免费| 日本一区二区电影| 国产午夜亚洲精品不卡| 久久久久久日产精品| 日韩三级在线免费观看| 欧美一级专区免费大片| 欧美日韩精品是欧美日韩精品| 91久久精品一区二区三区| eeuss鲁片一区二区三区在线看| 国产精品一区在线观看乱码| 久久成人免费网| 看国产成人h片视频| 日日欢夜夜爽一区| 日韩国产欧美在线播放| 亚洲.国产.中文慕字在线| 午夜av一区二区| 亚洲午夜久久久久久久久电影网| 亚洲美女电影在线| 亚洲欧美一区二区三区久本道91| 亚洲欧美影音先锋| 亚洲欧美一区二区三区极速播放| 亚洲精品国产a| 亚洲一区二区三区四区五区黄| 亚洲一线二线三线视频| 一区二区高清视频在线观看| 亚洲第一搞黄网站| 免费国产亚洲视频| 国产乱对白刺激视频不卡| 不卡在线视频中文字幕| 色八戒一区二区三区| 欧美日韩日日骚| 精品久久久久久最新网址| 欧美国产在线观看| 亚洲卡通欧美制服中文| 三级久久三级久久| 国产自产视频一区二区三区| 成人在线视频一区| 日本韩国精品在线| 日韩一区二区三区免费看| 亚洲精品一区二区在线观看| 国产精品久久久久久久久动漫 | 久久精品一区二区三区不卡| 国产精品乱码人人做人人爱| 亚洲一区精品在线| 国产美女精品人人做人人爽| 99re这里只有精品首页| 51午夜精品国产| 中文成人综合网| 日韩av午夜在线观看| 成人激情午夜影院| 欧美日韩精品欧美日韩精品 | 亚洲在线观看免费视频| 国产在线精品国自产拍免费| 欧亚一区二区三区| 精品国产伦一区二区三区免费| 国产精品乱人伦| 蜜桃91丨九色丨蝌蚪91桃色| 99久久久久久| 日韩精品专区在线影院重磅| 亚洲欧美另类在线| 成人一级视频在线观看| 欧美欧美欧美欧美首页| 1区2区3区欧美|