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

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

?? pci2.c

?? eCos操作系統(tǒng)源碼
?? C
字號:
//==========================================================================////        pci2.c////        Test PCI library's resource allocation.////==========================================================================//####ECOSGPLCOPYRIGHTBEGIN####// -------------------------------------------// This file is part of eCos, the Embedded Configurable Operating System.// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.//// eCos is free software; you can redistribute it and/or modify it under// the terms of the GNU General Public License as published by the Free// Software Foundation; either version 2 or (at your option) any later version.//// eCos is distributed in the hope that it will be useful, but WITHOUT ANY// WARRANTY; without even the implied warranty of MERCHANTABILITY or// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License// for more details.//// You should have received a copy of the GNU General Public License along// with eCos; if not, write to the Free Software Foundation, Inc.,// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.//// As a special exception, if other files instantiate templates or use macros// or inline functions from this file, or you compile this file and link it// with other works to produce a work based on this file, this file does not// by itself cause the resulting work to be covered by the GNU General Public// License. However the source code for this file must still be made available// in accordance with section (3) of the GNU General Public License.//// This exception does not invalidate any other reasons why a work based on// this file might be covered by the GNU General Public License.//// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.// at http://sources.redhat.com/ecos/ecos-license/// -------------------------------------------//####ECOSGPLCOPYRIGHTEND####//==========================================================================//#####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 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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久一牛影视| 日本v片在线高清不卡在线观看| 在线欧美一区二区| 极品少妇一区二区三区精品视频 | 成人免费视频一区二区| 婷婷综合另类小说色区| 国产精品久久久久天堂| 日韩精品一区国产麻豆| 色一情一乱一乱一91av| 国产综合色视频| 三级在线观看一区二区| 亚洲人123区| 国产农村妇女毛片精品久久麻豆| 欧美一区二区在线免费观看| 色婷婷综合久久久| 成人深夜在线观看| 国产精品影视在线| 久久99精品久久久久| 午夜精品福利在线| 亚洲综合区在线| 亚洲色大成网站www久久九九| 国产夜色精品一区二区av| 欧美成人在线直播| 日韩午夜激情电影| 4438成人网| 欧美日韩夫妻久久| 欧美人牲a欧美精品| 欧洲视频一区二区| 91久久国产综合久久| 色综合天天综合狠狠| 成人动漫av在线| 成人精品一区二区三区中文字幕| 国产精品一区二区果冻传媒| 韩国一区二区三区| 国产在线精品一区二区不卡了| 蜜臀av一级做a爰片久久| 日韩精品亚洲专区| 老司机精品视频在线| 精品在线播放免费| 国内精品伊人久久久久av一坑| 久久国产精品99久久人人澡| 免费久久精品视频| 精品一区二区三区在线播放| 久久99精品国产.久久久久久| 免费成人av资源网| 精品综合免费视频观看| 国产一区二区福利视频| 国产麻豆成人传媒免费观看| 国产乱码精品一区二区三区av| 国产乱码精品一区二区三| 国产宾馆实践打屁股91| 99久久国产免费看| 欧美日韩综合一区| 日韩一区二区三区四区五区六区| 日韩精品资源二区在线| 欧美激情资源网| 亚洲精品国产视频| 日韩精品成人一区二区在线| 开心九九激情九九欧美日韩精美视频电影 | 精品国产一区二区精华| 久久久精品2019中文字幕之3| 国产精品视频九色porn| 亚洲黄色免费网站| 男人操女人的视频在线观看欧美| 久久国产精品免费| 成人av网站大全| 欧美久久久影院| 久久久精品免费网站| 亚洲精品第一国产综合野| 丝袜美腿亚洲一区二区图片| 九一久久久久久| 99视频一区二区| 88在线观看91蜜桃国自产| 久久亚洲二区三区| 伊人婷婷欧美激情| 精品一区二区三区的国产在线播放| 国产激情视频一区二区在线观看| 色先锋资源久久综合| 精品国产乱码久久久久久1区2区| 国产精品视频一二三区 | 成人一级视频在线观看| 欧美日韩一区小说| 国产天堂亚洲国产碰碰| 亚洲国产wwwccc36天堂| 国产91清纯白嫩初高中在线观看 | 成人综合婷婷国产精品久久| 欧美在线免费观看亚洲| 久久久久久免费网| 午夜av电影一区| 不卡av免费在线观看| 日韩一区二区三区三四区视频在线观看| 国产无人区一区二区三区| 午夜天堂影视香蕉久久| 成人自拍视频在线| 91精品国产综合久久福利软件| 中文字幕一区二区不卡 | 日本韩国一区二区三区视频| 日韩欧美视频在线| 一区二区激情视频| 粉嫩av一区二区三区| 欧美一区二区三区免费视频| 亚洲综合一区二区| 成人激情小说乱人伦| 精品乱码亚洲一区二区不卡| 亚洲国产精品视频| 91视频精品在这里| 欧美经典一区二区| 美美哒免费高清在线观看视频一区二区 | 日韩欧美成人一区二区| 亚洲福利视频三区| 一本久久精品一区二区| 国产欧美一区二区精品秋霞影院| 日本中文在线一区| 欧美天堂一区二区三区| 18欧美亚洲精品| 国产99精品在线观看| 精品播放一区二区| 免费在线观看一区二区三区| 在线成人免费观看| 亚洲国产一区二区视频| 色综合久久天天| 亚洲精品一二三| 成人精品视频.| 亚洲国产激情av| 国产99精品国产| 久久久久国产精品人| 国产美女久久久久| 国产夜色精品一区二区av| 国产麻豆成人精品| 国产网红主播福利一区二区| 国产乱人伦偷精品视频免下载| 精品国产三级电影在线观看| 久久精品国产亚洲高清剧情介绍| 欧美一区二区大片| 久久精品国产免费| 精品国产91久久久久久久妲己| 裸体歌舞表演一区二区| 欧美mv日韩mv| 韩国三级中文字幕hd久久精品| 欧美草草影院在线视频| 国产又黄又大久久| 国产免费观看久久| 成人午夜视频福利| 国产精品久久久久久久第一福利| 成人动漫中文字幕| 一卡二卡三卡日韩欧美| 欧美日韩精品高清| 美日韩黄色大片| 久久免费看少妇高潮| 丁香网亚洲国际| 亚洲女人小视频在线观看| 欧美亚洲国产怡红院影院| 丝袜亚洲精品中文字幕一区| 精品日韩在线一区| 福利一区二区在线| 亚洲乱码日产精品bd| 欧美日本韩国一区二区三区视频| 人妖欧美一区二区| 国产欧美日韩三区| 91麻豆精东视频| 日韩国产欧美视频| 精品福利二区三区| 91在线观看免费视频| 日韩不卡手机在线v区| 亚洲精品在线免费播放| av电影天堂一区二区在线观看| 亚洲欧美日韩小说| 日韩欧美一区二区视频| www.欧美亚洲| 天天色综合成人网| 国产婷婷精品av在线| 在线观看av一区二区| 激情综合一区二区三区| **欧美大码日韩| 日韩午夜三级在线| 91论坛在线播放| 久久66热re国产| 一区二区三区鲁丝不卡| 精品国一区二区三区| 91免费小视频| 狠狠色丁香婷婷综合| 有码一区二区三区| 久久综合久久综合九色| 色综合久久88色综合天天免费| 久久精品国产亚洲一区二区三区| 亚洲人成网站精品片在线观看| 日韩精品在线看片z| 色爱区综合激月婷婷| 国产精品综合久久| 男女性色大片免费观看一区二区 | 国产精品国产三级国产专播品爱网| 欧美日韩视频在线一区二区| 国产成人高清视频| 视频在线在亚洲| 亚洲精品国产一区二区精华液 | 日韩三级视频在线看| av在线一区二区三区| 国产一区二区伦理片| 偷拍亚洲欧洲综合| 亚洲一区在线观看网站|