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

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

?? pci2.c

?? Intel XScale PXA255 引導Linux的Redboot 版bootloader源代碼!
?? 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一区二区三区免费野_久草精品视频
亚洲精选免费视频| 亚洲色图.com| 欧美久久婷婷综合色| 在线视频国内一区二区| av在线一区二区三区| 成人av影院在线| 91亚洲资源网| 欧美日韩一本到| 538在线一区二区精品国产| 91精品国产一区二区三区蜜臀| 欧美日本国产视频| 欧美精品一区男女天堂| 国产丝袜美腿一区二区三区| 久久美女高清视频| ...av二区三区久久精品| 亚洲五码中文字幕| 久久精品国产亚洲aⅴ| 粉嫩13p一区二区三区| 日本伦理一区二区| 欧美精品一卡两卡| 欧美激情综合在线| 亚洲一二三四区| 国产一区啦啦啦在线观看| a级高清视频欧美日韩| 欧美日韩aaaaa| 国产目拍亚洲精品99久久精品| 中文字幕在线观看不卡| 日韩在线一二三区| 大桥未久av一区二区三区中文| 在线免费视频一区二区| 26uuu另类欧美| 一区二区三区中文免费| 日本亚洲天堂网| 色婷婷av久久久久久久| 久久综合九色综合欧美98| 国产精品久久久久精k8| 日韩在线卡一卡二| 97久久超碰国产精品| 精品福利av导航| 亚洲国产精品久久人人爱蜜臀| 国产综合一区二区| 在线播放91灌醉迷j高跟美女| 国产欧美久久久精品影院| 免费高清在线一区| 欧美艳星brazzers| 国产精品成人一区二区三区夜夜夜 | 91免费精品国自产拍在线不卡| 欧美日韩极品在线观看一区| 国产精品久久久一区麻豆最新章节| 日本欧美韩国一区三区| 一本色道久久综合亚洲aⅴ蜜桃 | www.欧美亚洲| 日韩亚洲欧美在线| 亚洲成人自拍网| 色综合天天综合网国产成人综合天| 91精品视频网| 亚洲成在人线在线播放| 日本精品视频一区二区三区| 国产欧美一区二区三区沐欲 | www.成人网.com| 久久久久久免费网| 美日韩一区二区三区| 欧美美女直播网站| 亚洲高清不卡在线| 欧美色视频在线观看| 亚洲免费观看高清完整版在线观看 | 久久av中文字幕片| 日韩三级高清在线| 麻豆精品一区二区三区| 在线不卡免费av| 蜜桃精品视频在线| 精品免费日韩av| 久久综合综合久久综合| 久久综合色鬼综合色| 国产综合成人久久大片91| 26uuu色噜噜精品一区| 国产成人在线网站| 国产精品久久二区二区| 色综合一区二区| 亚洲一二三专区| 欧美一区二区三区啪啪| 美国一区二区三区在线播放| 精品对白一区国产伦| 国产99久久久国产精品潘金| 亚洲欧美在线观看| 欧洲生活片亚洲生活在线观看| 亚洲一卡二卡三卡四卡五卡| 欧美日韩国产小视频| 精品午夜久久福利影院| 欧美国产综合一区二区| 91亚洲精品久久久蜜桃| 亚洲国产日韩在线一区模特| 日韩欧美自拍偷拍| 波多野结衣中文字幕一区 | 高清不卡一二三区| 中文字幕一区三区| 欧美日韩黄色一区二区| 精品一区二区三区蜜桃| 国产精品美女久久久久久久网站| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品网站在线观看| 欧美精品久久一区二区三区| 精品影视av免费| 一色桃子久久精品亚洲| 91精品国产综合久久精品| 国产老妇另类xxxxx| 亚洲人成人一区二区在线观看| 欧美肥胖老妇做爰| 高清久久久久久| 日韩中文字幕一区二区三区| 国产丝袜在线精品| 欧美精品一二三| 成人午夜精品在线| 视频一区欧美日韩| 中文字幕一区免费在线观看| 7777精品伊人久久久大香线蕉的| 国产精品99久久久久久久vr| 一级女性全黄久久生活片免费| 国产亚洲综合性久久久影院| 91精品国产入口| 91麻豆精品在线观看| 国产一区二区免费在线| 日本vs亚洲vs韩国一区三区| 成人欧美一区二区三区1314| 精品少妇一区二区| 欧美日本在线视频| 91成人国产精品| av在线不卡电影| 国产剧情一区二区三区| 日韩成人dvd| 亚洲一级不卡视频| 一区二区三区精品视频| 欧美国产综合一区二区| 久久夜色精品一区| 日韩欧美激情一区| 在线成人免费视频| 欧美视频一区二区三区在线观看| www.亚洲色图| 成人短视频下载| 成人精品视频.| 国产成人午夜精品影院观看视频| 蜜臀精品久久久久久蜜臀| 天天综合日日夜夜精品| 亚洲第一成年网| 亚洲二区在线观看| 午夜精品久久久久久久99水蜜桃| 亚洲激情五月婷婷| 一区二区三区四区精品在线视频 | 国产精品第五页| 国产精品久线观看视频| 国产日韩精品一区二区三区在线| 欧美一区二区在线观看| 日韩欧美综合一区| 久久综合色之久久综合| 国产亚洲短视频| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美电影免费观看高清完整版在线观看| 欧美曰成人黄网| 欧美人伦禁忌dvd放荡欲情| 777亚洲妇女| 精品久久一区二区三区| 欧美国产在线观看| 亚洲激情男女视频| 免费成人美女在线观看| 久久精品国产99| 丁香婷婷综合色啪| 91老师国产黑色丝袜在线| 欧美日韩综合在线免费观看| 91精品欧美久久久久久动漫| 久久色在线视频| 国产精品初高中害羞小美女文| 一区二区三区欧美日| 日韩国产高清在线| 国产高清精品网站| 色拍拍在线精品视频8848| 欧美精品久久99| 久久精品一区蜜桃臀影院| 一区二区在线观看视频在线观看| 亚洲国产你懂的| 国产乱子轮精品视频| 91丨porny丨首页| 日韩一区二区中文字幕| 国产精品视频一二三| 偷拍亚洲欧洲综合| av在线播放一区二区三区| 欧美人xxxx| 中文字幕一区二区三区不卡在线| 亚洲风情在线资源站| 国产成人av电影在线播放| 欧美精品三级日韩久久| 国产精品久久久久久久岛一牛影视 | 91欧美激情一区二区三区成人| 欧美嫩在线观看| 国产精品国产三级国产三级人妇 | 欧美国产日本视频| 日韩av中文字幕一区二区 | 91麻豆精品国产91久久久| 欧美激情在线看| 久久不见久久见免费视频1| 欧洲一区二区av|