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

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

?? pci2.c

?? eCos1.31版
?? 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一区二区三区免费野_久草精品视频
国产精品色噜噜| 亚洲综合精品自拍| 日韩美女视频在线| 欧美日韩一卡二卡| 91免费视频网| 91极品美女在线| 欧美在线观看视频一区二区三区| 99re热这里只有精品视频| 成人黄色综合网站| 色综合咪咪久久| 99精品久久免费看蜜臀剧情介绍| 成人网男人的天堂| 色婷婷av久久久久久久| 欧美色电影在线| 欧美一级片在线观看| 日韩亚洲欧美中文三级| 欧美电影免费观看完整版| 久久一留热品黄| 欧美—级在线免费片| 亚洲精品欧美专区| 午夜视频在线观看一区二区| 日韩不卡一区二区| 国产伦精品一区二区三区在线观看| 国产一区在线观看麻豆| 99久久免费视频.com| 在线看一区二区| 欧美一卡2卡3卡4卡| 久久久蜜桃精品| 亚洲男人的天堂av| 亚洲成人av一区| 韩国精品主播一区二区在线观看 | 久久久综合精品| 中文字幕欧美一区| 亚洲午夜精品在线| 国产在线不卡视频| 99视频精品全部免费在线| 欧美婷婷六月丁香综合色| 精品国产免费久久 | 色妹子一区二区| 欧美一区二区三区小说| 欧美经典一区二区三区| 亚洲福利一区二区三区| 国产精品一卡二| 欧美在线观看视频一区二区三区 | 国产三级欧美三级| 一区二区成人在线视频| 日韩激情视频网站| proumb性欧美在线观看| 91精品久久久久久久99蜜桃 | 自拍偷拍亚洲综合| 免费一区二区视频| 91国偷自产一区二区使用方法| 欧美精品一区二区在线观看| 一区二区欧美在线观看| 粉嫩av一区二区三区| 欧美精品视频www在线观看| 国产日韩av一区二区| 免费在线看成人av| 欧美在线三级电影| 1024亚洲合集| 国产91综合网| 日韩你懂的电影在线观看| 亚洲一区在线电影| 91美女视频网站| 国产精品久久久久久久久晋中| 久久99精品国产麻豆婷婷| 欧美日韩一区在线观看| 亚洲精品中文字幕乱码三区 | 成人性生交大片免费看中文 | 国产91精品免费| 久久久久成人黄色影片| 精品一二三四区| 精品欧美久久久| 奇米综合一区二区三区精品视频 | 777午夜精品免费视频| 一区二区在线观看不卡| 99久久伊人网影院| 国产精品久久久久7777按摩| 懂色中文一区二区在线播放| 久久久噜噜噜久久人人看| 国产在线麻豆精品观看| 欧美xxxx老人做受| 国产在线观看一区二区| 精品国产不卡一区二区三区| 麻豆一区二区99久久久久| 日韩午夜在线观看| 精品一区二区三区不卡| 久久久蜜臀国产一区二区| 国产高清在线精品| 国产农村妇女毛片精品久久麻豆 | 色欧美日韩亚洲| 一区二区三区在线观看视频| 97se狠狠狠综合亚洲狠狠| 亚洲乱码中文字幕| 欧美在线高清视频| 婷婷成人综合网| 337p粉嫩大胆噜噜噜噜噜91av| 狠狠色综合日日| 欧美国产成人在线| 色视频一区二区| 欧美aaa在线| 国产丝袜欧美中文另类| 成人免费视频视频| 亚洲观看高清完整版在线观看| 欧美日韩国产精选| 国产美女在线观看一区| 亚洲欧洲日韩女同| 制服.丝袜.亚洲.中文.综合| 国产一区欧美一区| 亚洲免费观看高清完整版在线| 欧美裸体bbwbbwbbw| 国产一区二区三区四| 国产精品久久久久影院色老大| 欧美伊人久久久久久午夜久久久久| 午夜欧美一区二区三区在线播放| 日韩亚洲欧美中文三级| yourporn久久国产精品| 亚洲不卡一区二区三区| 国产亚洲美州欧州综合国| 91麻豆精东视频| 久久国产精品免费| 国产欧美日韩亚州综合| 在线观看一区二区视频| 国产精品一区不卡| 午夜精品爽啪视频| 国产精品每日更新| 91精品国产全国免费观看| av成人动漫在线观看| 人人狠狠综合久久亚洲| 亚洲精品成人悠悠色影视| 精品国产乱码久久久久久牛牛 | 一区二区三区在线高清| 精品三级av在线| 欧美日韩国产不卡| 91麻豆精品一区二区三区| 国产一区二区三区久久久| 天天做天天摸天天爽国产一区| 中文字幕一区二区三区在线观看| 日韩欧美中文字幕公布| 欧美日韩综合色| 91免费观看在线| 成人激情免费视频| 国产91精品露脸国语对白| 久久国产精品区| 美女脱光内衣内裤视频久久网站 | 8v天堂国产在线一区二区| 一本大道av伊人久久综合| 粉嫩aⅴ一区二区三区四区| 国内国产精品久久| 国产综合久久久久久久久久久久| 丝袜美腿成人在线| 亚洲香蕉伊在人在线观| 亚洲精选视频在线| 亚洲激情在线播放| 亚洲欧洲另类国产综合| 日韩理论片在线| 中文字幕日韩一区| 亚洲日本一区二区| 国产精品国产三级国产普通话蜜臀| 久久免费电影网| 久久久久久免费网| 久久综合精品国产一区二区三区| 在线综合亚洲欧美在线视频| 69p69国产精品| 在线播放视频一区| 欧美日本韩国一区二区三区视频| 日本高清不卡在线观看| 欧洲一区二区三区在线| 欧美自拍丝袜亚洲| 717成人午夜免费福利电影| 91麻豆精品国产自产在线观看一区| 欧美狂野另类xxxxoooo| 这里只有精品电影| 日韩欧美综合在线| 久久久久国产免费免费| 中文一区二区在线观看| 亚洲视频你懂的| 亚洲成人福利片| 精品一区二区久久| 99国产欧美另类久久久精品| 色丁香久综合在线久综合在线观看| 91极品视觉盛宴| 精品国产区一区| 综合欧美一区二区三区| 天天色图综合网| 国产在线播放一区| 在线中文字幕一区二区| 日韩欧美亚洲一区二区| 国产精品伦理在线| 香蕉久久一区二区不卡无毒影院| 久久av资源站| jizz一区二区| 欧美精品在线一区二区| 久久久久久一级片| 一区二区三区色| 国产一区二区在线电影| 91官网在线免费观看| 久久久久久久久伊人| 亚洲午夜国产一区99re久久| 国产激情91久久精品导航|